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

# Get token details

> Get one token's launch data and optionally include its pool, market, allocations, vesting, and recent announcements.



## OpenAPI

````yaml /launchpad-api-openapi.yaml get /tokens/{chain_id}/{token_address}
openapi: 3.1.0
info:
  title: o1 Launchpad Public API
  version: 1.0.0
  description: >-
    Non-custodial API for launchpad data and unsigned transaction preparation on
    Base and Robinhood.
servers:
  - url: https://api.launch.o1.exchange/v1
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Meta
    description: Service health and live integration configuration.
  - name: Tokens
    description: Token discovery, detail, activity, and holder data.
  - name: Wallets
    description: Public wallet activity and claim positions.
  - name: Transactions
    description: Indexed launchpad transaction state.
  - name: Launches
    description: Unsigned launch transaction preparation.
  - name: Swaps
    description: Exact-input swap quotes and unsigned router transactions.
  - name: Claims
    description: Unsigned fee and vesting claim transactions.
  - name: Creators
    description: Unsigned creator announcement and metadata transactions.
paths:
  /tokens/{chain_id}/{token_address}:
    get:
      tags:
        - Tokens
      summary: Get token details
      description: >-
        Get one token's launch data and optionally include its pool, market,
        allocations, vesting, and recent announcements.
      operationId: getToken
      parameters:
        - name: chain_id
          in: path
          required: true
          description: Production chain containing the resource.
          schema:
            $ref: '#/components/schemas/ChainId'
        - name: token_address
          in: path
          required: true
          description: Launch token contract address.
          schema:
            $ref: '#/components/schemas/Address'
        - name: include
          in: query
          description: >-
            Comma-separated subset of pool, market, allocations, vesting, and
            announcements.
          schema:
            type: string
            default: pool,market
        - name: announcements_limit
          in: query
          description: Maximum recent announcements when announcements are included.
          schema:
            type: integer
            minimum: 1
            maximum: 10
            default: 3
      responses:
        '200':
          description: Launch and requested token resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenDetailResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/Unprocessable'
        '429':
          $ref: '#/components/responses/RateLimited'
        '502':
          $ref: '#/components/responses/UpstreamError'
        '503':
          $ref: '#/components/responses/Unavailable'
        '504':
          $ref: '#/components/responses/UpstreamTimeout'
