> ## Documentation Index
> Fetch the complete documentation index at: https://docs.settlx.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List Tokens

> Retrieve all supported tokens in a token-first format

# List Tokens

Returns all supported tokens in a **token-first** format — each token entry lists which chains it's available on. This is ideal for building a token-picker UI where users select the token first, then choose a chain.

This endpoint does **not** require authentication.

## Response

<ResponseField name="data" type="array">
  <Expandable title="Token objects">
    <ResponseField name="symbol" type="string">
      Token symbol (e.g. `USDT`, `ETH`, `BTC`)
    </ResponseField>

    <ResponseField name="name" type="string">
      Full token name (e.g. `Tether USD`, `Ether`, `Bitcoin`)
    </ResponseField>

    <ResponseField name="icon" type="string">
      Icon identifier (lowercase symbol, e.g. `usdt`). Use to construct CDN icon URLs.
    </ResponseField>

    <ResponseField name="iconUrl" type="string | null">
      Direct icon URL if available.
    </ResponseField>

    <ResponseField name="chains" type="array">
      List of chains where this token is available.

      Each entry contains:

      * `chain` — chain identifier (e.g. `ethereum`)
      * `chainName` — human-readable chain name (e.g. `Ethereum (ERC20)`)
      * `contractAddress` — token contract address (`null` for native currencies)
      * `decimals` — token decimals on this chain
      * `standard` — token standard (`NATIVE`, `ERC20`, `TRC20`, etc.)
    </ResponseField>
  </Expandable>
</ResponseField>

<Note>
  Results are sorted by priority: BTC → ETH → USDT → USDC → alphabetical for the rest.
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.settlx.io/api/v1/tokens
  ```

  ```javascript Build token picker theme={null}
  const response = await fetch('https://api.settlx.io/api/v1/tokens');
  const { data: tokens } = await response.json();

  // Get chains available for USDT
  const usdt = tokens.find(t => t.symbol === 'USDT');
  console.log(usdt.chains.map(c => c.chain));
  // ['ethereum', 'bsc', 'tron', 'solana']
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "data": [
      {
        "symbol": "BTC",
        "name": "Bitcoin",
        "icon": "btc",
        "iconUrl": null,
        "chains": [
          {
            "chain": "bitcoin",
            "chainName": "Bitcoin",
            "contractAddress": null,
            "decimals": 8,
            "standard": "NATIVE"
          }
        ]
      },
      {
        "symbol": "USDT",
        "name": "Tether USD",
        "icon": "usdt",
        "iconUrl": "https://cdn.settlx.io/tokens/usdt.png",
        "chains": [
          {
            "chain": "ethereum",
            "chainName": "Ethereum (ERC20)",
            "contractAddress": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
            "decimals": 6,
            "standard": "ERC20"
          },
          {
            "chain": "tron",
            "chainName": "Tron (TRC20)",
            "contractAddress": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
            "decimals": 6,
            "standard": "TRC20"
          },
          {
            "chain": "bsc",
            "chainName": "BNB Smart Chain (BEP20)",
            "contractAddress": "0x55d398326f99059fF775485246999027B3197955",
            "decimals": 18,
            "standard": "BEP-20"
          }
        ]
      }
    ]
  }
  ```
</ResponseExample>
