wallet_trust: verified_only). Whoever verifies an address owns it: unverified copies of it on other accounts stop counting.
Flow
1
Start
POST /v1/platform-users/wallets/verify with the user, the chain and the address. If the address is not yet one of the user’s wallets, it is added.2
Show the payment
Show
amount, currency, receiver and expires_at, the payment_uri as a link for wallet apps, or the QR code from GET /v1/platform-users/wallets/verification/qr.3
Wait for the payment
Poll
GET /v1/platform-users/wallets/verification until status is verified. If the window passes without payment, the status turns expired and you receive the verification.expired webhook.Start a verification
POST /v1/platform-users/wallets/verify
string
required
Your id of the user. Alternatively pass csid_id.
string
required
The chain to verify on: solana, bnb, base, eth or rh.
string
required
The wallet. It must match the chain: a Solana address on solana, an EVM address on an EVM chain.
external_id.
Response
The verification object, returned by every endpoint on this page.string
The verification’s id.
string
pending, verified, expired or cancelled.string
Chain id, for example solana.
string
Chain name, for example Solana.
string
The wallet that must send the payment.
string
The exact amount to send, in the chain’s currency.
string
The same amount in base units (lamports, wei).
string
SOL, BNB or ETH.
integer
Decimals of the currency.
string
The address to send the payment to.
string
End of the payment window.
integer
Seconds until expires_at while pending, otherwise 0.
string
solana:<receiver>?amount=... or ethereum:<receiver>@<chain id>?value=..., for wallet apps and QR codes.integer
EVM chain id (56, 8453, 1 or 4663), null on Solana.
string
A ready-made sentence to show the user.
string
The payment transaction once seen, otherwise null.
string
Explorer link of the payment, or null.
string
When the verification was started.
string
Your id of the user.
Check the status
GET /v1/platform-users/wallets/verification?id=<verification_id>
Returns the verification object with external_id. Open verifications are also listed in the user’s pending_verifications.
QR code
GET /v1/platform-users/wallets/verification/qr?id=<verification_id>
Returns the payment_uri as a QR code, an SVG image (image/svg+xml), not the JSON envelope. Fetch it from your backend and pass it on to your page; your API key must not reach the browser.
Cancel
POST /v1/platform-users/wallets/verification/cancel
Cancels an open verification, for example when the user closes the dialog. Returns the verification object with status cancelled and external_id.
string
required
The verification_id.
Errors
See Errors for the full list.

