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

# Supported chains and tokens

> Get supported chains and tokens with additional metadata



## OpenAPI

````yaml https://raw.githubusercontent.com/rhinestonewtf/openapi/refs/heads/main/orchestrator/caucasus.json get /chains
openapi: 3.0.0
info:
  title: Rhinestone Orchestrator API
  version: 2026-09.caucasus
servers:
  - url: https://v1.orchestrator.rhinestone.dev
security: []
paths:
  /chains:
    get:
      tags:
        - Utilities
      summary: Supported chains and tokens
      description: Get supported chains and tokens with additional metadata
      operationId: listChains
      parameters:
        - name: x-api-version
          in: header
          required: true
          schema:
            type: string
            enum:
              - 2026-09.caucasus
          description: API version. Required; pinned to this document.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: object
                  properties:
                    name:
                      type: string
                      description: The name of the chain
                      example: Arbitrum One
                    testnet:
                      type: boolean
                    supportedTokens:
                      anyOf:
                        - type: string
                          enum:
                            - all
                        - type: array
                          items:
                            type: object
                            properties:
                              symbol:
                                type: string
                              address:
                                type: string
                                minLength: 1
                                description: >-
                                  Token contract address (format depends on the
                                  chain)
                              decimals:
                                type: number
                            required:
                              - symbol
                              - address
                              - decimals
                    wrappedNativeToken:
                      type: object
                      properties:
                        symbol:
                          type: string
                        address:
                          type: string
                          minLength: 1
                          description: Token contract address (format depends on the chain)
                        decimals:
                          type: number
                      required:
                        - symbol
                        - address
                        - decimals
                      description: >-
                        The wrapped-native token (e.g. WETH) for the chain. Lets
                        clients resolve the wrapped-native address without
                        bundling a token registry.
                    nativeToken:
                      type: object
                      properties:
                        symbol:
                          type: string
                        address:
                          type: string
                          minLength: 1
                          description: Token contract address (format depends on the chain)
                        decimals:
                          type: number
                      required:
                        - symbol
                        - address
                        - decimals
                      description: >-
                        The chain's gas asset. Lets a client name a native-value
                        transfer without assuming ETH — a wallet on a non-ETH
                        chain would otherwise label AVAX or BNB as ETH in every
                        review and receipt.
                    explorer:
                      type: object
                      properties:
                        url:
                          type: string
                          example: https://basescan.org
                        addressPath:
                          type: string
                          example: /address/
                        txPath:
                          type: string
                          example: /tx/
                      required:
                        - url
                        - addressPath
                        - txPath
                      nullable: true
                      description: >-
                        Block explorer, or null for a chain that has none. Lets
                        a client link a transaction on a chain it was never
                        compiled against, instead of bundling a per-chain URL
                        table.
                    settlement:
                      type: object
                      properties:
                        cctp:
                          type: object
                          properties:
                            domain:
                              type: number
                            tokenMessenger:
                              type: string
                            usdc:
                              type: string
                          required:
                            - domain
                            - tokenMessenger
                            - usdc
                        oft:
                          type: object
                          properties:
                            adapter:
                              type: string
                            eid:
                              type: number
                            token:
                              type: string
                          required:
                            - adapter
                            - eid
                            - token
                        eco:
                          type: object
                          properties:
                            portal:
                              type: string
                            provers:
                              type: array
                              items:
                                type: string
                            stablecoins:
                              type: array
                              items:
                                type: string
                          required:
                            - portal
                            - provers
                            - stablecoins
                        lz:
                          type: object
                          properties:
                            multiCall:
                              type: string
                            transferDelegate:
                              type: string
                            stargateUsdc:
                              type: object
                              properties:
                                pool:
                                  type: string
                                token:
                                  type: string
                                eid:
                                  type: number
                              required:
                                - pool
                                - token
                                - eid
                            cctp:
                              type: object
                              properties:
                                domain:
                                  type: number
                                token:
                                  type: string
                                feeReceiver:
                                  type: string
                                feeless:
                                  type: boolean
                                  enum:
                                    - true
                              required:
                                - domain
                                - token
                                - feeReceiver
                          required:
                            - multiCall
                            - transferDelegate
                        swapper:
                          type: object
                          properties:
                            swapper:
                              type: string
                            proxy:
                              type: string
                          required:
                            - swapper
                            - proxy
                        fees:
                          type: object
                          properties:
                            appFeeCollector:
                              type: string
                            paymaster:
                              type: string
                          required:
                            - appFeeCollector
                            - paymaster
                        usdStablecoins:
                          type: array
                          items:
                            type: object
                            properties:
                              address:
                                type: string
                              symbol:
                                type: string
                              decimals:
                                type: number
                            required:
                              - address
                              - symbol
                              - decimals
                          description: >-
                            The USD stablecoins (6 or 18 decimals) a session
                            stable-swap floor treats as 1:1.
                      description: >-
                        What an SDK session pins on this chain: the contracts
                        each settlement layer calls, and the USD stablecoins a
                        stable-swap floor treats as 1:1. A layer appears only
                        when every address it needs is known. Absent when the
                        chain has none of these.
                  required:
                    - name
                    - testnet
                    - supportedTokens
                    - wrappedNativeToken
                    - nativeToken
                    - explorer
                description: Supported chains and tokens, keyed by CAIP-2 chain id
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                discriminator:
                  propertyName: code
                oneOf:
                  - type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - VALIDATION_ERROR
                      message:
                        type: string
                        description: Human-readable error message
                        example: Invalid input
                      details:
                        type: array
                        items:
                          type: object
                          properties:
                            message:
                              type: string
                              description: Human-readable issue description
                            context:
                              type: object
                              additionalProperties: {}
                              description: >-
                                Structured issue context (e.g. `{ path:
                                "destination.chainId" }`)
                          required:
                            - message
                        description: Per-field validation issues
                    required:
                      - code
                      - message
                  - type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - SIMULATION_FAILED
                      message:
                        type: string
                        description: Human-readable error message
                        example: Invalid input
                      details:
                        type: object
                        properties:
                          nonce:
                            type: string
                          category:
                            type: string
                          errorSelector:
                            type: string
                          errorName:
                            type: string
                          errorArgs:
                            type: object
                            additionalProperties:
                              type: string
                          retryable:
                            type: boolean
                          retryHint:
                            type: string
                            enum:
                              - RE_PREPARE
                              - RETRY_LATER
                          simulations: {}
                        required:
                          - category
                          - errorSelector
                          - errorName
                          - retryable
                        additionalProperties: true
                        description: Classified on-chain simulation failure details
                    required:
                      - code
                      - message
                  - type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - INSUFFICIENT_LIQUIDITY
                      message:
                        type: string
                        description: Human-readable error message
                        example: Invalid input
                      details:
                        type: object
                        properties:
                          availableIntents:
                            type: array
                            items:
                              type: object
                              additionalProperties:
                                type: string
                            description: Intents fillable with current liquidity
                          unfillable:
                            type: object
                            additionalProperties:
                              type: string
                            description: Token amounts that cannot be filled
                        required:
                          - availableIntents
                          - unfillable
                        description: Fillable subset and unfillable remainder
                    required:
                      - code
                      - message
                  - type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - KEY_SCOPE_DENIED
                      message:
                        type: string
                        description: Human-readable error message
                        example: Invalid input
                      details:
                        type: array
                        items:
                          type: object
                          properties:
                            message:
                              type: string
                            context:
                              type: object
                              properties:
                                scope:
                                  type: string
                                  enum:
                                    - allowMainnet
                                    - intents
                                    - deposits
                                  description: Which scope rejected the request
                                required:
                                  description: Minimum level the endpoint demands
                                  anyOf:
                                    - type: boolean
                                    - type: string
                                      enum:
                                        - read
                                        - write
                                actual:
                                  description: Level resolved on the key
                                  anyOf:
                                    - type: boolean
                                    - type: string
                                      enum:
                                        - none
                                        - read
                                        - write
                              required:
                                - scope
                                - required
                                - actual
                          required:
                            - message
                            - context
                        description: Single-element list describing the failing scope
                    required:
                      - code
                      - message
                  - type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - NOT_FOUND
                          - UNAUTHORIZED
                          - FORBIDDEN
                          - SPONSORSHIP_BINDING_MISMATCH
                          - SPONSORSHIP_BINDING_UNSUPPORTED
                          - QUOTE_AUTHORIZATION_MISSING
                          - QUOTE_OWNER_MISMATCH
                          - QUOTE_AUTHORIZATION_EXPIRED
                          - SPONSORSHIP_AUTHORIZATION_USED
                          - CONFLICT
                          - WITHDRAWAL_IN_PROGRESS
                          - UNPROCESSABLE_CONTENT
                          - TOO_MANY_REQUESTS
                          - SETTLEMENT_QUOTE_ERROR
                          - SETTLEMENT_EXECUTION_ERROR
                          - EXTERNAL_SERVICE_TIMEOUT
                          - RELAYER_MARKET_UNAVAILABLE
                          - SERVICE_PAUSED
                          - INTERNAL_ERROR
                        description: Machine-readable error code
                      message:
                        type: string
                        description: Human-readable error message
                        example: Invalid input
                      details:
                        type: array
                        items:
                          type: object
                          properties:
                            message:
                              type: string
                              description: Error message
                            context:
                              type: object
                              additionalProperties: {}
                              description: >-
                                Structured context. A planning refusal names its
                                reason in `context.code` (e.g.
                                `NO_PLAN_AVAILABLE`).
                          required:
                            - message
                        description: The error and its structured context
                    required:
                      - code
                      - message
      security: []

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.