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

# List tokens

> The assets that trade on Robinhood Chain.

Tokenized stocks carry their issuer metadata, including the corporate-action
multiplier — balances do not rebase on a split, so a quote for the
underlying only becomes a token price once that is applied.

Memecoins carry the launch they came from. Every price carries the source it
was resolved from and a confidence: below 0.6 it came from a pool shallow
enough that one trade moves it, and every dollar figure derived from it is
indicative.



## OpenAPI

````yaml /v2/combined_spec.json get /v2/risk_yield/tokens
openapi: 3.1.0
info:
  title: Compass API
  description: Compass Labs DeFi API
  version: 0.0.1
servers:
  - url: https://api.compasslabs.ai
    description: Production server
security:
  - ApiKeyAuth: []
paths:
  /v2/risk_yield/tokens:
    get:
      tags:
        - Risk Yield
      summary: List tokens
      description: >-
        The assets that trade on Robinhood Chain.


        Tokenized stocks carry their issuer metadata, including the
        corporate-action

        multiplier — balances do not rebase on a split, so a quote for the

        underlying only becomes a token price once that is applied.


        Memecoins carry the launch they came from. Every price carries the
        source it

        was resolved from and a confidence: below 0.6 it came from a pool
        shallow

        enough that one trade moves it, and every dollar figure derived from it
        is

        indicative.
      operationId: v2_risk_yield_tokens
      parameters:
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            default: 0
            title: Offset
          description: The offset of the first item to return.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 1000
            exclusiveMinimum: 0
            default: 20
            title: Limit
          description: The number of items to return.
        - name: chain
          in: query
          required: true
          schema:
            type: string
            enum:
              - robinhood
            title: Chain
            default: robinhood
        - name: kind
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/DexTokenKind'
              - type: 'null'
            title: Kind
            default: STOCK
          description: Filter to one kind of asset.
        - name: launchpad
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/Launchpad'
              - type: 'null'
            title: Launchpad
        - name: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                minLength: 2
              - type: 'null'
            title: Search
          description: Matches symbol, name or stock ticker.
        - name: has_price
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            title: Has Price
          description: Only tokens the indexer can currently price.
        - name: stock_ticker
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Stock Ticker
        - name: min_liquidity_usd
          in: query
          required: false
          schema:
            anyOf:
              - type: number
                minimum: 0
              - type: string
                pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
              - type: 'null'
            title: Min Liquidity Usd
        - name: order_by
          in: query
          required: false
          schema:
            type: string
            enum:
              - liquidity_usd
              - volume_24h_usd
              - market_cap_usd
              - price_change_24h_pct
              - created_at
            title: TokenOrderBy
            default: liquidity_usd
        - name: direction
          in: query
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
            title: Direction
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DexTokensResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      x-codeSamples:
        - lang: python
          label: Python (SDK)
          source: |-
            from compass_api_sdk import CompassAPI, models


            with CompassAPI(
                api_key_auth="<YOUR_API_KEY_HERE>",
            ) as compass_api:

                res = compass_api.risk_yield.risk_yield_tokens(chain=models.V2RiskYieldTokensChain.ROBINHOOD, offset=0, limit=20, kind=models.DexTokenKind.STOCK, order_by=models.TokenOrderBy.LIQUIDITY_USD)

                # Handle response
                print(res)
        - lang: typescript
          label: Typescript (SDK)
          source: |-
            import { CompassApiSDK } from "@compass-labs/api-sdk";

            const compassApiSDK = new CompassApiSDK({
              apiKeyAuth: "<YOUR_API_KEY_HERE>",
            });

            async function run() {
              const result = await compassApiSDK.riskYield.riskYieldTokens({
                offset: 0,
                limit: 20,
                chain: "robinhood",
                kind: "STOCK",
                orderBy: "liquidity_usd",
              });

              console.log(result);
            }

            run();
