Skip to main content
POST
TypeScript

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.

Body

application/json

Request body for creating a Tempo transfer transaction.

assetId
string
required

The ID of the asset to transfer. Must be a non-deprecated asset supported on a Tempo-eligible blockchain; an unknown, deprecated, or unsupported asset surfaces as 400 UNSUPPORTED_ASSET.

Example:

"PATHUSD_TEMPO_54V8"

source
object
required

The transfer's source.

Example:
note
string

A custom note that can be associated with the transaction.

Example:

"Created via API"

externalTxId
string

Unique ID provided by the customer, used to identify the transaction.

Example:

"unique-id-123"

feeCurrency
string

The asset ID used to pay the transaction fee, if different from assetId. Maps to FeeParams.feeCurrency. Must be a valid fee token for assetId (e.g. a TIP-20 gas token for the base asset); an invalid pairing surfaces as 400 INVALID_FEE_CURRENCY_PARAM.

Example:

"PATHUSD_TEMPO_54V8"

destination
object

The transfer's destination. Mutually exclusive with destinations.

Example:
amount
string

The amount to transfer, as a numeric string. Required when destination is set; must be omitted when destinations is set (each entry carries its own amount instead).

Example:

"0.01"

treatAsGrossAmount
boolean

If true, the specified amount includes the fee (fee is deducted from amount).

Example:

false

feeLevel
enum<string>

The fee level to use, mutually exclusive with an explicit custom fee.

Available options:
LOW,
MEDIUM,
HIGH
Example:

"MEDIUM"

travelRuleMessage
string

Beta. An opaque travel-rule payload.

Example:

"{}"

travelRuleMessageId
string

Beta. An identifier of a TravelRule message, already sent to the TravelRule provider.

Example:

"trm_12345678-1234-1234-1234-123456789012"

useGasless
boolean

Opt in to fee-payer-sponsored (gasless) transfer.

Example:

true

configurations
object
maxFeePerGas
string

The maximum total fee per gas the sender is willing to pay, in wei.

Example:

"50"

maxPriorityFeePerGas
string

The maximum priority fee (tip) per gas the sender is willing to pay, in wei.

Example:

"2"

destinations
object[]

Multiple destinations for a single transfer. Mutually exclusive with destination.

Example:
failOnLowFee
boolean

Beta. If true, fail the transaction rather than sending it with a low fee.

Example:

false

gasLimit
string

The gas limit for the transaction.

Example:

"21000"

replaceTxByHash
string

Beta. The hash of the EVM transaction to replace (RBF).

Example:

"0x9fc76417374aa880d4449a1f7f31ec597f00b1f6f3dd2d66f4c9c6c445836d8"

feePayerAccountId
string

Vault account ID of the fee payer sponsoring this transfer.

Example:

"3"

nonceStrategy
enum<string>

Tempo's 2-dimensional nonce strategy: SEQUENTIAL runs under a single nonce lane (lane 0); USER_DEFINED_LANE runs in parallel under a specified lane (1–16), and requires nonceLane; EXPIRING marks the transaction with an expiry of up to 5 minutes (Tempo-defined) and does not use nonceLane.

Available options:
SEQUENTIAL,
USER_DEFINED_LANE,
EXPIRING
Example:

"SEQUENTIAL"

nonceLane
integer

The nonce lane to use, 1–16. Required and only meaningful when nonceStrategy is USER_DEFINED_LANE; not used for SEQUENTIAL or EXPIRING.

Required range: 1 <= x <= 16
Example:

1

memo
string

Beta. Tempo TIP-20 memo (max 32 bytes).

Example:

"invoice-1234"

Response

Transaction created.

id
string

The Fireblocks transaction ID.

Example:

"d5c9a1b2-3e4f-4a5b-8c6d-7e8f9a0b1c2d"

status
string

The current status of the transaction.

Example:

"SUBMITTED"