You can deliver NFTs to three kinds of recipients when using minting APIs:

  • Wallet address: directly specify a wallet address, which could be a user owned wallet (e.g. MetaMask, Phantom, etc.) or a wallet you manage.
  • Email address: in this modality, Crossmint automatically generates a secure MPC backed custodial wallet for the email, and delivers the NFT inside.
  • User identifier: in this modality, Crossmint automatically generates a wallet and associates it with an user ID from your application, and delivers the NFT inside. You must build the interface for users to access this wallet.

Check out the create-wallet endpoint in the API reference if you wish to pre-create a wallet prior to invoking the mint API.

Send NFT to Wallet Address

To mint an NFT directly to an existing blockchain address, the following recipient format is used:

<chain>:<address>
For a full list of chain names, refer to the Supported Chains page.

Examples

  • EVM: polygon:0x123...
  • Solana: solana:3Q5...
  • Aptos: aptos:0x0f07...

Send NFT to Email Address

To mint an NFT and send it to an email address, the following recipient format is used:

email:<email_address>:<chain>

Examples

  • EVM: email:demo@test.com:polygon
  • Solana: email:demo@test.com:solana
Minting to an email address is not currently supported on Aptos.

The NFT can then be accessed by logging into Crossmint with the specified email address:

Send NFT by userId

This method allows you to deliver NFTs by directly specifying the user identifier of the recipient in your system. Crossmint will fetch a custodial wallet linked to that user identifier inside your project or, if none exists, create one on the fly. Then the NFT will be delivered there. This way, you don’t need to keep a mapping between your user identifiers and their wallets, just pass your user id and crossmint takes care of the rest.

Enterprise feature. Contact us for access.

Wallets created with the userId option cannot be accessed by logging into Crossmint.com.

To mint an NFT to this type of recipient, follow this format:

userId:<userIdentifier>:<chain>

Examples

  • EVM: userId:user1234:polygon
  • Solana: userId:user1234:solana