components:
  schemas:
    ChainId:
      type: integer
      enum:
        - 8453
        - 4663
      examples:
        - 8453
    Address:
      type: string
      pattern: ^0x[0-9a-fA-F]{40}$
      examples:
        - '0x1111111111111111111111111111111111111111'
    TokenDetailResponse:
      type: object
      required:
        - data
        - meta
      properties:
        data:
          $ref: '#/components/schemas/TokenDetail'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
    TokenDetail:
      type: object
      required:
        - chain_id
        - market
        - token
        - launch
      properties:
        chain_id:
          type: integer
          enum:
            - 8453
            - 4663
          examples:
            - 8453
        market:
          type: string
          enum:
            - standard
            - rwa
        token:
          $ref: '#/components/schemas/TokenDetailIdentity'
        launch:
          $ref: '#/components/schemas/LaunchDetail'
        pool:
          oneOf:
            - $ref: '#/components/schemas/Pool'
            - type: 'null'
        market_data:
          oneOf:
            - $ref: '#/components/schemas/MarketDataDetail'
            - type: 'null'
        allocations:
          type: array
          items:
            $ref: '#/components/schemas/Allocation'
        vesting:
          type: array
          items:
            $ref: '#/components/schemas/VestingPosition'
        announcements:
          type: array
          items:
            $ref: '#/components/schemas/Announcement'
    ResponseMeta:
      type: object
      required:
        - request_id
        - generated_at
        - warnings
      properties:
        request_id:
          type: string
          examples:
            - req_01JZZZZZZZZZZZZZZZZZZZZZZZ
        generated_at:
          type: string
          format: date-time
          examples:
            - '2026-07-31T12:00:00.000Z'
        warnings:
          type: array
          items:
            type: string
    Problem:
      type: object
      required:
        - type
        - title
        - status
        - code
        - detail
        - request_id
      properties:
        type:
          type: string
          format: uri
        title:
          type: string
        status:
          type: integer
          minimum: 400
          maximum: 599
        code:
          type: string
        detail:
          type: string
        instance:
          type: string
        request_id:
          type: string
    TokenDetailIdentity:
      type: object
      required:
        - address
        - name
        - symbol
        - decimals
        - total_supply_raw
      properties:
        address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        name:
          type: string
        symbol:
          type: string
        decimals:
          type: integer
          minimum: 0
          maximum: 255
        image_url:
          type: string
          format: uri
        description:
          type: string
        contract_uri:
          type: string
        website:
          type: string
          format: uri
        x:
          type: string
          format: uri
        telegram:
          type: string
          format: uri
        total_supply_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
    LaunchDetail:
      type: object
      required:
        - creator_address
        - suite
        - pool_id
        - quote
        - features
        - contracts
        - onchain
        - created_at
      properties:
        creator_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        suite:
          $ref: '#/components/schemas/SuiteReference'
        pool_id:
          type: string
          pattern: ^0x[0-9a-fA-F]{64}$
          examples:
            - '0x1111111111111111111111111111111111111111111111111111111111111111'
        quote:
          $ref: '#/components/schemas/QuoteIdentity'
        features:
          $ref: '#/components/schemas/LaunchFeatures'
        contracts:
          $ref: '#/components/schemas/LaunchContracts'
        onchain:
          $ref: '#/components/schemas/OnchainReference'
        created_at:
          type: string
          format: date-time
          examples:
            - '2026-07-31T12:00:00.000Z'
        creation_fee:
          $ref: '#/components/schemas/CreationFee'
    Pool:
      type: object
      required:
        - pool_id
        - pool_manager_address
        - currency0_address
        - currency1_address
        - token_is_currency0
        - hook_address
        - tick_spacing
        - fees
        - anti_snipe
        - seed
        - onchain
      properties:
        pool_id:
          type: string
          pattern: ^0x[0-9a-fA-F]{64}$
          examples:
            - '0x1111111111111111111111111111111111111111111111111111111111111111'
        pool_manager_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        currency0_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        currency1_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        token_is_currency0:
          type: boolean
        hook_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        tick_spacing:
          type: integer
        fees:
          $ref: '#/components/schemas/PoolFees'
        anti_snipe:
          $ref: '#/components/schemas/AntiSnipe'
        seed:
          $ref: '#/components/schemas/PoolSeed'
        onchain:
          $ref: '#/components/schemas/OnchainReference'
    MarketDataDetail:
      type: object
      required:
        - price
        - market_cap
        - liquidity
        - activity
        - last_trade_at
        - unique_traders_24h
        - pool_state
        - fee_revenue
        - quote_price
        - data_status
        - observed_block
        - confirmed_block
        - updated_at
      properties:
        price:
          type: object
          required:
            - quote
            - usd
          properties:
            quote:
              type:
                - number
                - 'null'
            usd:
              type:
                - number
                - 'null'
        market_cap:
          type: object
          required:
            - quote
            - usd
            - ath_quote
          properties:
            quote:
              type:
                - number
                - 'null'
            usd:
              type:
                - number
                - 'null'
            ath_quote:
              type:
                - number
                - 'null'
        liquidity:
          type: object
          required:
            - quote
            - usd
          properties:
            quote:
              type:
                - number
                - 'null'
            usd:
              type:
                - number
                - 'null'
        activity:
          type: object
          required:
            - 1h
            - 6h
            - 24h
            - lifetime
          properties:
            1h:
              $ref: '#/components/schemas/MarketWindow'
            6h:
              $ref: '#/components/schemas/MarketWindow'
            24h:
              $ref: '#/components/schemas/MarketWindow'
            lifetime:
              $ref: '#/components/schemas/MarketLifetime'
        last_trade_at:
          oneOf:
            - type: string
              format: date-time
              examples:
                - '2026-07-31T12:00:00.000Z'
            - type: 'null'
        unique_traders_24h:
          type:
            - integer
            - 'null'
        pool_state:
          type: object
          required:
            - tick
            - sqrt_price_x96
            - liquidity_raw
          properties:
            tick:
              type:
                - integer
                - 'null'
            sqrt_price_x96:
              oneOf:
                - type: string
                  pattern: ^(0|[1-9][0-9]*)$
                  examples:
                    - '1000000000000000000'
                - type: 'null'
            liquidity_raw:
              oneOf:
                - type: string
                  pattern: ^(0|[1-9][0-9]*)$
                  examples:
                    - '1000000000000000000'
                - type: 'null'
        fee_revenue:
          type: array
          items:
            $ref: '#/components/schemas/FeeRevenue'
        quote_price:
          type: object
          required:
            - usd
            - updated_at
          properties:
            usd:
              type:
                - number
                - 'null'
            updated_at:
              oneOf:
                - type: string
                  format: date-time
                  examples:
                    - '2026-07-31T12:00:00.000Z'
                - type: 'null'
        data_status:
          type: string
          enum:
            - fresh
            - syncing
            - partial
            - stale
        observed_block:
          type:
            - integer
            - 'null'
        confirmed_block:
          type:
            - integer
            - 'null'
        updated_at:
          oneOf:
            - type: string
              format: date-time
              examples:
                - '2026-07-31T12:00:00.000Z'
            - type: 'null'
    Allocation:
      type: object
      required:
        - recipient
        - amount_raw
        - onchain
      properties:
        recipient:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        amount_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
        supply_bps:
          type: integer
          minimum: 0
          maximum: 10000
        onchain:
          $ref: '#/components/schemas/OnchainReference'
    VestingPosition:
      type: object
      required:
        - kind
        - chain_id
        - market
        - suite
        - vault_address
        - token_address
        - token
        - beneficiary
        - total_raw
        - vested_raw
        - claimed_raw
        - claimable_raw
        - state
        - onchain
      properties:
        kind:
          type: string
          const: vesting
        chain_id:
          type: integer
          enum:
            - 8453
            - 4663
          examples:
            - 8453
        market:
          type: string
          enum:
            - standard
            - rwa
        suite:
          $ref: '#/components/schemas/SuiteReference'
        vault_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        token_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        token:
          $ref: '#/components/schemas/TokenReference'
        beneficiary:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        total_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
        vested_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
        claimed_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
        claimable_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
        schedule:
          type: array
          items:
            $ref: '#/components/schemas/VestingPoint'
        next_unlock_at:
          type: string
          format: date-time
          examples:
            - '2026-07-31T12:00:00.000Z'
        completed_at:
          type: string
          format: date-time
          examples:
            - '2026-07-31T12:00:00.000Z'
        state:
          type: string
          enum:
            - locked
            - claimable
            - complete
        price_usd:
          type: number
          minimum: 0
        onchain:
          $ref: '#/components/schemas/VestingOnchainReference'
    Announcement:
      type: object
      required:
        - kind
        - announcement_id
        - token_address
        - creator_address
        - description
        - timestamp
        - onchain
      properties:
        kind:
          type: string
          const: announcement
        announcement_id:
          type: string
          pattern: ^0x[0-9a-fA-F]{64}$
          examples:
            - '0x1111111111111111111111111111111111111111111111111111111111111111'
        token_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        creator_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        description:
          type: string
        uri:
          type: string
        timestamp:
          type: string
          format: date-time
          examples:
            - '2026-07-31T12:00:00.000Z'
        onchain:
          $ref: '#/components/schemas/OnchainReference'
    SuiteReference:
      type: object
      required:
        - id
      properties:
        id:
          type: string
        version:
          type: string
    QuoteIdentity:
      type: object
      required:
        - address
        - symbol
        - decimals
      properties:
        address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        symbol:
          type: string
        decimals:
          type:
            - integer
            - 'null'
          minimum: 0
          maximum: 255
    LaunchFeatures:
      type: object
      required:
        - allocations
        - vesting
        - editable_metadata
      properties:
        allocations:
          type: boolean
        vesting:
          type: boolean
        editable_metadata:
          type: boolean
    LaunchContracts:
      type: object
      required:
        - factory_address
        - hook_address
        - fee_escrow_address
        - vesting_vault_address
        - announcement_registry_address
      properties:
        factory_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        hook_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        fee_escrow_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        vesting_vault_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        announcement_registry_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
    OnchainReference:
      type: object
      properties:
        transaction_hash:
          type: string
          pattern: ^0x[0-9a-fA-F]{64}$
          examples:
            - '0x1111111111111111111111111111111111111111111111111111111111111111'
        block_number:
          type: integer
          minimum: 0
        block_hash:
          type: string
          pattern: ^0x[0-9a-fA-F]{64}$
          examples:
            - '0x1111111111111111111111111111111111111111111111111111111111111111'
        log_index:
          type: integer
          minimum: 0
        finality:
          type: string
          enum:
            - observed
            - confirmed
    CreationFee:
      type: object
      required:
        - amount_raw
        - currency_address
      properties:
        amount_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
        currency_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        decimals:
          type: integer
          minimum: 0
          maximum: 255
        symbol:
          type: string
    PoolFees:
      type: object
      required:
        - base_fee_bps
        - distribution_bps
      properties:
        base_fee_bps:
          type: integer
          minimum: 0
          maximum: 10000
        distribution_bps:
          $ref: '#/components/schemas/FeeDistribution'
    AntiSnipe:
      type: object
      required:
        - clock
        - start_total_bps
      properties:
        clock:
          type: string
          enum:
            - block
            - timestamp
        start_total_bps:
          type: integer
          minimum: 0
          maximum: 10000
        window_seconds:
          type: integer
          minimum: 0
        launch_time:
          type: string
          format: date-time
          examples:
            - '2026-07-31T12:00:00.000Z'
        window_blocks:
          type: integer
          minimum: 0
        launch_block:
          type: integer
          minimum: 0
    PoolSeed:
      type: object
      required:
        - positions
      properties:
        token_amount_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
        positions:
          type: array
          items:
            $ref: '#/components/schemas/PoolSeedPosition'
    MarketWindow:
      type: object
      required:
        - trades
        - volume_quote_raw
      properties:
        trades:
          type:
            - integer
            - 'null'
        volume_quote_raw:
          oneOf:
            - type: string
              pattern: ^(0|[1-9][0-9]*)$
              examples:
                - '1000000000000000000'
            - type: 'null'
        volume_usd:
          type:
            - number
            - 'null'
    MarketLifetime:
      type: object
      required:
        - trades
        - volume_quote_raw
      properties:
        trades:
          type:
            - integer
            - 'null'
        volume_quote_raw:
          oneOf:
            - type: string
              pattern: ^(0|[1-9][0-9]*)$
              examples:
                - '1000000000000000000'
            - type: 'null'
    FeeRevenue:
      type: object
      required:
        - currency_address
        - creator_raw
        - referrer_raw
        - platform_raw
      properties:
        currency_address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        creator_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
        referrer_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
        platform_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
    TokenReference:
      type: object
      required:
        - chain_id
        - market
        - address
        - name
        - symbol
        - decimals
      properties:
        chain_id:
          type: integer
          enum:
            - 8453
            - 4663
          examples:
            - 8453
        market:
          type: string
          enum:
            - standard
            - rwa
        address:
          type: string
          pattern: ^0x[0-9a-fA-F]{40}$
          examples:
            - '0x1111111111111111111111111111111111111111'
        name:
          type: string
        symbol:
          type: string
        decimals:
          type: integer
          minimum: 0
          maximum: 255
        image_url:
          type: string
          format: uri
    VestingPoint:
      type: object
      required:
        - unlocks_at
        - cumulative_amount_raw
        - cumulative_bps
      properties:
        unlocks_at:
          type: string
          format: date-time
          examples:
            - '2026-07-31T12:00:00.000Z'
        cumulative_amount_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
        cumulative_bps:
          type: integer
          minimum: 0
          maximum: 10000
    VestingOnchainReference:
      type: object
      required:
        - transaction_hash
        - finality
      properties:
        transaction_hash:
          type: string
          pattern: ^0x[0-9a-fA-F]{64}$
          examples:
            - '0x1111111111111111111111111111111111111111111111111111111111111111'
        block_number:
          type: integer
          minimum: 0
        block_hash:
          type: string
          pattern: ^0x[0-9a-fA-F]{64}$
          examples:
            - '0x1111111111111111111111111111111111111111111111111111111111111111'
        log_index:
          type: integer
          minimum: 0
        finality:
          type: string
          enum:
            - observed
            - confirmed
    FeeDistribution:
      type: object
      required:
        - creator
        - platform
        - referrer
      properties:
        creator:
          type: integer
          minimum: 0
          maximum: 10000
        platform:
          type: integer
          minimum: 0
          maximum: 10000
        referrer:
          type: integer
          minimum: 0
          maximum: 10000
    PoolSeedPosition:
      type: object
      required:
        - tick_lower
        - tick_upper
        - liquidity_raw
      properties:
        tick_lower:
          type: integer
        tick_upper:
          type: integer
        liquidity_raw:
          type: string
          pattern: ^(0|[1-9][0-9]*)$
          examples:
            - '1000000000000000000'
  responses:
    BadRequest:
      description: The request syntax, parameter combination, cursor, or body is invalid.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    Unauthorized:
      description: >-
        The API key is missing, malformed, expired, revoked, or otherwise
        invalid.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    Forbidden:
      description: >-
        The API key scope, browser origin, or connected wallet is not
        authorized.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    NotFound:
      description: The requested tracked launchpad resource does not exist.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    Unprocessable:
      description: >-
        The request is valid JSON but is unsupported, invalid on-chain, or not
        executable.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    RateLimited:
      description: >-
        The key, wallet, token, creator, or expensive operation exceeded a rate
        or concurrency limit.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
      headers:
        Retry-After:
          description: Seconds until the limited operation may be retried.
          schema:
            type: integer
            minimum: 1
    UpstreamError:
      description: >-
        A required chain, metadata, indexer, or holder provider returned an
        invalid response.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    Unavailable:
      description: >-
        A required service, chain dependency, cursor signer, or holder snapshot
        is unavailable.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    UpstreamTimeout:
      description: A required upstream service timed out.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Production API key beginning with o1_launch_.

````