Travel Rule Compliance
API parameters used for Travel Rule compliance
What is Travel Rule?
As part of our commitment to ensuring transparency of transactions, we will soon be introducing Travel Rule requirements, in line with Markets in Crypto-assets Regulation, Transfer of Funds Regulation and other relevant national legislation. The Travel Rule mandates that certain information about the sender and receiver of transactions be securely transmitted to ensure compliance with anti-money laundering (AML) and counter-terrorist financing (CTF) measures.
Specifically, the following data will be required:
For individuals:
First name, Last name
Country, Address, Zip code
For legal entities:
Company name
Country, Address, Zip code
Additionally, we will be requesting confirmation regarding whether the funds are sent to/from a hosted (custodial) or unhosted (non-custodial) wallet for the transactions exceeding 1,000 EUR (or its equivalent in other currencies). For hosted wallets, the name of the platform hosting the wallet will be requested, while for non-custodial ones, we will request confirmation via a declaration of wallet ownership.
How does it affect API transactions?
For those who rely on API request to initiate certain operations, new API query parameters will be introduced for coin withdrawals (payouts) and invoice refunds (sent to external wallets), i.e. any outbound crypto operations.
If you are ready to comply with Travel Rule and provide the information about the transactions on your account, these parameters would have to be included in the request. An example of API request for a Coin Withdrawal will look like this:
Let’s go through the parameters specific to Travel Rule:
travel_rule_compliant
– isfalse
if omitted. Set totrue
to turn on beneficiary data validations and comply with Travel Rule, and the following parameters have to be added:beneficiary
- required, object:type
- required, string enum – refers to beneficiary type, can belegal_person
ornatural_person
;name
- required, string (≤100 characters) – the registered name of the company for alegal_person
or the full name for anatural_person
.;address
- optional, object:country
- optional, string (≤2 characters) – the 2-letter ISO country code of the addresscity
- optional, string (≤35 characters) – the city of the address.line_1
- optional, string (≤70 characters) – first line of the address.line_2
- optional, string (≤70 characters) – second line of the address.post_code
- optional, string (≤16 characters) – postal code of the address.
If the withdrawal request was made correctly, you'll get a 201
response from our server:
If travel_rule_compliant
is set to true
in the request, but the required beneficiary data is not provided (i.e. the beneficiary
object is missing), you will get an error beneficiary_required
with http status 422
in response:
args.verification_url
contains a URL where the user can be redirected to provide the data by filling in the required Travel Rule fields. Once completed, the next request with the same parameters will be processed successfully (201
).
In addition to coin withdrawals, the travel_rule_compliant
parameter and beneficiary
object can be used with refund of invoices (if they are made to an external wallet address, not the merchant account). Such a request will look as follows:
Same as coin withdrawal, you'll receive 201
response if the request is successful. If the beneficiary data is not provided (i.e. the beneficiary
object is missing), you will get an error beneficiary_required
with http status 422
in response – please refer to the example above.
Last updated
Was this helpful?