> ## 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.

# List Chains

> Retrieve all supported blockchain networks with their identifiers and native currencies.

Returns a list of all blockchain networks supported by the Value Transfer API.

<Note>
  Some supported chains enforce permissioned access and will reject transactions from non-whitelisted wallets. See [Permissioned chains](#permissioned-chains) for details.
</Note>

***

## Reference

### Parameters

| Parameter               | Type   | Required | Description                              |
| ----------------------- | ------ | -------- | ---------------------------------------- |
| `pagination[nextToken]` | string | No       | Pagination cursor from previous response |

### Response

Returns a `chains` array containing chain objects and a `pagination` object for cursor-based pagination.

#### Attributes

| Attribute                 | Type   | Description                                               |
| ------------------------- | ------ | --------------------------------------------------------- |
| `name`                    | string | Full chain name (for example, `Ethereum Mainnet`)         |
| `shortName`               | string | Short display name (for example, `Ethereum`)              |
| `chainKey`                | string | Unique chain identifier (for example, `ethereum`, `base`) |
| `nativeCurrency`          | object | Native currency details                                   |
| `nativeCurrency.chainKey` | string | Chain where currency exists                               |
| `nativeCurrency.address`  | string | Token address for native currency                         |
| `nativeCurrency.decimals` | number | Decimal places                                            |
| `nativeCurrency.symbol`   | string | Currency symbol (for example, `ETH`)                      |
| `nativeCurrency.name`     | string | Currency name                                             |
| `chainType`               | enum   | Blockchain type: `EVM`, `SOLANA`, `STARKNET`              |

## Code examples

<Tabs>
  <Tab title="cURL">
    ```bash wrap theme={null}
    curl -X GET "https://transfer.layerzero-api.com/v1/chains"
    ```
  </Tab>

  <Tab title="TypeScript">
    ```typescript wrap theme={null}
    const response = await fetch('https://transfer.layerzero-api.com/v1/chains');
    const {chains} = await response.json();

    console.log(chains);
    ```
  </Tab>

  <Tab title="Python">
    ```python wrap theme={null}
    import requests

    response = requests.get("https://transfer.layerzero-api.com/v1/chains")
    chains = response.json()["chains"]

    print(chains)
    ```
  </Tab>
</Tabs>

### Response

```json wrap theme={null}
{
  "chains": [
    {
      "name": "Ethereum",
      "shortName": "Ethereum",
      "chainKey": "ethereum",
      "nativeCurrency": {
        "chainKey": "ethereum",
        "address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
        "decimals": 18,
        "symbol": "ETH",
        "name": "ETH"
      },
      "chainType": "EVM"
    },
    {
      "name": "Base",
      "shortName": "Base",
      "chainKey": "base",
      "nativeCurrency": {
        "chainKey": "base",
        "address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
        "decimals": 18,
        "symbol": "ETH",
        "name": "Ether"
      },
      "chainType": "EVM"
    },
    {
      "name": "Solana",
      "shortName": "Solana",
      "chainKey": "solana",
      "nativeCurrency": {
        "chainKey": "solana",
        "address": "So11111111111111111111111111111111111111112",
        "decimals": 9,
        "symbol": "SOL",
        "name": "SOL"
      },
      "chainType": "SOLANA"
    },
    {
      "name": "Starknet",
      "shortName": "Starknet",
      "chainKey": "starknet",
      "nativeCurrency": {
        "chainKey": "starknet",
        "address": "0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d",
        "decimals": 18,
        "symbol": "STRK",
        "name": "Starknet Token"
      },
      "chainType": "STARKNET"
    },
    {
      "name": "Avalanche",
      "shortName": "Avalanche",
      "chainKey": "avalanche",
      "nativeCurrency": {
        "chainKey": "avalanche",
        "address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
        "decimals": 18,
        "symbol": "AVAX",
        "name": "Avalanche Token"
      },
      "chainType": "EVM"
    }
  ],
  "pagination": {}
}
```

## Native token addresses

| Chain type | Native token     | Address format    | Example                                                              |
| ---------- | ---------------- | ----------------- | -------------------------------------------------------------------- |
| EVM        | ETH, MATIC, etc. | Standard address  | `0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE`                         |
| SOLANA     | SOL              | Base58 public key | `So11111111111111111111111111111111111111112`                        |
| STARKNET   | STRK             | Felt252 address   | `0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d` |

## Permissioned chains

Some chains supported by the Value Transfer API enforce permissioned access. Transactions sent to these chains through public RPC endpoints will be rejected unless your wallet has been approved. Check the table below before integrating with these chains.

| Chain    | Access model                                  | Public RPC restriction                                                                                       | How to get access                                          |
| -------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------- |
| Redbelly | Protocol-level KYC via verifiable credentials | `governors.mainnet.redbelly.network` is read-only; write operations (e.g., sending transactions) are blocked | [Apply for whitelisting](https://access.redbelly.network/) |

## Related endpoints

* [Tokens](/v2/developers/value-transfer-api/api-reference/tokens) — Discover transferrable tokens for specific chains
* [Quotes](/v2/developers/value-transfer-api/api-reference/quotes) — Request transfer quotes between chains


## OpenAPI

````yaml GET /chains
openapi: 3.0.3
info:
  title: Value Transfer API
  version: 1.0.0
  description: Unified API for cross-chain value transfers across 150+ blockchains
servers:
  - url: https://transfer.layerzero-api.com/v1
security: []
paths:
  /chains:
    get:
      tags:
        - Discovery
      summary: List supported chains
      description: >-
        Returns all chains supported by the Value Transfer API, including chain
        type and native currency information.
      responses:
        '200':
          description: Successfully retrieved chain list
          content:
            application/json:
              schema:
                type: object
                properties:
                  chains:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        shortName:
                          type: string
                        chainKey:
                          type: string
                        chainType:
                          type: string
                        chainId:
                          type: number
                  pagination:
                    type: object
                    properties:
                      nextToken:
                        type: string
                example:
                  chains:
                    - name: Ethereum
                      shortName: ETH
                      chainKey: ethereum
                      chainType: EVM
                      chainId: 1
                    - name: Arbitrum
                      shortName: ARB
                      chainKey: arbitrum
                      chainType: EVM
                      chainId: 42161
                    - name: Solana
                      shortName: SOL
                      chainKey: solana
                      chainType: SOLANA
                      chainId: 0
                  pagination: {}

````