> For the complete documentation index, see [llms.txt](https://altme-documentation.gitbook.io/altmes-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://altme-documentation.gitbook.io/altmes-documentation/others/flow-between-wallet-dapp-and-verifier/dapp-onboards-a-user-with-vcs.md).

# dApp onboards a user with VCs

There are 3 protocols that are used in these interactions:

* Wallet - dApp: it is the synchronization between a crypto wallet and a dApp. The wallet must confirm that it owns the private key associated with its address by signing a payload. We use Beacon.
* Wallet - Verifier: this is the protocol that makes it possible to produce a VP and then transfer it to the verifier from the wallet. We use verifiable presentation request.
* Verifier - Application : we use OpenID authorization code flow with PKCE.

<figure><img src="https://sandbox-doc.readthedocs.io/en/latest/_images/dapp_onboard_user.png" alt=""><figcaption></figcaption></figure>
