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

# Public Quote for Bridge & Swap

> Fetch public bridge and swap quote.



## OpenAPI

````yaml https://api.rhino.fi/bridge/swagger.json get /quote/bridge-swap/public
openapi: 3.1.0
info:
  title: Bridge API
  version: 0.0.1
  description: Functionality for interacting with Rhino bridge service
servers:
  - url: https://api.rhino.fi/bridge
security: []
tags:
  - name: quote
  - name: configs
  - name: history
  - name: swap
  - name: depositAddresses
paths:
  /quote/bridge-swap/public:
    get:
      tags:
        - quote
      summary: Public Quote for Bridge & Swap
      description: Fetch public bridge and swap quote.
      operationId: quote.bridgeSwapPublicQuote
      parameters:
        - name: chainIn
          in: query
          schema:
            type: string
            description: The source chain ID
          required: true
          description: The source chain ID
        - name: chainOut
          in: query
          schema:
            type: string
            description: The target chain ID
          required: true
          description: The target chain ID
        - name: amount
          in: query
          schema:
            $ref: '#/components/schemas/BigDecimalFromString'
          required: true
        - name: amountNative
          in: query
          schema:
            $ref: '#/components/schemas/BigDecimalFromString'
          required: false
        - name: mode
          in: query
          schema:
            type: string
            enum:
              - pay
              - receive
            description: >-
              "pay" for exact amount to pay (including fees), "receive" for
              exact amount to receive.
          required: true
          description: >-
            "pay" for exact amount to pay (including fees), "receive" for exact
            amount to receive.
        - name: isSda
          in: query
          schema:
            allOf:
              - $ref: '#/components/schemas/BooleanFromString'
            description: >-
              Optional flag indicating if this quote is for a Smart Deposit
              Address. Defaults to false.
          required: false
          description: >-
            Optional flag indicating if this quote is for a Smart Deposit
            Address. Defaults to false.
        - name: tokenIn
          in: query
          schema:
            type: string
            description: The token symbol to deposit (e.g., "USDT").
          required: true
          description: The token symbol to deposit (e.g., "USDT").
        - name: tokenOut
          in: query
          schema:
            type: string
            description: The token symbol to receive after a swap (e.g., "USDC").
          required: true
          description: The token symbol to receive after a swap (e.g., "USDC").
      responses:
        '200':
          description: SingleBridgePublicQuoteResponseSchema
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/SingleBridgePublicQuoteResponseSchema'
                  - $ref: '#/components/schemas/BridgeSwapPublicQuoteResponseSchema'
        '400':
          description: The request did not match the expected schema
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpApiDecodeError'
        '404':
          description: NoRouteFoundError
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoRouteFoundError'
        '422':
          description: InvalidRequest
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/InvalidRequest'
                  - $ref: '#/components/schemas/GasBoostGreaterThanReceiveAmount'
                  - $ref: '#/components/schemas/NegativeReceiveAmount'
                  - $ref: '#/components/schemas/NoCommonBridgeTokensError'
                  - $ref: '#/components/schemas/NoBridgeTokenFoundError'
                  - $ref: '#/components/schemas/SameChainSwapNotAvailable'
      security: []
