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

# Get a unified list of multi-chain assets

> 
Returns a list of tokens containing metadata for multiple blockchains in one single model.

### Key Capabilities:
- **Cross-Chain Discovery:** Instantly identify every network where a specific asset maintains a liquidity presence.
- **Metadata Consolidation:** Retrieve a single, high-fidelity model containing localized contract addresses and decimal precision for every supported chain.
- **Operational Efficiency:** Eliminate the need for manual network switching or multiple RPC calls to resolve cross-chain token identities.



## OpenAPI

````yaml https://api.hydric.org/v1/openapi.json post /v1/tokens
openapi: 3.1.0
info:
  title: hydric Gateway API
  description: Access DeFi Liquidity easily. One plug. Every Protocol. Every Network.
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.hydric.org
security:
  - bearerAuth: []
tags: []
paths:
  /v1/tokens:
    post:
      tags:
        - Tokens
      summary: Get a unified list of multi-chain assets
      description: >-

        Returns a list of tokens containing metadata for multiple blockchains in
        one single model.


        ### Key Capabilities:

        - **Cross-Chain Discovery:** Instantly identify every network where a
        specific asset maintains a liquidity presence.

        - **Metadata Consolidation:** Retrieve a single, high-fidelity model
        containing localized contract addresses and decimal precision for every
        supported chain.

        - **Operational Efficiency:** Eliminate the need for manual network
        switching or multiple RPC calls to resolve cross-chain token identities.
      operationId: TokensController_getMultiChainTokenList
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetMultiChainTokenListRequestParams'
      responses:
        '200':
          description: The registry of multi-chain assets was successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMultiChainTokenListResponse'
        '400':
          description: Invalid limit parameter.
          content:
            application/json:
              example:
                statusCode: 400
                timestamp: '2026-02-28T19:40:59.721Z'
                path: /tokens
                traceId: doc_sample_trace_id
                error:
                  code: VALIDATION_ERROR
                  title: Invalid Parameters
                  message: limit must not be greater than 1000
                  details: Check the 'meta' field for specific field-level violations.
                  metadata:
                    property: limit
                    value: 101
                    constraints:
                      max:
                        - limit must not be greater than 1000
