1. Link External Wallet to Crossmint User
Before creating an onramp order to an external wallet, you must link the wallet to a Crossmint user, using the Link External Wallet API:proof field is optional:
- If you omit it, you are simply linking the external wallet to the user without proving ownership yet.
- If you pass it, you prove ownership of the wallet in the same request.
verificationChallenge follows the CAIP-122 standard.
2. Create Onramp Order
Create an onramp order using the Create Order API with the linked external wallet address as the recipient.- Below threshold: If the transaction value is below 1,000 euros and the user’s past 30-day onramp transaction volume is below 1,000 euros, ownership verification is not required. The order proceeds directly to the kyc/payment phase.
- Above threshold: If either threshold is surpassed, the order status will be
requires-recipient-verificationand the user must sign a message to prove wallet ownership.
3. Sign Message
If the order requires ownership verification, the user must sign thepreparation.message returned in the order response using their wallet’s private key.
4. Submit Signature
Use the same Link External Wallet API to submit the signature as proof of ownership. Pass the signature in theproof field:
5. Complete Order
Once the signature is submitted and verified, fetch the order using the Get Order API. The order status should now have proceeded to the next phase:requires-kyc: The user hasn’t completed KYC yet and will be guided through the KYC flow first.awaiting-payment: The user has completed KYC and can proceed to complete payment.

