Skip to content

Latest commit

 

History

History
177 lines (143 loc) · 7.12 KB

File metadata and controls

177 lines (143 loc) · 7.12 KB

Travel Rule

The Travel Rule is a regulatory requirement that mandates Virtual Asset Service Providers (VASPs) to collect and transmit originator and beneficiary information for cryptocurrency transfers above a certain threshold. When a deposit or a withdrawal triggers this requirement, Uphold issues a request for information that must be fulfilled before the transfer can proceed.

There are two ways to retrieve the details of a travel rule request, depending on the context:

Get Travel Rule Details for a Transaction

curl https://api.uphold.com/v0/me/travel-rule/transactions/2c326b15-7106-48be-a326-06f19e69746b/request \
  -H "Authorization: Bearer <token>"

The above command returns the following JSON:

{
  "amount": "1500.00",
  "currency": "USDT",
  "formSchema": {
    "properties": {
      "beneficiaryAccountNumber": {
        "title": "Beneficiary account number",
        "type": "string"
      },
      "beneficiaryAddress": {
        "title": "Beneficiary address",
        "type": "string"
      },
      "beneficiaryCountry": {
        "title": "Beneficiary country",
        "type": "string"
      },
      "beneficiaryName": {
        "title": "Beneficiary name",
        "type": "string"
      }
    },
    "required": [
      "beneficiaryName",
      "beneficiaryAddress",
      "beneficiaryCountry",
      "beneficiaryAccountNumber"
    ],
    "type": "object"
  },
  "threshold": "1000.00"
}

Retrieves the details of the pending travel rule request associated with a deposit transaction, including the transaction amount, the applicable regulatory threshold, and the form schema describing the information that must be submitted.

Request

GET https://api.uphold.com/v0/me/travel-rule/transactions/:transactionId/request

Requires the transactions:read scope for Uphold Connect applications. Returns a 401 HTTP error if the token is missing or invalid, or a 403 HTTP error if the required scope is not present. Returns a 404 HTTP error if no pending travel rule request is associated with the given transaction.

Response

Returns an object with the following properties:

Property Description
amount The transaction amount that triggered the travel rule requirement.
currency The currency of the transaction.
formSchema A JSON Schema object describing the fields the user must provide via the Submit Travel Rule Information endpoint.
threshold The regulatory threshold above which the travel rule applies, in the same currency as amount.

Get Travel Rule Details

curl https://api.uphold.com/v0/me/travel-rule/requests/a4e5e6f7-1234-5678-abcd-ef0123456789 \
  -H "Authorization: Bearer <token>"

The above command returns the following JSON:

{
  "amount": "1500.00",
  "currency": "USDT",
  "formSchema": {
    "properties": {
      "beneficiaryAccountNumber": {
        "title": "Beneficiary account number",
        "type": "string"
      },
      "beneficiaryAddress": {
        "title": "Beneficiary address",
        "type": "string"
      },
      "beneficiaryCountry": {
        "title": "Beneficiary country",
        "type": "string"
      },
      "beneficiaryName": {
        "title": "Beneficiary name",
        "type": "string"
      }
    },
    "required": [
      "beneficiaryName",
      "beneficiaryAddress",
      "beneficiaryCountry",
      "beneficiaryAccountNumber"
    ],
    "type": "object"
  },
  "threshold": "1000.00"
}

Retrieves the details of a pending travel rule request for a withdrawal, using the requestForInformationId returned as part of the quote response.

Request

GET https://api.uphold.com/v0/me/travel-rule/requests/:requestForInformationId

Requires the transactions:read scope for Uphold Connect applications. Returns a 401 HTTP error if the token is missing or invalid, or a 403 HTTP error if the required scope is not present. The :requestForInformationId must be owned by the authenticated user. A 404 HTTP error is returned otherwise.

Response

Returns an object with the following properties:

Property Description
amount The transaction amount that triggered the travel rule requirement.
currency The currency of the transaction.
formSchema A JSON Schema object describing the fields the user must provide via the Submit Travel Rule Information endpoint.
threshold The regulatory threshold above which the travel rule applies, in the same currency as amount.

Submit Travel Rule Information

curl https://api.uphold.com/v0/me/travel-rule/requests/a4e5e6f7-1234-5678-abcd-ef0123456789 \
  -X POST \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{ "beneficiaryAccountNumber": "0x1234abcd", "beneficiaryAddress": "123 Main St", "beneficiaryCountry": "US", "beneficiaryName": "Jane Doe" }'

Submits the originator or beneficiary information required to fulfill a pending travel rule request. The fields in the request body must conform to the formSchema returned by the Get Travel Rule Details for a Transaction or Get Travel Rule Details endpoints. For withdrawals, this must be submitted before committing the quote.

Request

POST https://api.uphold.com/v0/me/travel-rule/requests/:requestForInformationId

Requires the transactions:withdraw scope for Uphold Connect applications. Returns a 401 HTTP error if the token is missing or invalid, or a 403 HTTP error if the required scope is not present. The :requestForInformationId must be owned by the authenticated user. A 404 HTTP error is returned otherwise.

The request body must be a valid JSON object whose properties satisfy the formSchema associated with the given requestForInformationId. A 400 HTTP error is returned if the request body is not a valid JSON object.

Response

Returns HTTP status code 204 with an empty body upon success.