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

# Quote an Ondo asset

> Prices a buy or sell of an Ondo asset and returns the quantity, the per-token USD price and the decimals the quantity is denominated in. Free to poll while the user edits an order; it consumes no attestation. Takes no chain parameter, since Ondo runs no testnet and every environment prices against Ethereum mainnet.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/ondo/swap/quote
openapi: 3.0.0
info:
  title: Frontline API
  version: 0.1.0
servers:
  - url: https://api.coinlist.co
    variables: {}
security: []
tags:
  - name: DocumentSubmissions
  - name: KYC
  - name: OAuth
  - name: Offers
  - name: Ondo
  - name: Participations
  - name: Pii
  - name: Requirements
  - name: Swap
  - name: Token
  - name: Wallet
  - name: Wallet Ownership
paths:
  /v1/ondo/swap/quote:
    get:
      tags:
        - Ondo
      summary: Quote an Ondo asset
      description: >-
        Prices a buy or sell of an Ondo asset and returns the quantity, the
        per-token USD price and the decimals the quantity is denominated in.
        Free to poll while the user edits an order; it consumes no attestation.
        Takes no chain parameter, since Ondo runs no testnet and every
        environment prices against Ethereum mainnet.
      operationId: getOndoSwapQuote
      parameters:
        - description: Ondo asset symbol
          in: query
          name: symbol
          required: true
          schema:
            example: AAPLon
            type: string
        - description: Whether to price a buy or a sell
          in: query
          name: side
          required: true
          schema:
            enum:
              - buy
              - sell
            example: buy
            type: string
        - description: >-
            Quantity of the asset to price, as a decimal string of whole tokens.
            This is not the response's token_base_units, which is the same
            quantity in the asset's smallest unit. Exactly one of token_amount
            or notional_value is required.
          in: query
          name: token_amount
          required: false
          schema:
            example: '5'
            type: string
        - description: >-
            Dollar amount to price, as a decimal string. Exactly one of
            token_amount or notional_value is required. No CoinList fee is
            deducted: Ondo prices exactly this amount, so if you are sizing
            against a user's approval, subtract the fee before passing it here
            or the quote will overstate what they receive.
          in: query
          name: notional_value
          required: false
          schema:
            example: '1000'
            type: string
        - description: Requested quote duration. Omit to let Ondo apply its own default.
          in: query
          name: duration
          required: false
          schema:
            enum:
              - short
              - long
            example: short
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OndoSwapQuote'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error response.
      callbacks: {}
      security:
        - OAuth2: []
components:
  schemas:
    OndoSwapQuote:
      additionalProperties: false
      description: >-
        Indicative, size- and side-aware price for an Ondo asset. Free to poll
        and does not consume an attestation.
      properties:
        asset_address:
          description: ERC-20 contract address of the quoted asset
          example: '0x14c3abf95cb9c93a8b82c1cdcb76d72cb87b2d4c'
          type: string
        asset_decimals:
          description: >-
            Decimals of the asset_address contract. token_base_units is
            denominated in these, so divide by 10^asset_decimals to display
            whole tokens.
          example: 18
          type: integer
        chain_id:
          description: >-
            EIP-155 chain id the quote is priced on. Always "1": Ondo runs no
            testnet, so every environment prices against Ethereum mainnet.
          example: '1'
          type: string
        object:
          description: >-
            String representing the object's type. Objects of the same type
            share the same value.
          enum:
            - ondo_swap_quote
          type: string
        price:
          description: >-
            Price per whole token in USD, already scaled and so needing none of
            the handling token_base_units does. Ondo denominates it in USDon,
            which is 18 decimals on Ethereum, the only chain quoted here.
          example: '225.273151158540753535'
          type: string
        side:
          description: Side the quote was priced for
          enum:
            - buy
            - sell
          example: buy
          type: string
        symbol:
          description: Ondo asset symbol
          example: AAPLon
          type: string
        ticker:
          description: Ticker of the underlying security
          example: AAPL
          type: string
        token_base_units:
          description: >-
            Quantity of the asset in its smallest unit, as a decimal string. Use
            it as-is to build calldata, or scale it by asset_decimals to display
            it. Note this is not the token_amount request parameter, which is in
            whole tokens.
          example: '5000000000000000000'
          type: string
      required:
        - object
        - chain_id
        - symbol
        - ticker
        - asset_address
        - asset_decimals
        - side
        - token_base_units
        - price
      title: OndoSwapQuote
      type: object
    Error:
      additionalProperties: false
      properties:
        code:
          description: A human-readable message providing more details about the error.
          type: string
        errors:
          additionalProperties:
            items:
              type: string
            type: array
          type: object
        event_id:
          description: >-
            The unique identifier for the error event. This is useful for
            tracking and debugging.
          type: string
        message:
          description: >-
            For some errors that could be handled programmatically, a short
            string indicating the error code reported.
          type: string
        type:
          description: >-
            The type of error returned. One of `api_error`,
            `invalid_request_error`
          enum:
            - api_error
            - invalid_request_error
          type: string
      required:
        - type
        - message
      title: Error
      type: object
  securitySchemes:
    OAuth2:
      description: OAuth 2.0 authorization and token endpoints
      flows:
        authorizationCode:
          authorizationUrl: /oauth/authorize
          refreshUrl: /oauth/token
          scopes: {}
          tokenUrl: /oauth/token
        clientCredentials:
          refreshUrl: /oauth/token
          scopes: {}
          tokenUrl: /oauth/token
      type: oauth2

````