Deposits
A deposit to one of your customers starts in one of two ways, and each has its own page. Either its Travel Rule data arrives first and you deal with it before the funds land, or the funds land first with no data to explain them.
An incoming transfer, usually before the funds: Travel Rule data first.
The address, and the name or compliance checks you turned on: Travel Rule data first.
As for any transfer: Travel Rule data first.
Each step, with its calls:
A deposit no transfer explains: Funds first.
Retry within your window: Looking for the transfer of a deposit.
Ask the sending institution, or record the sender your customer declares: Funds first.
Each step, with its calls:
Travel Rule data first
The sending institution creates a transfer to your customer’s address, and once its own policies have approved it, your webhook endpoint receives transfer.created.v3 with direction set to Incoming. At that point the funds have usually not been sent yet.
Notabene confirms the deposit address by itself when you registered it, and asks you otherwise. The sender’s personal data only arrives after that, and if you match names or run your own compliance check, you report the result. Your policies then approve the transfer or flag it for your team, and once the sender sends the funds and records the hash, you credit your customer.
Deposits, Travel Rule data first takes you through each step.
Funds first
Your wallet sees a deposit to one of your customers’ addresses, and no transfer you know of explains it. Look for its transfer first, and if none turns up, create the transfer yourself: ask the sending institution for its data, or record the sender your customer declares. Once your policies approve it and every institution has authorized it, you credit your customer.
Deposits, funds first takes you through each step.
Looking for the transfer of a deposit
When the funds land first, do not expect GET /api/v1/transfers/match to find a transfer right away. Travel Rule data can still arrive after the funds, and a sending institution records the transaction hash only once it sees its withdrawal complete on chain. Until then, the lookup comes back empty.
Call the lookup as soon as the deposit arrives, and retry it with a back-off while nothing is found. Stop after a retry window you define rather than retrying indefinitely. If nothing has matched by then, treat the deposit as having arrived without Travel Rule data, and ask your customer where the funds came from.
For assets that use a destination tag or a memo, such as XRPL or Stellar, add memo_tag to the lookup.
Updated about 6 hours ago
