Requirements
- An API key
- A stable user identifier in your system (used as
userLocator) - A Crossmint wallet address for the recipient (or the ability to create one)
Step 1: Accept Crossmint’s Privacy Policy
Before sharing any user KYC data with Crossmint, you must ensure your users have accepted Crossmint’s Privacy Policy. This is a prerequisite for any company sharing their customers’ KYC data with Crossmint. Requirements for collecting consent Consent must be obtained following the guidelines below:- The user must have the ability to see the terms they must accept
- The user must grant consent with a checkbox, unchecked by default
- The user does not need to open the hyperlink to the privacy policy to view the terms
- The user needs to see Crossmint’s logo in the flow
- The specific text that you must present to your end user is: “I consent to my KYC data being processed by Crossmint in accordance with its Privacy Policy”
- The text can be localized but must link to the same privacy policy link provided above
- If the privacy policy is updated, you must ask the user to agree to the above terms again
This call also creates a user with the specified
userLocator if one does not already exist.Step 2: Create a User
Register the transfer recipient as a user in your Crossmint project and associate the user with a Crossmint wallet address. There are two ways to create a user:Choose a Method
- Use Method 1 if you create the wallet and user in one API call
- Use Method 2 if you register the user first and create the wallet later
Method 1: On Wallet Creation
Method 1: On Wallet Creation
Create a wallet for a user and associate it to a
userLocator by setting the owner property. This method creates in a
single API call both the wallet, and the user associated with it.The owner property accepts a userLocator. This associates the wallet with the user identifier in your system.- Using your own
- Using Crossmint auth
- If you have your own user IDs, set the wallet's "owner" property using the
userIdformat (userId:<userId>, e.g.,userId:johnd-123). - If you bring your own auth, Crossmint automatically extracts the user ID from your JWT and assigns it to the wallet's "owner" property.
- REST
- React
Method 2: Register User First, Create Wallet Later
Method 2: Register User First, Create Wallet Later
Register a user with Crossmint without creating a wallet yet. Later, when you create a wallet for that registered user,
you can link the wallet’s Step 1: Register the userStep 2: Create wallet and link to registered userWhen you are ready to create a wallet for the registered user, use the same
owner property to that user’s registered userLocator value. This will associate the wallet with the user identifier in your system.- Using your own
- Using Crossmint auth
- If you have your own user IDs, set the wallet's "owner" property using the
userIdformat (userId:<userId>, e.g.,userId:johnd-123). - If you bring your own auth, Crossmint automatically extracts the user ID from your JWT and assigns it to the wallet's "owner" property.
userLocator in the owner field:- REST
- React
Step 3: Register User Data
Use the Create User API to attachuserDetails to the user.
To see data requirements by activity and region, see Data Requirements.
For payouts, the only information needed is userDetails.

