Fireblocks Travel Rule API.
Covers VASP discovery, transaction validation, vault VASP assignment,
and TRUST network proof-of-address workflows under the Travel Rule tag
(/v1/screening/travel_rule).
Summary
Functions
Creates a TRUST-compatible proof-of-address signature for a vault account.
Retrieves the TRUST-compatible encoded signature for proof of address.
Returns information about a specific VASP identified by its DID.
Returns the VASP DID assigned to the vault, or an empty string if none is assigned.
Returns a paginated list of VASPs from the Notabene VASP directory.
Assigns or removes the VASP DID for a vault account.
Updates a VASP's pii_didkey in the workspace.
Validates a full Travel Rule transaction with IVMS101 PII.
Validates a Travel Rule transaction (basic form).
Functions
Creates a TRUST-compatible proof-of-address signature for a vault account.
Generates an encoded signature by signing a TRUST-formatted message with the private key held in the specified vault account. The resulting signature should be submitted directly to the TRUST network for address-ownership verification.
idempotency_key: Optional idempotency key (Idempotency-Keyheader).
Options:
:vaultAccountId(String.t/0) - Required. The vault account ID whose address will be proved:asset(String.t/0) - Required. Asset identifier for the address being proved, e.g."BTC","ETH":prefix(String.t/0) - Required. Prefix prepended to the message before signing, as required by TRUST:trustUuid(String.t/0) - Required. UUID obtained from the TRUST network via the CreateAddressOwnership flow
Retrieves the TRUST-compatible encoded signature for proof of address.
Send this directly to TRUST for verification.
transaction_id: The transaction ID associated with the proof-of-address request.
Returns information about a specific VASP identified by its DID.
did: The Decentralized Identifier (DID) of the VASP to retrieve.
Options:
:fields(String.t/0) - Comma-separated list of VASP fields to include in the response, e.g."name,did,complianceLevel"
Returns the VASP DID assigned to the vault, or an empty string if none is assigned.
vault_account_id: The ID of the vault account to query.
Returns a paginated list of VASPs from the Notabene VASP directory.
Results default to 500 per page (accepted range 100–1000). Use the returned
pageCursor to iterate through subsequent pages.
Options:
:order- Sort order for results. One of"ASC"or"DESC":pageSize(non_neg_integer/0) - Number of results per page (default 500, accepted range 100–1000):fields(String.t/0) - Comma-separated list of VASP fields to include in each result, e.g."name,did":search(String.t/0) - Free-text search query to filter VASPs by name or DID, e.g."Fireblocks":reviewValue- Filter results by workspace review status. One of"TRUSTED","BLOCKED","MANUAL":pageCursor(String.t/0) - Opaque cursor string returned by a previous response for pagination
Assigns or removes the VASP DID for a vault account.
Use this to link a vault to a specific VASP for Travel Rule purposes.
Pass vaspDid: "" to clear an existing assignment.
vault_account_id: The ID of the vault account to configure.idempotency_key: Optional idempotency key (Idempotency-Keyheader).
Options:
:vaspDid(String.t/0) - VASP DID to assign to the vault account. Pass an empty string""to remove an existing assignment.
Updates a VASP's pii_didkey in the workspace.
Sets or rotates the public DID key used to encrypt PII payloads before transmitting them to the specified VASP.
idempotency_key: Optional idempotency key (Idempotency-Keyheader).
Options:
:did(String.t/0) - Required. DID of the VASP entry to update:pii_didkey(String.t/0) - Required. Public jsonDIDkey obtained from Notabene, used to encrypt PII sent to this VASP
Validates a full Travel Rule transaction with IVMS101 PII.
This is the preferred endpoint for Travel Rule compliance validation. Accepts complete originator and beneficiary PII in IVMS101 format and checks compliance against the applicable regulatory framework and the beneficiary VASP's jurisdiction policy.
idempotency_key: Optional idempotency key (Idempotency-Keyheader).
Options:
:originator(map/0) - Required. Originator PII in IVMS101 format:beneficiary(map/0) - Required. Beneficiary PII in IVMS101 format:originatorVASPdid(String.t/0) - DID of the originating VASP:beneficiaryVASPdid(String.t/0) - DID of the beneficiary VASP:transactionAsset(String.t/0) - Asset ticker, e.g."BTC","ETH":transactionAmount(String.t/0) - Amount of the transaction:originatorVASPname(String.t/0) - Name of the originating VASP:beneficiaryVASPname(String.t/0) - Name of the beneficiary VASP:transactionBlockchainInfo(map/0) - Blockchain-level transaction metadata:encrypted(String.t/0) - Encrypted PII payload:protocol- Travel Rule protocol to use. One of"TRLight","TRP","OpenVASP","GTR":skipBeneficiaryDataValidation(boolean/0) - Whentrue, skips server-side validation of the beneficiary data:travelRuleBehavior(boolean/0) - Whentrue, checks whether the transaction is compliant with the beneficiary VASP's jurisdiction:originatorRef(String.t/0) - Reference ID for the originator:beneficiaryRef(String.t/0) - Reference ID for the beneficiary:travelRuleBehaviorRef(String.t/0) - Reference ID for travel rule behavior:originatorProof(map/0) - Proof object for the originator:beneficiaryProof(map/0) - Proof object for the beneficiary:beneficiaryDid(String.t/0) - DID of the beneficiary:originatorDid(String.t/0) - DID of the originator:isNonCustodial(boolean/0) - Whentrue, indicates this is a non-custodial transfer:notificationEmail(String.t/0) - Email address to receive Travel Rule notifications:pii(map/0) - Plain-text PII payload in IVMS101 format:pii_url(String.t/0) - URL pointing to the encrypted PII payload
Validates a Travel Rule transaction (basic form).
Checks basic Travel Rule fields for a transaction against the Notabene network.
This endpoint is deprecated — use validate_full_travel_rule_transaction/2
for full IVMS101-compliant validation instead.
Options:
:transactionAsset(String.t/0) - Required. Asset ticker for the transaction, e.g."BTC","ETH":destination(String.t/0) - Required. Destination address of the transaction:transactionAmount(String.t/0) - Required. Amount of the transaction expressed in the transaction asset:originatorVASPdid(String.t/0) - Required. DID of the originating VASP:originatorEqualsBeneficiary(boolean/0) - Required.truewhen the originator and beneficiary are the same natural person:transactionAssetDecimals(non_neg_integer/0) - Number of decimals for the asset:travelRuleBehavior(boolean/0) - Whentrue, checks whether the transaction is compliant with the beneficiary VASP's jurisdiction:beneficiaryVASPdid(String.t/0) - DID of the beneficiary VASP:beneficiaryVASPname(String.t/0) - Name of the beneficiary VASP:beneficiaryName(String.t/0) - Full name of the beneficiary:beneficiaryAccountNumber(String.t/0) - Account number of the beneficiary:beneficiaryAddress(map/0) - TravelRuleAddress object for the beneficiary