Skip to main content
This page provides consistent definitions for the core objects used across LI.FI’s API and SDK. Use these as the authoritative reference when building integrations.

Transfer Objects

Quote

A Quote is a single-step transfer plan with transaction data ready for immediate execution. Response from GET /quote:
When to use: Request a Quote via /quote when you want the best single route with transaction data included. Ideal for simple transfers.

Get Quote API

Request a quote for token transfers

Route

A Route is a multi-step transfer plan that may require sequential transactions. Response from POST /advanced/routes (returns array of routes):
When to use: Request Routes via /advanced/routes when you need multiple route options or want to compare alternatives. Each Step in a Route may require a separate transaction.

Get Routes API

Request multiple route options

Step

A Step is one atomic operation within a Route. Each Step represents a single transaction. Nested within Route response (also returned by POST /advanced/stepTransaction):
Step types:
  • swap - Same-chain token swap via DEX
  • cross - Cross-chain bridge transfer
  • lifi - Combined swap + bridge in one transaction
  • protocol - Interaction with a DeFi protocol (deposit, stake, etc.)

Action

An Action describes what happens in a Step - the source and destination tokens, chains, and amounts. Nested within Quote/Step responses:

Reference Objects

Tool

A Tool is a bridge or exchange used to execute transfers. LI.FI aggregates 27 bridges and 31 exchanges. Use GET /tools for the current list. Response from GET /tools:
Popular bridges: stargateV2, across, relay, cbridge Popular DEXs: 1inch, paraswap, 0x, uniswap, sushiswap
Use GET /tools to get the current list of supported bridges and exchanges.

List Tools API

Get all available bridges and exchanges

Chain

A Chain represents a supported blockchain network. Response from GET /chains:
Chain types:
  • EVM - Ethereum Virtual Machine chains (Ethereum, Arbitrum, etc.)
  • SVM - Solana Virtual Machine
  • UTXO - Bitcoin and UTXO-based chains
  • MVM - Move Virtual Machine (SUI)

List Chains API

Get all supported chains

Token

A Token represents a supported cryptocurrency on a specific chain. Response from GET /tokens:
The same token (e.g., USDC) has different addresses on each chain. Use coinKey to identify the same asset across chains.

List Tokens API

Get all supported tokens

Status Objects

Status

Status indicates the current state of a cross-chain transfer.

Substatus

Substatus provides detailed information within each Status.

PENDING Substatuses

DONE Substatuses

FAILED Substatuses

For the complete and authoritative status documentation, see the Status Tracking Guide.

Status Tracking Guide

Complete guide to monitoring transfers

Partial

A transfer is Partial when it completes successfully but the user receives a different token than originally requested. Why this happens:
  • Destination chain swap failed after bridging
  • Insufficient liquidity for final swap
  • Price impact too high for destination swap
What the user receives:
  • The bridged token (e.g., USDC.e instead of native USDC)
  • Full value is preserved, just in a different token
How to handle:
  1. Check substatus === "PARTIAL" when status === "DONE"
  2. Read receiving.token from status response for actual received token
  3. Inform user they received equivalent value in different token

Intermediate Tokens Guide

Understanding PARTIAL status and intermediate tokens

Refunded

A transfer is Refunded when it fails but the user’s tokens are returned to their wallet. When refunds happen:
  • Bridge execution failed
  • Destination chain issues
  • Transfer expired
Refund location:
  • Usually returned to sender on the source chain
  • Some bridges refund on destination chain (check status response)
How to handle:
  1. Check for substatus === "REFUNDED"
  2. Read refund object from status response for details
  3. Inform user their funds were returned
Not all failed transfers are automatically refundable. Some bridges require manual claiming. Check the status response refund field for instructions.

Quick Reference