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

# Preview a swap

> Reads preview(inputToken, amount) on the Superstate swap contract and returns the quote: the input amount to pay, the fee charged on it and the output amount to receive.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/swap/preview
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: Participations
  - name: Pii
  - name: Requirements
  - name: Swap
  - name: Token
  - name: Wallet
  - name: Wallet Ownership
paths:
  /v1/swap/preview:
    get:
      tags:
        - Swap
      summary: Preview a swap
      description: >-
        Reads preview(inputToken, amount) on the Superstate swap contract and
        returns the quote: the input amount to pay, the fee charged on it and
        the output amount to receive.
      operationId: getSwapPreview
      parameters:
        - description: The swap contract address
          in: query
          name: contract_address
          required: true
          schema:
            example: '0x742d35cc6634c0532925a3b844bc9e7595f0beb1'
            type: string
            x-struct: null
            x-validate: null
        - description: >-
            The EVM chain to read from, e.g. ethereum_mainnet, ethereum_sepolia,
            base_mainnet or base_sepolia
          in: query
          name: chain
          required: true
          schema:
            example: ethereum_sepolia
            type: string
            x-struct: null
            x-validate: null
        - description: The input token contract address
          in: query
          name: input_token
          required: true
          schema:
            example: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
            type: string
            x-struct: null
            x-validate: null
        - description: >-
            Amount of the input token to swap, as a uint256 decimal string in
            the input token's smallest unit
          in: query
          name: amount
          required: true
          schema:
            example: '1000000'
            type: string
            x-struct: null
            x-validate: null
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SwapPreview'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Error response.
      callbacks: {}
      security:
        - OAuth2: []
components:
  schemas:
    SwapPreview:
      additionalProperties: false
      description: Quote for swapping an amount of an input token on a swap contract.
      properties:
        fee:
          description: >-
            Fee charged on the swap, as a uint256 decimal string in the input
            token's smallest unit
          example: '1000'
          type: string
          x-struct: null
          x-validate: null
        object:
          description: >-
            String representing the object's type. Objects of the same type
            share the same value.
          enum:
            - swap_preview
          type: string
          x-struct: null
          x-validate: null
        pay_input_amount:
          description: >-
            Amount of the input token to pay, as a uint256 decimal string in the
            input token's smallest unit
          example: '1000000'
          type: string
          x-struct: null
          x-validate: null
        receive_output_amount:
          description: >-
            Amount of the output token to receive, as a uint256 decimal string
            in the output token's smallest unit
          example: '999000'
          type: string
          x-struct: null
          x-validate: null
      required:
        - object
        - pay_input_amount
        - fee
        - receive_output_amount
      title: SwapPreview
      type: object
      x-struct: Elixir.FrontlineAPIWeb.OpenApi.Schemas.SwapPreview
      x-validate: null
    Error:
      additionalProperties: false
      properties:
        code:
          description: A human-readable message providing more details about the error.
          type: string
          x-struct: null
          x-validate: null
        errors:
          additionalProperties:
            items:
              type: string
              x-struct: null
              x-validate: null
            type: array
            x-struct: null
            x-validate: null
          type: object
          x-struct: null
          x-validate: null
        event_id:
          description: >-
            The unique identifier for the error event. This is useful for
            tracking and debugging.
          type: string
          x-struct: null
          x-validate: null
        message:
          description: >-
            For some errors that could be handled programmatically, a short
            string indicating the error code reported.
          type: string
          x-struct: null
          x-validate: null
        type:
          description: >-
            The type of error returned. One of `api_error`,
            `invalid_request_error`
          enum:
            - api_error
            - invalid_request_error
          type: string
          x-struct: null
          x-validate: null
      required:
        - type
        - message
      title: Error
      type: object
      x-struct: Elixir.FrontlineAPIWeb.OpenApi.Schemas.ApiError
      x-validate: null
  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

````