Travel Rule
The effective date of this field will be September 25, 2025. Failure to pass the relevant parameters before September 25, 2025 may cause the Transfer transaction to fail.
When you initiate an On-Ramp transfer (Fiat → Stablecoin) with a value exceeding USD 3,000, you are required to provide additional Travel Rule information in the destination object.
Field | Description | Allowed values | Required |
---|---|---|---|
| ISO 3166-1 alpha-2 code of the beneficiary’s residential country | Yes | |
| State/Province/Region of the beneficiary’s residence | Yes | |
| City of the beneficiary’s residence | Yes | |
_ | Primary street address of the beneficiary_ | Yes | |
| Secondary address details (e.g., apartment, suite, unit) | No | |
| Postal/ZIP code of the beneficiary’s residence | Yes | |
| Type of beneficiary | individual, company | Yes |
| Date of birth of the beneficiary (YYYY-MM-DD) | No | |
| Type of identification document | when beneficiary_type: individual: ID_CARD, PASSPORT, DRIVERS, PAYMENT_SOURCE, BANK_CARD, OTHER when beneficiary_type: company : COMPANY_DOC, TRANSPARENCY_REGISTRY_EXTRACT, POWER_OF_ATTORNEY | No |
| Country code where the identification document was issued | No | |
| Identification document number | No | |
| Receiving wallet type | personalWallet, thirdPartyCustodian, other | Yes |
| Name of the wallet provider or institution (e.g., | Yes |
Case 1: Transfer to third-party recipients
when is_self_transfer = false
curl --location --request POST 'https://harbor-sandbox.owlpay.com/api/v1/transfer' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-API-KEY: {{API_KEY}}' \
--header 'Idempotency-Key: {{Idempotency-Key}}' \
--data-raw '{
...,
"destination": {
...,
"is_self_transfer": false,
"residential_country_code": "US",
"residential_state": "DE",
"residential_city": "Wilmington",
"residential_address_1": "100 Market Street",
"residential_address_2": "Suite 200",
"residential_postal_code": "62704",
"beneficiary_type": "individual",
"beneficiary_dob": "1990-01-01",
"beneficiary_id_doc_type": "PASSPORT",
"beneficiary_id_doc_country_code": "US",
"beneficiary_id_doc_number": "123456789",
"beneficiary_receiving_wallet_type": "personalWallet",
"beneficiary_institution_name": "MetaMask"
}
}'
Case 2: Transfer to self
when is_self_transfer = false
curl --location --request POST 'https://harbor-sandbox.owlpay.com/api/v1/transfer' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-API-KEY: {{API_KEY}}' \
--header 'Idempotency-Key: {{Idempotency-Key}}' \
--data-raw '{
...,
"destination": {
...,
"is_self_transfer": true,
"beneficiary_receiving_wallet_type": "personalWallet",
"beneficiary_institution_name": "MetaMask"
}
}'
Updated 10 days ago