Integration Guide
This guide walks you from issuing your first API Key to receiving your first signed confirmation callback.
1. Provision an API Key
API Keys are issued in the TRP dashboard. They are tied to a customer record (your VASP). Each key has:
isActive— toggled in the dashboard,expiredAt— optional expiry date.
2. Issue a JWT
Call POST /auth/token with your API Key. You receive an access token valid for 1 hour. Cache it; do not mint a new JWT on every call.
POST /auth/token
x-api-key: 9f31…b23. Onboard a beneficiary → generate a Travel Address
Whenever a user pastes a wallet address belonging to your customer, ask your beneficiary VASP for a Travel Address by calling POST /travel-address/generate.
The request schema is polymorphic — use the personType switcher in the right panel to toggle between natural person (физ. лицо) and legal entity (юр. лицо).
4. Initiate a transfer
Call POST /transfers/initiate with the originator + beneficiary applicants, the asset / amount, and either:
travelAddress— preferred OPEN_VASP flow, orbeneficiary.email— fallback EMAIL flow.
Always provide a callback URL. TRP will POST signed updates to it.
The originator and beneficiary objects are also polymorphic — each can independently be natural or legal.
5. Handle callbacks
See Callbacks. Verify x-data-integrity before processing.
6. Broadcast the on-chain transaction
After the on-chain broadcast, submit the txid:
POST /transfers/txId?q={transferPublicId}
Authorization: Bearer {jwt}