Request Quotes
Request cross-chain transfer quotes with fees, routes, and execution steps.
Returns one or more quotes for cross-chain transfers, each with fee breakdowns, estimated duration, and execution steps.Documentation Index
Fetch the complete documentation index at: https://docs.layerzero.network/llms.txt
Use this file to discover all available pages before exploring further.
Reference
Request body
| 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 |
Response
Returns aquotes array, rejectedQuotes array, and tokens array.
Quote attributes
| 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) |
Route step attributes
| Attribute | Type | Description |
|---|---|---|
type | enum | Route protocol (see Route types) |
srcChainKey | string | Chain where this step executes |
description | string | Human-readable step description |
Fee attributes
| 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 |
User step types
User steps can beTRANSACTION or SIGNATURE:
TRANSACTION step:
Executing userSteps safely
For ERC20 token transfers, the API returns two user steps with differentto 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. |
Route types
The API evaluates multiple protocols and returns the best routes:| 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 |
Code examples
EVM transfer
- cURL
- TypeScript
- Python
Response
Errors
The API returns an error object when the request fails:error field before processing quotes:
Quote expiration
Quotes may include anexpiresAt timestamp. Execute quotes promptly or request a new quote if expired.
Related endpoints
- Build user steps — Generate fresh transaction data for Solana transfers
- Submit signature — Submit EIP-712 signatures for intent-based routes
- Status — Track transfer progress after execution
Examples
- EVM Example — Complete transfer with viem
- Solana Example — Complete Solana transfer
Authorizations
API key for authenticating requests. Required for /quotes, /build-user-steps, /submit-signature, and /status endpoints.
Body
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"