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

# List tokens

> Returns the full token catalog: over 2,000 tokens across 18 chains, roughly half of them active. No authentication required.

The same asset has a distinct numeric id per chain, so always pick the id for the chain you intend to deposit on or receive on. Filter on `active` and `blockchain.depositsActive` before offering a pair.



## OpenAPI

````yaml /openapi.json get /v1/tokens
openapi: 3.1.0
info:
  title: Vane API
  version: 1.0.0
  summary: Cross-chain and same-chain swaps filled by an open network of solvers.
  description: >-
    Vane turns a swap into an intent: you declare what you want to receive, the
    API returns a per-order deposit address, and a solver fills the order
    against the escrowed deposit ([how solvers fill
    orders](/features/solver-auctions)).


    **Authentication.** Most endpoints accept a tenant API key sent as the
    `x-tenant-api-key` header (accountless integration). The key pre-filled in
    the API playground is a shared public key for evaluating the API. Production
    integrations use their own tenant key, requested from support
    (help@vane.xyz) and kept server-side. A JWT access token from SIWX
    wallet-signature auth also satisfies these endpoints and attributes orders
    to a user account, which adds order history (`GET /v1/orders`) and points.


    **Error behavior.** Errors use the envelope `{statusCode, message, error}`.
    Field order varies and some errors omit `error`. Most business validation
    failures (an unknown token id, a malformed address, an invalid amount, an
    unknown order UUID) return HTTP `500` with a descriptive message, while
    `400` appears only for malformed query parameters. Match on the message text
    for programmatic handling, not just the status codes.


    **The fields `exchange` and `tradePath`** describe how a quote is priced and
    routed across order-book legs. They say nothing about settlement, which
    solvers perform separately.
  contact:
    name: Vane support
    email: help@vane.xyz
    url: https://vane.xyz
  termsOfService: https://vane.xyz/terms-and-conditions
servers:
  - url: https://api.vane.xyz/api
    description: Production
security:
  - tenantApiKey: []
tags:
  - name: Tokens
    description: The token catalog, swap limits, and quotes.
  - name: Orders
    description: Create swap orders and track them to a terminal state.
  - name: Auth
    description: >-
      Optional SIWX wallet-signature authentication. Adds order history and
      points.
paths:
  /v1/tokens:
    get:
      tags:
        - Tokens
      summary: List tokens
      description: >-
        Returns the full token catalog: over 2,000 tokens across 18 chains,
        roughly half of them active. No authentication required.


        The same asset has a distinct numeric id per chain, so always pick the
        id for the chain you intend to deposit on or receive on. Filter on
        `active` and `blockchain.depositsActive` before offering a pair.
      operationId: listTokens
      responses:
        '200':
          description: The complete token catalog.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Token'
              example:
                - id: 158
                  name: Bitcoin
                  symbol: BTC
                  address: native
                  decimals: 8
                  blockchainId: 1
                  isBaseToken: true
                  isStablecoin: false
                  active: true
                  blockchain:
                    id: 1
                    name: Bitcoin
                    network: BTC
                    neededConfirmations: 2
                    depositsActive: true
                - id: 231
                  name: TetherUS
                  symbol: USDT
                  address: '0xdac17f958d2ee523a2206206994597c13d831ec7'
                  decimals: 6
                  blockchainId: 2
                  isBaseToken: false
                  isStablecoin: true
                  active: true
                  blockchain:
                    id: 2
                    name: Ethereum (ERC20)
                    network: ETH
                    neededConfirmations: 12
                    depositsActive: true
      security: []
components:
  schemas:
    Token:
      type: object
      description: >-
        A token in the catalog. The same asset has a distinct numeric id per
        chain.
      properties:
        id:
          type: integer
          description: >-
            Token id, unique per (asset, chain) pair. Use this in swap-limits,
            quote, and order requests.
        name:
          type: string
          description: Token display name, for example `TetherUS`.
        symbol:
          type: string
          description: Ticker symbol, for example `BTC`, `USDT`.
        address:
          type: string
          description: >-
            Contract address on the token's chain, or `native` for chain-native
            coins.
        decimals:
          type: integer
          description: Token decimals.
        blockchainId:
          type: integer
          description: Id of the chain this token lives on (matches `blockchain.id`).
        isBaseToken:
          type: boolean
          description: Whether this is the chain's base (native) asset.
        isStablecoin:
          type: boolean
          description: Whether this token is a stablecoin.
        active:
          type: boolean
          description: >-
            Whether the token is tradable. Filter on this before offering a
            pair.
        blockchain:
          $ref: '#/components/schemas/Blockchain'
      required:
        - id
        - name
        - symbol
        - address
        - decimals
        - blockchainId
        - isBaseToken
        - isStablecoin
        - active
        - blockchain
    Blockchain:
      type: object
      description: A supported chain. The catalog spans 18 chains.
      properties:
        id:
          type: integer
          description: >-
            Chain id in Vane's catalog (for example `1` = Bitcoin, `2` =
            Ethereum (ERC20)).
        name:
          type: string
          description: Chain display name, for example `Ethereum (ERC20)`.
        network:
          type: string
          description: Short network code, for example `BTC`, `ETH`.
        neededConfirmations:
          type: integer
          description: >-
            On-chain confirmations required before a deposit on this chain
            counts as confirmed.
        depositsActive:
          type: boolean
          description: >-
            Whether deposits on this chain are enabled. Check this before
            offering a pair.
      required:
        - id
        - name
        - network
        - neededConfirmations
        - depositsActive
  securitySchemes:
    tenantApiKey:
      type: apiKey
      in: header
      name: x-tenant-api-key
      x-default: c7eccc0aaed64932a85d35658fa55a4fb2d60cd3d2c529cfd643dc676ee82e82
      description: >-
        Vane's shared tenant key. Contact support for a dedicated key if you
        need custom parameters or separate order tracking.

````