declared-level Travel Rule verification for a crypto external account — collecting a self-declaration about the address up front, rather than during a withdrawal quote.
Prerequisites
- The user has completed onboarding and has the required capabilities enabled.
- The user already has a
cryptoexternal account — see Create external account.
Walkthrough
Set up the verification
Call Set up crypto external account verification withlevel: "declared".
201 response means a new verification was initiated. Its requestForInformation.proofOptions.selfDeclaration.schema describes exactly which fields to collect from the user.
Calling this endpoint again is safe: while the verification is
pending or failed, a new request for information is initiated (201). Once it’s completed, the same verification is returned unchanged (200) — it’s never redone or regressed.Submit the self-declaration
Present the fields fromproofOptions.selfDeclaration.schema to the user, then submit their answers with Update request for information.
When
isVASP is true, also include a vaspDid identifying the VASP that owns the address. If it can’t be resolved by the Travel Rule provider, the request returns 404 entity_not_found (details.entity: "vasp") — ask the user to double-check the VASP they selected.Confirm the verification
Call Get external account verification to confirm the verification iscompleted.
The address now carries a completed
declared verification, reflected in the account’s compact verifications array on Get external account.Testing
Verify the following:- Set up crypto external account verification returns
201with apendingverification and acrypto-address-travel-ruleRFI. - Update request for information with a valid self-declaration proof returns
200withstatus: "ok". - Get external account verification now returns
status: "completed". - Calling Set up crypto external account verification again returns
200with the same, unchanged verification.