Request cross-chain transfer quotes with fees, routes, and execution steps.
| Parameter | Type | Required | Description |
|---|---|---|---|
amount | string | Yes | Amount in smallest units (wei for ETH, lamports for SOL) |
srcChainKey | string | Yes | Source chain identifier (for example, base, ethereum) |
srcTokenAddress | string | Yes | Source token contract address |
srcWalletAddress | string | Yes | Sender wallet address |
dstChainKey | string | Yes | Destination chain identifier |
dstTokenAddress | string | Yes | Destination token contract address |
dstWalletAddress | string | Yes | Recipient wallet address |
options | object | No | Optional transfer configuration |
options.amountType | enum | No | EXACT_SRC_AMOUNT (default) |
options.feeTolerance | object | No | Maximum acceptable fee variance |
options.feeTolerance.type | string | No | PERCENT |
options.feeTolerance.amount | number | No | Tolerance percentage (0-100). Default: 1 |
options.dstNativeDropAmount | string | No | Native gas drop on destination. Default: 0 |
quotes array, rejectedQuotes array, and tokens array.
| Attribute | Type | Description |
|---|---|---|
id | string | Unique quote identifier (becomes transfer ID after execution) |
routeSteps | array | Array of route segments with protocol types |
fees | array | Detailed fee breakdown by chain and type |
duration | object | Estimated transfer duration |
duration.estimated | string or null | Duration in milliseconds (null if unknown) |
feeUsd | string | Total fees in USD |
feePercent | string | Fee as percentage of transfer amount |
srcAmount | string | Exact amount leaving source chain |
dstAmount | string | Expected amount on destination chain |
dstAmountMin | string | Minimum guaranteed amount (with slippage protection) |
srcAmountUsd | string | Source amount in USD |
dstAmountUsd | string | Destination amount in USD |
userSteps | array | Actions to execute (transactions or signatures) |
options | object | Transfer options |
options.dstNativeDropAmount | string | Native gas drop configuration |
expiresAt | string | Quote expiration timestamp (may not be present on all quotes) |
| Attribute | Type | Description |
|---|---|---|
type | enum | Route protocol (see Route types) |
srcChainKey | string | Chain where this step executes |
description | string | Human-readable step description |
| Attribute | Type | Description |
|---|---|---|
chainKey | string | Chain where fee is paid |
type | enum | MESSAGE, GENERAL, DST_NATIVE_DROP, CCTP_RECEIVE |
description | string | Human-readable fee description |
amount | string | Fee amount in token units |
address | string | Token address for fee |
TRANSACTION or SIGNATURE:
TRANSACTION step:
to addresses:
| Step | transaction.encoded.to | Purpose |
|---|---|---|
| Approve | ERC20 token contract (e.g., USDC) | Calls approve(TransferDelegate, amount). The TransferDelegate address is encoded inside the data field. |
| Bridge | LZMulticall contract | Routes the bridge transaction through LayerZero’s feeWrapper. |
| Type | Description |
|---|---|
OFT | OFT Standard transfers |
STARGATE_V2_TAXI | Stargate V2 instant transfers |
STARGATE_V2_BUS | Stargate V2 batched transfers |
CCTP | Circle CCTP for native USDC |
AORI | Intent-based swaps via Aori |
error field before processing quotes:
expiresAt timestamp. Execute quotes promptly or request a new quote if expired.
Source chain key (for example, 'base', 'arbitrum')
"base"
Destination chain key
"optimism"
Source token address (use 0xEeee...EEeE for native ETH)
"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
Destination token address
"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"
Sender wallet address
"0x1234567890123456789012345678901234567890"
Recipient wallet address
"0x1234567890123456789012345678901234567890"
Transfer amount in smallest units (wei for ETH)
"100000000000000000"