components:
  schemas:
    DexTokenKind:
      type: string
      enum:
        - STOCK
        - STABLE
        - NATIVE
        - WRAPPED_NATIVE
        - MAJOR
        - LAUNCHPAD_MEME
        - OTHER
      title: DexTokenKind
    Launchpad:
      type: string
      enum:
        - PONS_V1
        - PONS_V2
        - POOLS_TRADE
        - BAGS
      title: Launchpad
    DexTokensResponse:
      properties:
        total:
          type: integer
          title: Total
        offset:
          type: integer
          title: Offset
        limit:
          type: integer
          title: Limit
        tokens:
          items:
            $ref: '#/components/schemas/DexTokenInfo'
          type: array
          title: Tokens
        stats_updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Stats Updated At
          description: When the indexer last restated these numbers.
      type: object
      required:
        - total
        - offset
        - limit
        - tokens
      title: DexTokensResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DexTokenInfo:
      properties:
        address:
          type: string
          title: Address
        symbol:
          anyOf:
            - type: string
            - type: 'null'
          title: Symbol
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        decimals:
          anyOf:
            - type: integer
            - type: 'null'
          title: Decimals
          description: >-
            Null until read on chain. Never assume 18 here: the settlement
            stablecoin has six.
        kind:
          $ref: '#/components/schemas/DexTokenKind'
        price_usd:
          anyOf:
            - type: string
            - type: 'null'
          title: Price Usd
        price_source:
          anyOf:
            - $ref: '#/components/schemas/PriceSource'
            - type: 'null'
        price_confidence:
          anyOf:
            - type: string
            - type: 'null'
          title: Price Confidence
          description: >-
            0-1. Below 0.6 every USD figure derived from this token is
            indicative: it came from a pool shallow enough that one trade moves
            it.
        price_updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Price Updated At
        stock:
          anyOf:
            - $ref: '#/components/schemas/StockMetadata'
            - type: 'null'
        launchpad:
          anyOf:
            - $ref: '#/components/schemas/LaunchpadMetadata'
            - type: 'null'
        liquidity_usd:
          anyOf:
            - type: string
            - type: 'null'
          title: Liquidity Usd
          description: Total TVL of the watched pools holding this token.
        volume_24h_usd:
          anyOf:
            - type: string
            - type: 'null'
          title: Volume 24H Usd
        market_cap_usd:
          anyOf:
            - type: string
            - type: 'null'
          title: Market Cap Usd
        fdv_usd:
          anyOf:
            - type: string
            - type: 'null'
          title: Fdv Usd
        price_change_24h_pct:
          anyOf:
            - type: string
            - type: 'null'
          title: Price Change 24H Pct
        pool_count:
          type: integer
          title: Pool Count
          default: 0
        is_suspicious:
          type: boolean
          title: Is Suspicious
          description: The token failed a basic sanity check (an unreadable ERC-20).
          default: false
      type: object
      required:
        - address
        - kind
      title: DexTokenInfo
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    PriceSource:
      type: string
      enum:
        - CHAINLINK
        - RH_REST
        - LLAMA
        - POOL
        - PEG
      title: PriceSource
      description: >-
        Where a USD price came from, best first.


        Returned with every price because they are not equally trustworthy: a

        Chainlink feed is a measurement, a price read off a shallow pool is
        closer

        to a rumour.
    StockMetadata:
      properties:
        ticker:
          type: string
          title: Ticker
        ui_multiplier:
          anyOf:
            - type: string
            - type: 'null'
          title: Ui Multiplier
        pending_ui_multiplier:
          anyOf:
            - type: string
            - type: 'null'
          title: Pending Ui Multiplier
        pending_effective_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Pending Effective At
        chainlink_feed:
          anyOf:
            - type: string
            - type: 'null'
          title: Chainlink Feed
        token_paused:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Token Paused
        status:
          anyOf:
            - type: string
            - type: 'null'
          title: Status
        logo_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Logo Url
      type: object
      required:
        - ticker
      title: StockMetadata
      description: >-
        The issuer's side of a tokenized stock.


        `ui_multiplier` is the ERC-8056 corporate-action factor. It matters
        because

        balances do **not** rebase on a split: the token count stays put and
        this

        number changes, so a price quoted for the underlying has to be
        multiplied by

        it to mean anything about the token a pool holds.
    LaunchpadMetadata:
      properties:
        launchpad:
          $ref: '#/components/schemas/Launchpad'
        status:
          type: string
          title: Status
          description: >-
            CURVE (still bonding), GRADUATED (a tradable pool exists), or a
            wind-down state. Sweeping happens before graduation, so a swept
            launch that graduated is alive.
        pair_token:
          anyOf:
            - type: string
            - type: 'null'
          title: Pair Token
        graduation_pool_id:
          anyOf:
            - type: integer
            - type: 'null'
          title: Graduation Pool Id
        launched_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Launched At
        creator:
          anyOf:
            - type: string
            - type: 'null'
          title: Creator
      type: object
      required:
        - launchpad
        - status
      title: LaunchpadMetadata
      description: Where a memecoin came from, and whether it made it out of the curve.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Your Compass API Key. Get your key
        [here](https://www.compasslabs.ai/dashboard).

````