Skip to main content
POST
/
screening
/
travel_rule
/
transaction
/
validate
/
full
TypeScript
const response: Promise<FireblocksResponse<TravelRuleValidateTransactionResponse>> = fireblocks.travelRule.validateFullTravelRuleTransaction(travelRuleApiValidateFullTravelRuleTransactionRequest);
{
  "isValid": true,
  "type": "TRAVELRULE",
  "beneficiaryAddressType": "UNKNOWN",
  "addressSource": "UNKNOWN",
  "beneficiaryVASPdid": "did:ethr:0x46a7ed5813ce735387df2bfb245bd7722e0de992",
  "beneficiaryVASPname": "Fireblocks",
  "warnings": [
    "optional-beneficiaryAccountNumber"
  ]
}

Documentation Index

Fetch the complete documentation index at: https://fireblocks-43c4b3ee-chore-add-cli.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Headers

Idempotency-Key
string

A unique identifier for the request. If the request is sent multiple times with the same idempotency key, the server will return the same response as the first request. The idempotency key is valid for 24 hours.

Query Parameters

notation
enum<string>[]

Specifies the notation of the transaction. Possible values are: - notabene: Uses Notabene notation (default behavior). - fireblocks: Uses Fireblocks notation, with automatic translation of asset tickers and amounts. - <none>: Defaults to notabene for backward compatibility. Note: The default value for the notation parameter will change from notabene to fireblocks Update your integrations accordingly.

Available options:
fireblocks,
notabene

Body

application/json
originator
object
required

Information about the originator of the transaction.

beneficiary
object
required

Information about the originator of the transaction.

originatorVASPdid
string

The Decentralized Identifier (DID) of the exchange (VASP) that is sending the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network.

Example:

"did:ethr:0x44957e75d6ce4a5bf37aae117da86422c848f7c2"

beneficiaryVASPdid
string

The Decentralized Identifier (DID) of the exchange (VASP) that is receiving the virtual assets. This identifier is unique to the exchange and is generated when the exchange's account is created in the Notabene network.

Example:

"did:ethr:0x17fe2dd11a2daa7f6c1fdf22532a4763f963aea6"

transactionAsset
string

Transaction asset symbol (e.g., BTC, ETH, USDC). By using the notation query string, users can select the type of asset notation: - fireblocks: Converts asset symbols to Fireblocks notation. - notabene: Retains the original Notabene asset symbol format.

Example:

"BTC"

transactionAmount
string

Transaction amount in the transaction asset. For example, if the asset is BTC, the amount is the value in BTC units. By using the notation query string, users can select the type of amount notation: - fireblocks: Converts the amount to Fireblocks notation (e.g., adjusted for decimals). - notabene: Retains the original Notabene amount format.

Example:

"10"

originatorVASPname
string

The name of the VASP acting as the transaction originator.

Example:

"Originator VASP Ltd."

beneficiaryVASPname
string

The name of the VASP acting as the transaction beneficiary.

Example:

"Beneficiary VASP Inc."

transactionBlockchainInfo
object

Information about the blockchain transaction.

encrypted
string

Encrypted data related to the transaction.

Example:

"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

protocol
enum<string>

The protocol used to perform the travel rule.

Available options:
TRLight,
TRP,
OpenVASP,
GTR
Example:

"TRLight"

skipBeneficiaryDataValidation
boolean

Whether to skip validation of beneficiary data.

Example:

false

travelRuleBehavior
boolean

Whether to check if the transaction complies with the travel rule in the beneficiary VASP's jurisdiction.

Example:

true

originatorRef
string

A reference ID related to the originator of the transaction.

Example:

"ORG123456"

beneficiaryRef
string

A reference ID related to the beneficiary of the transaction.

Example:

"BEN654321"

travelRuleBehaviorRef
string

A reference ID related to the travel rule behavior.

Example:

"TRB987654"

originatorProof
object

Ownership proof related to the originator of the transaction.

beneficiaryProof
object

Ownership proof related to the originator of the transaction.

beneficiaryDid
string

The Decentralized Identifier (DID) of the person at the receiving exchange (VASP). This identifier is generated when the customer is registered in the Notabene network, or automatically created based on the beneficiaryRef. - If neither beneficiaryRef nor beneficiaryDid is provided in the txCreate payload, a new random DID is generated for every transaction.

Example:

"did:key:z6Mkf67890Zghijkl67890"

originatorDid
string

The Decentralized Identifier (DID) of the person at the exchange (VASP) who is requesting the withdrawal. This identifier is generated when the customer is registered in the Notabene network or automatically created based on the originatorRef. - If neither originatorRef nor originatorDid is provided in the txCreate payload, a new random DID is generated for every transaction.

Example:

"did:key:z6Mkf12345Zabcdef12345"

isNonCustodial
boolean

Indicates if the transaction involves a non-custodial wallet.

Example:

true

notificationEmail
string

The email address where a notification should be sent upon completion of the travel rule

pii
object

Personal identifiable information related to the transaction

pii_url
string

The URL of the personal identifiable information related to the transaction

Response

Transaction validated successfully

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

Example:

true

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.

Example:

"TRAVELRULE"

beneficiaryAddressType
enum<string>
required

"beneficiaryAddressType" will tell you if your blockchain analytics provider or internal address book has been able to identify the wallet address.

Available options:
UNKNOWN,
HOSTED,
UNHOSTED
Example:

"UNKNOWN"

addressSource
enum<string>
required

"addressSource" will tell you if the address was found in your internal address book or identified by the blockchain analytics provider.

Available options:
UNKNOWN,
ADDRESS_HASH,
ADDRESS_GRAPH,
CHAINALYSIS,
ELLIPTIC,
CRYSTAL
Example:

"UNKNOWN"

beneficiaryVASPdid
string
required

The VASP DID of the beneficiary VASP

Example:

"did:ethr:0x46a7ed5813ce735387df2bfb245bd7722e0de992"

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.

Example:

"Fireblocks"

warnings
string[]
required

"errors/warnings" will tell you what information about the beneficiary you need to collect from the sender.

Example:
["optional-beneficiaryAccountNumber"]