components:
  schemas:
    GetMultiChainTokenListRequestParams:
      type: object
      properties:
        config:
          description: >-
            Configuration for the token list request such as limit, order,
            cursor, etc.
          allOf:
            - $ref: '#/components/schemas/MultiChainTokenListConfig'
        filters:
          description: Filters for the token list request to personalize the response.
          allOf:
            - $ref: '#/components/schemas/MultiChainTokenListFilter'
    GetMultiChainTokenListResponse:
      type: object
      properties:
        tokens:
          description: List of multi-chain tokens
          type: array
          items:
            $ref: '#/components/schemas/MultiChainTokenMetadata'
        nextCursor:
          type: object
          description: Cursor for the next page. Null if no more results.
          example: eJzLKCkpSs3LT0rNz0tRBAAdewMF
          nullable: true
      required:
        - tokens
    MultiChainTokenListConfig:
      type: object
      properties:
        matchAllSymbols:
          type: boolean
          description: >-

            Toggles the inclusion of multiple assets sharing the exact same
            ticker symbol.


            * **false (Default):** Returns only the single most liquid (highest
            TVL) instance per chain. This is the "Canonical View" used to filter
            out secondary deployments.

            * **true:** Includes every asset on a chain that matches the symbol
            string exactly, provided they pass basic price and metadata parity
            checks.


            > ### ⚠️ Security Note

            > When set to `true`, the probability of encountering
            **impersonation or scam tokens** increases. While hydric applies
            secondary heuristics (price,liquidity, etc.), enabling this flag
            bypasses the primary canonical filter. **Users assume all risks
            associated with verifying the authenticity of non-canonical contract
            addresses returned by this configuration.**
          default: false
          example: false
        limit:
          type: number
          description: The number of items to return in the response.
          minimum: 1
          maximum: 500
          default: 10
          example: 10
        orderBy:
          description: >-

            Ordering configuration for the result.


            **Critical Notes:**

            - **Sequence Integrity:** Do not expect a 100% perfect sequence.
            Because multi-chain data is computed on-the-fly, some tokens may
            appear slightly out of order. This is an approximation used to
            maintain high-speed responses.

            - **Pagination Warning:** Changing the sorting parameters while
            using a cursor will break your pagination flow and return
            inconsistent results.
                
          allOf:
            - $ref: '#/components/schemas/TokenOrder'
        cursor:
          type: string
          description: >-
            Base64-encoded cursor for pagination. Fetch this from the
            "nextCursor" field of a previous response. Do not pass this if you
            want to start from the beginning.
          example: null
          default: null
    MultiChainTokenListFilter:
      type: object
      properties:
        chainIds:
          type: array
          description: >-
            Filter results to specific networks by chain ID. If omitted,
            defaults to all supported networks.
          example:
            - 1
            - 8453
          uniqueItems: true
          items:
            type: number
            enum:
              - 1
              - 143
              - 130
              - 999
              - 8453
              - 9745
              - 534352
        minimumTotalValuePooledUsd:
          type: number
          description: >-

            The minimum aggregate liquidity in USD for a token to be included in
            the response. 

            This filters out low-liquidity assets across the indexed ecosystems.
          example: 50000
          default: 10000
          minimum: 0
        minimumSwapsCount:
          type: number
          description: >-
            The minimum cumulative swap count required for an asset to be
            included in the response.
          default: 1000
          example: 1000
        minimumSwapVolumeUsd:
          type: number
          description: >-

            The minimum cumulative **Swap Volume** (USD) since the asset was
            deployed.
          default: 100000
          example: 100000
        ignoreWrappedNative:
          type: boolean
          description: >-

            If set to **true** (default), the response will exclude Wrapped
            Native tokens (e.g., WETH on Ethereum, WMATIC on Polygon).

            Use **false** if you specifically need the ERC-20 wrapped version of
            the native asset. But note that both the native token and its
            wrapped version will appear in the results
          default: true
          example: true
    MultiChainTokenMetadata:
      type: object
      properties:
        addresses:
          description: >-
            The collection of underlying contract addresses for this token
            across multiple chains.
          type: array
          items:
            $ref: '#/components/schemas/BlockchainAddress'
        symbol:
          type: string
          description: The representative token symbol across all chains
          example: USDC
        name:
          type: string
          description: The representative token name across all chains
          example: USD Coin
        logoUrl:
          type: string
          description: The representative token logo across all chains
          example: >-
            https://logos.hydric.org/tokens/1/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
        chainIds:
          type: array
          description: The chain IDs where this token is available
          example:
            - 1
            - 8453
          items:
            type: number
            enum:
              - 1
              - 143
              - 130
              - 999
              - 8453
              - 9745
              - 534352
      description: >-
        Simple metadata for a single token across multiple blockchain
        ecosystems. This aggregates fragmented chain-specific metadata into a
        unified model to simplify cross-chain interactions.
      required:
        - addresses
        - symbol
        - name
        - logoUrl
        - chainIds
    TokenOrder:
      type: object
      properties:
        field:
          type: string
          enum:
            - tvl
          default: tvl
          description: Field that you want to order tokens by.
          example: tvl
        direction:
          type: string
          enum:
            - desc
            - asc
          default: desc
          description: Sorting direction of the selected field.
          example: desc
    BlockchainAddress:
      type: object
      properties:
        chainId:
          type: number
          description: The chain id of the address. Must be one of the supported networks
          enum:
            - 1
            - 143
            - 130
            - 999
            - 8453
            - 9745
            - 534352
          example: 1
        address:
          type: string
          description: The address tied to the blockchain
          example: '0x0000000000000000000000000000000000000000'
      description: An address that is tied to a blockchain
      required:
        - chainId
        - address
  securitySchemes:
    bearerAuth:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: >-
        Use the docs sandbox API key for authentication:
        **hydric_docs_4N4ocuirsN8Sh**

````