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

# Search for multi-chain assets

> Searches for assets across all supported blockchains by keyword (name or symbol).



## OpenAPI

````yaml https://api.hydric.org/v1/openapi.json post /v1/tokens/search
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/search:
    post:
      tags:
        - Tokens
      summary: Search for multi-chain assets
      description: >-
        Searches for assets across all supported blockchains by keyword (name or
        symbol).
      operationId: TokensController_searchMultichainTokens
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchMultichainTokensRequestParams'
      responses:
        '200':
          description: The search results were successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchMultichainTokensResponse'
        '400':
          description: Validation failed for search query or filtering parameters.
          content:
            application/json:
              example:
                statusCode: 400
                timestamp: '2026-02-28T19:40:59.722Z'
                path: /tokens/search
                traceId: doc_sample_trace_id
                error:
                  code: VALIDATION_ERROR
                  title: Invalid Parameters
                  message: search must not be empty
                  details: Check the 'meta' field for specific field-level violations.
                  metadata:
                    property: search
                    value: 123
                    constraints:
                      isString:
                        - search must be a string
components:
  schemas:
    SearchMultichainTokensRequestParams:
      type: object
      properties:
        search:
          type: string
          description: >-

            The search term to filter assets by ticker symbol or name.

            - **Ticker Symbol or Name:** (e.g., 'ETH', 'USD', 'Wrapped') —
            Case-insensitive substring match.
          example: ETH
          minLength: 1
        config:
          description: >-
            Configuration for the search results such as limit, order, cursor,
            etc.
          allOf:
            - $ref: '#/components/schemas/MultiChainTokenListConfig'
        filters:
          description: Additional filters to personalize the search results.
          allOf:
            - $ref: '#/components/schemas/MultiChainTokenSearchFilter'
      required:
        - search
    SearchMultichainTokensResponse:
      type: object
      properties:
        tokens:
          description: List of matching Multichain tokens
          type: array
          items:
            $ref: '#/components/schemas/MultiChainTokenMetadata'
        nextCursor:
          type: object
          description: Cursor for the next page of search results. Null if no more results.
          example: eJzLKCkpSs3LT0rNz0tRBAAdewMF
          nullable: true
        filters:
          description: The filters applied to the search.
          allOf:
            - $ref: '#/components/schemas/MultiChainTokenSearchFilter'
      required:
        - tokens
        - filters
    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
    MultiChainTokenSearchFilter:
      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 search. Search uses 0 by default to show most results.
          default: 0
          example: 10000
        minimumSwapsCount:
          type: number
          description: >-
            The minimum cumulative swap count for a token to be included in the
            search. Search uses 0 by default.
          default: 0
          example: 100
        minimumSwapVolumeUsd:
          type: number
          description: >-
            The minimum cumulative Swap Volume (USD) for a token to be included
            in the search. Search uses 0 by default.
          default: 0
          example: 100000
        ignoreWrappedNative:
          type: boolean
          description: >-

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

            Defaults to **false** for search operations to ensure users can find
            WETH if they search for it.
          default: false
          example: false
    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**

````