components:
  schemas:
    BigDecimalFromString:
      type: string
      description: a string to be decoded into a BigDecimal
    BooleanFromString:
      type: string
      enum:
        - 'true'
        - 'false'
      description: a string to be decoded into a boolean
    SingleBridgePublicQuoteResponseSchema:
      type: object
      required:
        - chainIn
        - chainOut
        - payAmount
        - payAmountUsd
        - receiveAmount
        - receiveAmountUsd
        - fees
        - token
        - _tag
      properties:
        chainIn:
          type: string
          description: The source chain ID
        chainOut:
          type: string
          description: The target chain ID
        payAmount:
          $ref: '#/components/schemas/BigDecimalFromString'
        payAmountUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        receiveAmount:
          $ref: '#/components/schemas/BigDecimalFromString'
        receiveAmountUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        fees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - percentageFeeAmount
            - percentageFeeThreshold
          properties:
            fee:
              type: string
              description: Total fee amount in token units.
            feeUsd:
              type: number
              description: Total fee amount in USD.
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              type: string
              description: Platform fee amount in token units.
            platformFeeUsd:
              type: number
              description: Platform fee amount in USD.
            percentageFee:
              type: string
              description: Percentage-based fee amount in token units.
            percentageFeeUsd:
              type: number
              description: Percentage-based fee amount in USD.
            percentageFeeAmount:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: Calculated percentage fee amount (null if not applicable).
            percentageFeeThreshold:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: >-
                Threshold amount for percentage fee calculation (null if not
                applicable).
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
              properties:
                fee:
                  type: string
                  description: Total fee amount in token units.
                feeUsd:
                  type: number
                  description: Total fee amount in USD.
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  type: string
                  description: Platform fee amount in token units.
                platformFeeUsd:
                  type: number
                  description: Platform fee amount in USD.
                percentageFee:
                  type: string
                  description: Percentage-based fee amount in token units.
                percentageFeeUsd:
                  type: number
                  description: Percentage-based fee amount in USD.
              additionalProperties: false
              description: Sponsored fees breakdown (optional).
          additionalProperties: false
          description: Breakdown of all fees associated with the transaction.
        promotion:
          type: object
          required:
            - name
            - maxLimitUsd
          properties:
            name:
              type: string
            maxLimitUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
          additionalProperties: false
          description: Promotion details if applicable (optional).
        gasBoost:
          type: object
          required:
            - amountNative
            - amountNativeUsd
            - amountNativeTokenCost
          properties:
            amountNative:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountNativeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNativeTokenCost:
              $ref: '#/components/schemas/BigDecimalFromString'
          additionalProperties: false
          description: Gas amount to receive on the destination chain.
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
          description: Transaction speed (optional).
        estimatedDuration:
          type: number
          description: >-
            Estimated time for the transaction to complete in milliseconds
            (optional).
          title: nonNegative
          minimum: 0
        token:
          type: string
          description: Token symbol or identifier being bridged.
        _tag:
          type: string
          enum:
            - bridge
      additionalProperties: false
    BridgeSwapPublicQuoteResponseSchema:
      type: object
      required:
        - chainIn
        - chainOut
        - payAmount
        - payAmountUsd
        - receiveAmount
        - receiveAmountUsd
        - fees
        - tokenIn
        - tokenOut
        - bridgeToken
        - bridgePayAmount
        - bridgePayAmountUsd
        - bridgeReceiveAmount
        - minReceiveAmount
        - minReceiveAmountUsd
        - usdPriceTokenIn
        - usdPriceTokenOut
        - _tag
      properties:
        chainIn:
          type: string
          description: The source chain ID
        chainOut:
          type: string
          description: The target chain ID
        payAmount:
          $ref: '#/components/schemas/BigDecimalFromString'
        payAmountUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        receiveAmount:
          $ref: '#/components/schemas/BigDecimalFromString'
        receiveAmountUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        fees:
          type: object
          required:
            - fee
            - feeUsd
            - gasFee
            - gasFeeUsd
            - sourceGasFee
            - sourceGasFeeUsd
            - platformFee
            - platformFeeUsd
            - percentageFee
            - percentageFeeUsd
            - percentageFeeAmount
            - percentageFeeThreshold
          properties:
            fee:
              type: string
              description: Total fee amount in token units.
            feeUsd:
              type: number
              description: Total fee amount in USD.
            gasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            gasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            sourceGasFee:
              $ref: '#/components/schemas/BigDecimalFromString'
            sourceGasFeeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            platformFee:
              type: string
              description: Platform fee amount in token units.
            platformFeeUsd:
              type: number
              description: Platform fee amount in USD.
            percentageFee:
              type: string
              description: Percentage-based fee amount in token units.
            percentageFeeUsd:
              type: number
              description: Percentage-based fee amount in USD.
            percentageFeeAmount:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: Calculated percentage fee amount (null if not applicable).
            percentageFeeThreshold:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
              description: >-
                Threshold amount for percentage fee calculation (null if not
                applicable).
            sponsoredFees:
              type: object
              required:
                - fee
                - feeUsd
                - gasFee
                - gasFeeUsd
                - sourceGasFee
                - sourceGasFeeUsd
                - platformFee
                - platformFeeUsd
                - percentageFee
                - percentageFeeUsd
              properties:
                fee:
                  type: string
                  description: Total fee amount in token units.
                feeUsd:
                  type: number
                  description: Total fee amount in USD.
                gasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                gasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                sourceGasFee:
                  $ref: '#/components/schemas/BigDecimalFromString'
                sourceGasFeeUsd:
                  $ref: '#/components/schemas/BigDecimalFromNumber'
                platformFee:
                  type: string
                  description: Platform fee amount in token units.
                platformFeeUsd:
                  type: number
                  description: Platform fee amount in USD.
                percentageFee:
                  type: string
                  description: Percentage-based fee amount in token units.
                percentageFeeUsd:
                  type: number
                  description: Percentage-based fee amount in USD.
              additionalProperties: false
              description: Sponsored fees breakdown (optional).
          additionalProperties: false
          description: Breakdown of all fees associated with the transaction.
        promotion:
          type: object
          required:
            - name
            - maxLimitUsd
          properties:
            name:
              type: string
            maxLimitUsd:
              anyOf:
                - $ref: '#/components/schemas/BigDecimalFromNumber'
                - type: 'null'
          additionalProperties: false
          description: Promotion details if applicable (optional).
        gasBoost:
          type: object
          required:
            - amountNative
            - amountNativeUsd
            - amountNativeTokenCost
          properties:
            amountNative:
              $ref: '#/components/schemas/BigDecimalFromString'
            amountNativeUsd:
              $ref: '#/components/schemas/BigDecimalFromNumber'
            amountNativeTokenCost:
              $ref: '#/components/schemas/BigDecimalFromString'
          additionalProperties: false
          description: Gas amount to receive on the destination chain.
        speed:
          type: string
          enum:
            - fast
            - standard
            - slow
          description: Transaction speed (optional).
        estimatedDuration:
          type: number
          description: >-
            Estimated time for the transaction to complete in milliseconds
            (optional).
          title: nonNegative
          minimum: 0
        tokenIn:
          type: string
          description: Token symbol or identifier being sent from the source chain.
        tokenOut:
          type: string
          description: Token symbol or identifier being received on the destination chain.
        bridgeToken:
          type: string
          description: Intermediate token used for the bridge operation.
        bridgePayAmount:
          $ref: '#/components/schemas/BigDecimalFromString'
        bridgePayAmountUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        bridgeReceiveAmount:
          $ref: '#/components/schemas/BigDecimalFromString'
        minReceiveAmount:
          $ref: '#/components/schemas/BigDecimalFromString'
        minReceiveAmountUsd:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenIn:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        usdPriceTokenOut:
          $ref: '#/components/schemas/BigDecimalFromNumber'
        isAtomicSwap:
          type: boolean
          description: Whether this is an atomic swap operation (optional).
        _tag:
          type: string
          enum:
            - bridgeSwap
      additionalProperties: false
    HttpApiDecodeError:
      type: object
      required:
        - issues
        - message
        - _tag
      properties:
        issues:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
        message:
          type: string
        _tag:
          type: string
          enum:
            - HttpApiDecodeError
      additionalProperties: false
      description: The request did not match the expected schema
    NoRouteFoundError:
      type: object
      required:
        - tokenIn
        - tokenOut
        - chainIn
        - chainOut
        - _tag
      properties:
        tokenIn:
          type: string
        tokenOut:
          type: string
        chainIn:
          type: string
        chainOut:
          type: string
        _tag:
          type: string
          enum:
            - NoRouteFoundError
      additionalProperties: false
    InvalidRequest:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - InvalidRequest
      additionalProperties: false
    GasBoostGreaterThanReceiveAmount:
      type: object
      required:
        - amountNativeTokenCost
        - receiveAmount
        - _tag
      properties:
        amountNativeTokenCost:
          type: string
        receiveAmount:
          type: string
        _tag:
          type: string
          enum:
            - GasBoostGreaterThanReceiveAmount
      additionalProperties: false
    NegativeReceiveAmount:
      type: object
      required:
        - receiveAmount
        - _tag
      properties:
        receiveAmount:
          type: string
        _tag:
          type: string
          enum:
            - NegativeReceiveAmount
      additionalProperties: false
    NoCommonBridgeTokensError:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - NoCommonBridgeTokensError
      additionalProperties: false
    NoBridgeTokenFoundError:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - NoBridgeTokenFoundError
      additionalProperties: false
    SameChainSwapNotAvailable:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - SameChainSwapNotAvailable
      additionalProperties: false
    BigDecimalFromNumber:
      type: number
      description: a number to be decoded into a BigDecimal
    Issue:
      type: object
      required:
        - _tag
        - path
        - message
      properties:
        _tag:
          type: string
          enum:
            - Pointer
            - Unexpected
            - Missing
            - Composite
            - Refinement
            - Transformation
            - Type
            - Forbidden
          description: The tag identifying the type of parse issue
        path:
          type: array
          items:
            $ref: '#/components/schemas/PropertyKey'
          description: The path to the property where the issue occurred
        message:
          type: string
          description: A descriptive message explaining the issue
      additionalProperties: false
      description: >-
        Represents an error encountered while parsing a value to match the
        schema
    PropertyKey:
      anyOf:
        - type: string
        - type: number
        - type: object
          required:
            - _tag
            - key
          properties:
            _tag:
              type: string
              enum:
                - symbol
            key:
              type: string
          additionalProperties: false
          description: an object to be decoded into a globally shared symbol

````