Skip to main content
POST
/
screening
/
trlink
/
customers
/
integration
/
{customerIntegrationId}
/
trm
/
{trmId}
/
resolve_action
TypeScript
const response: Promise<FireblocksResponse<TRLinkTrmInfoResponse>> = fireblocks.tRLink.resolveActionTRLinkTrm(tRLinkApiResolveActionTRLinkTrmRequest);
{
  "id": "trm_1234567890abcdef",
  "externalId": "550e8400-e29b-41d4-a716-446655440000",
  "asset": {
    "format": "fireblocks",
    "data": {
      "network": "ETH",
      "ticker": "USDT",
      "ucid": 825,
      "contractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
      "id": "USDT_ERC20"
    }
  },
  "amount": "1000",
  "direction": "out",
  "txnInfo": {
    "originatorWalletAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
    "beneficiaryWalletAddress": "0x8d12A197cB00D4747a1fe03395095ce2A5CC6819",
    "txHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  },
  "ivms101": {
    "version": "1.0",
    "data": "eyJvcmlnaW5hdG9yIjp7Im5hbWUiOiJKb2huIERvZSIsImFkZHJlc3MiOiIxMjMgTWFpbiBTdCJ9LCJiZW5lZmljaWFyeSI6eyJuYW1lIjoiSmFuZSBTbWl0aCIsImFkZHJlc3MiOiI0NTYgRWxtIFN0In19",
    "filledFields": [
      "originator.name",
      "originator.address",
      "beneficiary.name",
      "beneficiary.address"
    ]
  },
  "version": "1.0",
  "status": "ACCEPTED",
  "reason": "Travel Rule compliance required for this transaction",
  "fiatValue": {
    "amount": "1000.50",
    "currency": "USD"
  },
  "originatorVaspId": "did:ethr:0x1234567890abcdef",
  "beneficiaryVaspId": "did:ethr:0xfedcba0987654321",
  "providerData": {
    "provider": "notabene",
    "data": {
      "vasp_did": "did:ethr:0x1234567890abcdef",
      "compliance_status": "verified"
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://developers.fireblocks.com/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.

Path Parameters

customerIntegrationId
string<uuid>
required

Customer integration unique identifier

trmId
string
required

Travel Rule Message unique identifier

Body

application/json

Request to resolve a pending TRM action

type
string
required

The action type identifier as defined by the Travel Rule provider. Must match one of the types returned by the get required actions endpoint. Values are provider-specific and may vary across different TRP implementations.

Example:

"UPLOAD_BENEFICIARY_PII"

data
object

Data to submit when resolving an action. The structure varies by action type and is validated by the TRP provider.

For UPLOAD_BENEFICIARY_PII action type: Contains beneficiaryPii with IVMS101-encoded PII data.

Response

Action resolved successfully

Travel Rule Message information

id
string
required

TRM message ID

Example:

"trm_1234567890abcdef"

externalId
string
required

External ID (e.g., Fireblocks ID)

Example:

"550e8400-e29b-41d4-a716-446655440000"

asset
object
required
amount
string
required

Transaction amount in asset units

Example:

"1000"

direction
enum<string>
required

Transaction direction for TRM (in = inbound, out = outbound)

Available options:
in,
out
Example:

"out"

txnInfo
object
required
ivms101
object
required

IVMS101 data in response format

version
string | null

TRM version

Example:

"1.0"

status
enum<string> | null

Current status of the Travel Rule Message

Available options:
PENDING,
ACCEPTED,
REJECTED,
FAILED
Example:

"ACCEPTED"

reason
string | null

Human readable reason for the current status

Example:

"Travel Rule compliance required for this transaction"

fiatValue
object
originatorVaspId
string | null

ID of the originator VASP

Example:

"did:ethr:0x1234567890abcdef"

beneficiaryVaspId
string | null

ID of the beneficiary VASP

Example:

"did:ethr:0xfedcba0987654321"

providerData
object