When onramping to non-Crossmint wallets, the onramp may require the user to prove they own the recipient wallet by signing a message. This is a legal requirement under anti-money laundering (AML) and counter-terrorism financing (CTF) regulations, which mandate verification of the beneficiary wallet owner’s identity above certain transaction thresholds. This page explains when proof of ownership is required and how it works.Documentation Index
Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
Use this file to discover all available pages before exploring further.
When Is Proof of Ownership Required?
Proof of ownership is triggered based on transaction volume thresholds:| Condition | Verification Required? |
|---|---|
| Transaction below 1,000 EUR AND 30-day volume below 1,000 EUR | No |
| Transaction above 1,000 EUR OR 30-day volume above 1,000 EUR | Yes |
Proof of ownership only applies to non-Crossmint wallets. Crossmint-managed wallets do not require ownership verification.
How It Works
Link External Wallet
Before creating an onramp order to an external wallet, link the wallet to a Crossmint user using the Link External Wallet API:The API responds with a verification challenge following the CAIP-122 standard:
Create Order
Create the onramp order as usual. If verification is required, the order response will have status
requires-recipient-verification:Submit Signature
Submit the signature as proof of ownership using the same Link External Wallet API:Once verified, the response confirms ownership:
Complete Order
After ownership is verified, fetch the order using the Get Order API. The status will advance to:
requires-kyc— the user has not completed KYC yet.awaiting-payment— the user can proceed to payment.
Pre-Verifying Ownership
You can verify wallet ownership at the time of linking (before any order is created) by including theproof field in the initial Link External Wallet call. This avoids requiring verification during the checkout flow.
Related Resources
- Onramp to Non-Crossmint Wallets — full guide for non-Crossmint wallet onramp integration
- React Quickstart (External Wallets tab) — quickstart with external wallet support

