---
title: "Validate Travel Rule Transaction"
method: POST
path: "/screening/travel_rule/transaction/validate"
tags: ["Travel Rule"]
---

# Validate Travel Rule Transaction

`POST /screening/travel_rule/transaction/validate`

## Request

- Base URL: `https://api.fireblocks.io/v1`
- URL: `https://api.fireblocks.io/v1/screening/travel_rule/transaction/validate`
- Auth: none declared
- TypeScript: <https://skmtc.dev/fireblocks/apis/fireblocks-api/docs/screening/travel_rule/transaction/validate/post.ts> (a function with typed inputs; its response is checked against the schema)

Validate Travel Rule transactions.
Checks what beneficiary VASP details are required by your jurisdiction and the beneficiary's jurisdiction.
**Deprecation Notice** This endpoint will be deprecated soon in favor of the [validate full](https://developers.fireblocks.com/reference/validatefulltravelruletransaction) endpoint. Please update your integrations to use the  [validate full](https://developers.fireblocks.com/reference/validatefulltravelruletransaction) endpoint to ensure compatibility with future releases.
Checks what beneficiary VASP details are required by your jurisdiction and the beneficiary's jurisdiction.
Learn more about Fireblocks Travel Rule management in the following [guide](https://developers.fireblocks.com/docs/define-travel-rule-policies).

Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor, Viewer.

## Query parameters

- `notation` string[]

## Headers

- `Idempotency-Key` string

## Request body

- TravelRuleValidateTransactionRequest
  - `transactionAsset` string, required: Transaction asset symbol (BTC,ETH)
  - `destination` string, required: Transaction destination address
  - `transactionAmount` string, required: Transaction amount in the transaction asset
  - `transactionAssetDecimals` number: Number of decimals in the transaction asset. This is used to convert the transaction amount to the smallest unit of the asset
  - `originatorVASPdid` string, required: This is the identifier assigned to your VASP
  - `originatorEqualsBeneficiary` boolean, required: "True" if the originator and beneficiary is the same person and you therefore do not need to collect any information. "False" if it is a third-party transfer.
  - `travelRuleBehavior` boolean: This will also check if the transaction is a TRAVEL_RULE in the beneficiary VASP's jurisdiction
  - `beneficiaryVASPdid` string: This is the identifier assigned to the VASP the funds are being sent to
  - `beneficiaryVASPname` string: Beneficiary VASP name
  - `beneficiaryName` string: Beneficiary name
  - `beneficiaryAccountNumber` string: Beneficiary name
  - `beneficiaryAddress` TravelRuleAddress
    - `street` string: Street address
    - `city` string: City
    - `state` string: State or province
    - `postalCode` string: Postal or ZIP code

## Response `200`

Transaction validated successfully

- TravelRuleValidateTransactionResponse
  - `isValid` boolean, required: "isValid" will tell you if you have collected all the information needed for the travel rule data transfer. Once this field = "true", you can move on to the next step which is to transfer the front-end information to your back-end and perform Travel Rule Transaction create
  - `type` string, required: "type" will tell you if the virtual asset value converted to FIAT value of the withdrawal request is above (=TRAVELRULE) or below (=BELOW_THRESHOLD) the threshold in your jurisdiction. If it is to an unhosted wallet which does not require travel rule information to be sent and only collected, it will say NON_CUSTODIAL.
  - `beneficiaryAddressType` 'UNKNOWN' | 'HOSTED' | 'UNHOSTED', required: "beneficiaryAddressType" will tell you if your blockchain analytics provider or internal address book has been able to identify the wallet address.
  - `addressSource` 'UNKNOWN' | 'ADDRESS_HASH' | 'ADDRESS_GRAPH' | 'CHAINALYSIS' | 'ELLIPTIC' | 'CRYSTAL', required: "addressSource" will tell you if the address was found in your internal address book or identified by the blockchain analytics provider.
  - `beneficiaryVASPdid` string, required: The VASP DID of the beneficiary VASP
  - `beneficiaryVASPname` string, required: "beneficiaryVASPname" will tell you the name of the VASP that has been identified as the owner of the wallet address. This name is used in a subsequent call to get its DID.
  - `warnings` string[], required: "errors/warnings" will tell you what information about the beneficiary you need to collect from the sender.

## Other responses

- `default`: Error Response

---

[API](https://skmtc.dev/fireblocks/apis/fireblocks-api.md) - [All operations](https://skmtc.dev/fireblocks/apis/fireblocks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireblocks/apis/fireblocks-api/revisions/4eba9965659a?raw)
