Skip to main content
GET
/
tokens
List supported tokens
curl --request GET \
  --url https://transfer.layerzero-api.com/v1/tokens
{
  "tokens": [
    {
      "isSupported": true,
      "chainKey": "ethereum",
      "address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
      "decimals": 18,
      "symbol": "ETH",
      "name": "Ethereum"
    }
  ],
  "pagination": {}
}
Returns tokens supported by the Value Transfer API. Use query parameters to filter for tokens transferrable from a specific source chain and token.

Reference

Parameters

ParameterTypeRequiredDescription
transferrableFromChainKeystringNoSource chain key (for example, base, ethereum). Must be combined with transferrableFromTokenAddress.
transferrableFromTokenAddressstringNoSource token address. Must be combined with transferrableFromChainKey.
pagination[nextToken]stringNoPagination cursor from previous response
Validate transfer routes Provide both transferrableFromChainKey and transferrableFromTokenAddress to get only destination tokens you can transfer to.

Response

Returns a tokens array and a pagination object.

Attributes

AttributeTypeDescription
isSupportedbooleanWhether the token is available for transfers
chainKeystringChain identifier (for example, ethereum, base)
addressstringToken contract address
decimalsnumberToken decimal places
symbolstringToken symbol (for example, ETH, USDC)
namestringFull token name
logoUrlstringOptional token logo URL
priceobjectOptional price information
price.usdnumberCurrent price in USD

Code examples

List all tokens

Returns the complete token catalog across all chains.
curl -X GET "https://transfer.layerzero-api.com/v1/tokens"

List transferrable destinations

Returns only tokens you can transfer to from a specific source.
curl -X GET "https://transfer.layerzero-api.com/v1/tokens?transferrableFromChainKey=base&transferrableFromTokenAddress=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"

Response

{
  "tokens": [
    {
      "isSupported": true,
      "chainKey": "base",
      "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "decimals": 6,
      "symbol": "USDC",
      "name": "USD Coin",
      "price": {
        "usd": 0.99986254
      }
    },
    {
      "isSupported": true,
      "chainKey": "base",
      "address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
      "decimals": 18,
      "symbol": "ETH",
      "name": "Ether",
      "price": {
        "usd": 2132.3224
      }
    },
    {
      "isSupported": true,
      "chainKey": "ethereum",
      "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
      "decimals": 6,
      "symbol": "USDC",
      "name": "USDC",
      "price": {
        "usd": 0.99986254
      }
    },
    {
      "isSupported": true,
      "chainKey": "ethereum",
      "address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
      "decimals": 18,
      "symbol": "ETH",
      "name": "ETH",
      "price": {
        "usd": 2132.3224
      }
    },
    {
      "isSupported": true,
      "chainKey": "arbitrum",
      "address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
      "decimals": 6,
      "symbol": "USDC",
      "name": "USD Coin",
      "price": {
        "usd": 0.99986254
      }
    }
  ],
  "pagination": {}
}

Validate transfer routes

Check if a transfer route exists before requesting quotes:
async function validatePath(
  srcChain: string,
  srcToken: string,
  dstChain: string,
  dstToken: string,
): Promise<boolean> {
  const params = new URLSearchParams({
    transferrableFromChainKey: srcChain,
    transferrableFromTokenAddress: srcToken,
  });

  const response = await fetch(`https://transfer.layerzero-api.com/v1/tokens?${params}`);
  const {tokens} = await response.json();

  return tokens.some(
    (t) => t.chainKey === dstChain && t.address.toLowerCase() === dstToken.toLowerCase(),
  );
}

const isSupported = await validatePath(
  'base',
  '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
  'arbitrum',
  '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
);
  • Chains — List supported blockchain networks
  • Quotes — Request transfer quotes for validated routes

Query Parameters

transferrableFromChainKey
string

Filter tokens by source chain (for example, 'ethereum', 'arbitrum')

Example:

"ethereum"

transferrableFromTokenAddress
string

Filter by source token address

Example:

"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"

Response

200 - application/json

Successfully retrieved token list

tokens
object[]
pagination
object