Travel Rule
Transfer V1 API will no longer be maintained and will be shut down on April 1, 2026.
All integrators must migrate to Transfer V2 API to continue processing transactions on OwlPay Harbor.
After 2026-04-01, all requests sent to any v1 Transfer endpoint will no longer be processed.
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 = true
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 25 days ago