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

# Currency Search (Typeahead)

> Token search for source/destination pickers. Queries shorter than 2 characters return an empty list.



## OpenAPI

````yaml https://api.coinvoyage.io/v3/openapi.json get /search/currencies
openapi: 3.1.0
info:
  title: CoinVoyage API (v3)
  description: >-
    CoinVoyage v3 payment API. Unified Intent envelope, snake_case money via the
    Amount shape, and a single SHA-256 signature scheme.
  version: 3.0.0
servers:
  - url: https://api.coinvoyage.io/v3
security: []
paths:
  /search/currencies:
    get:
      tags:
        - search
      summary: Currency Search (Typeahead)
      description: >-
        Token search for source/destination pickers. Queries shorter than 2
        characters return an empty list.
      operationId: v3CurrencySearch
      parameters:
        - description: API key for authentication
          in: header
          name: X-API-KEY
          required: true
          schema:
            type: string
        - description: >-
            Search query (symbol, name fragment, or address prefix). Minimum 2
            characters.
          in: query
          name: q
          required: true
          schema:
            minLength: 2
            type: string
        - description: Comma-separated ChainID filter.
          in: query
          name: chain_ids
          required: false
          schema:
            type: string
        - description: Maximum results (default 20, max 50).
          in: query
          name: limit
          required: false
          schema:
            default: 20
            maximum: 50
            minimum: 1
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CurrencySearchResponse'
          description: Ranked currency matches (may be empty)
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Per-IP rate-limit exceeded
      security:
        - APIKeyHeader: []
components:
  schemas:
    CurrencySearchResponse:
      example:
        currencies:
          - address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
            chain_id: 1
            decimals: 6
            id: 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48:1
            image_uri: https://...
            name: USD Coin
            price_usd: 1
            symbol: USDC
      properties:
        currencies:
          items:
            $ref: '#/components/schemas/CurrencySearchItem'
          type: array
      required:
        - currencies
      type: object
    ErrorResponse:
      example:
        code: 400
        error: Bad Request
        message: Invalid request parameters
      properties:
        error:
          example: Bad Request
          type: string
        message:
          example: Invalid request parameters
          type: string
        code:
          example: 400
          format: int64
          type: integer
        details:
          anyOf:
            - type: string
            - type: number
            - type: object
      required:
        - error
        - message
        - code
      type: object
    CurrencySearchItem:
      example:
        address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
        chain_id: 1
        decimals: 6
        id: 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48:1
        image_uri: https://...
        name: USD Coin
        price_usd: 1
        symbol: USDC
      properties:
        id:
          example: 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48:1
          type: string
        chain_id:
          $ref: '#/components/schemas/ChainID'
          example: 1
        address:
          example: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
          type:
            - string
            - 'null'
        symbol:
          example: USDC
          type: string
        name:
          example: USD Coin
          type: string
        decimals:
          example: 6
          format: int64
          type: integer
        image_uri:
          example: https://...
          type:
            - string
            - 'null'
        price_usd:
          example: 1
          type:
            - number
            - 'null'
      required:
        - id
        - chain_id
        - symbol
        - name
        - decimals
      type: object
    ChainID:
      enum:
        - 1
        - 10
        - 56
        - 137
        - 8453
        - 42161
        - 20000000000001
        - 30000000000001
        - 30000000000002
      example: 1
      format: int64
      type: integer
  securitySchemes:
    APIKeyHeader:
      in: header
      name: X-API-KEY
      type: apiKey

````