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

# Get quote



## OpenAPI

````yaml post /api/v1/bridging/quote
openapi: 3.0.1
info:
  title: Mesh Connect Integration API
  description: >-

    Mesh allows users to connect accounts of financial institutions,

    crypto exchanges, and self-custody wallets. Mesh handles credential

    validation, MFA, and error handling for each integration. After

    an account is connected, Mesh allows client applications to read holdings,

    transaction history and balances and execute crypto transfers (with user
    approval).
  version: '1.0'
servers:
  - url: https://integration-api.meshconnect.com
  - url: https://sandbox-integration-api.meshconnect.com
security:
  - Client-Secret: []
    Client-Id: []
tags:
  - name: BlockchainQuery
  - name: CatalogGasSponsorship
  - name: CatalogSubscription
  - name: TokenNetworkPairs
  - name: RampKyc
  - name: RampPayment
  - name: RampSession
  - name: Integrations account information
  - name: Managed Account Authentication
    description: >-
      The recommended approach for account authentication. Front manages
      multiple authentication flows and handles all authentication steps such as
      MFA codes and OAuth redirect through our web and mobile SDKs.
  - name: Portfolio
    description: |


      ### Supported integrations:
      ```Robinhood```
      ```Coinbase```
      ```Kraken```
      ```CryptoCom```
      ```OpenSea```
      ```Binance```
      ```Gemini```
      ```OkCoin```
      ```KuCoin```
      ```CexIo```
      ```BinanceInternational```
      ```Bitstamp```
      ```GateIo```
      ```Okx```
      ```BitFlyer```
      ```Coinlist```
      ```Huobi```
      ```Bitfinex```
      ```KrakenDirect```
      ```BinanceInternationalDirect```
      ```BitfinexDirect```
      ```Bybit```
      ```Paxos```
      ```CoinbasePrime```
      ```BtcTurkDirect```
      ```KuCoinDirect```
      ```OkxOAuth```
      ```ParibuDirect```
      ```RobinhoodConnect```
      ```BlockchainCom```
      ```BitsoDirect```
      ```BinanceOAuth```
      ```BybitDirect```
      ```ParibuOAuth```
      ```BinanceTrDirect```
      ```BybitDirectMobile```
      ```Sandbox```
      ```Uphold```
      ```SandboxCoinbase```
      ```KrakenOAuth```
      ```BluvoKrakenOAuth```
      ```SandboxKrakenOAuth```
      ```DeFiWallet```
  - name: Balance
    description: |


      ### Supported integrations:
      ```Robinhood```
      ```Coinbase```
      ```Kraken```
      ```CryptoCom```
      ```Binance```
      ```Gemini```
      ```OkCoin```
      ```KuCoin```
      ```CexIo```
      ```BinanceInternational```
      ```Bitstamp```
      ```GateIo```
      ```Okx```
      ```BitFlyer```
      ```Coinlist```
      ```Huobi```
      ```Bitfinex```
      ```KrakenDirect```
      ```BinanceInternationalDirect```
      ```BitfinexDirect```
      ```Bybit```
      ```Paxos```
      ```CoinbasePrime```
      ```BtcTurkDirect```
      ```KuCoinDirect```
      ```OkxOAuth```
      ```ParibuDirect```
      ```RobinhoodConnect```
      ```BlockchainCom```
      ```BitsoDirect```
      ```BybitDirect```
      ```ParibuOAuth```
      ```BinanceTrDirect```
      ```BybitDirectMobile```
      ```Sandbox```
      ```Uphold```
      ```SandboxCoinbase```
      ```KrakenOAuth```
      ```BluvoKrakenOAuth```
      ```SandboxKrakenOAuth```
  - name: Transfers
    description: >


      ### Supported integrations:

      ```Robinhood```

      ```Coinbase```

      ```Kraken```

      ```CryptoCom```

      ```Binance```

      ```Gemini```

      ```OkCoin```

      ```KuCoin```

      ```BinanceInternational```

      ```Bitstamp```

      ```GateIo```

      ```Okx```

      ```Huobi```

      ```Bitfinex```

      ```KrakenDirect```

      ```BinanceInternationalDirect```

      ```BitfinexDirect```

      ```Bybit```

      ```Paxos```

      ```CoinbasePrime```

      ```BtcTurkDirect```

      ```ParibuDirect```

      ```RobinhoodConnect```

      ```BlockchainCom```

      ```BinanceConnect```

      ```RevolutConnect```

      ```BinancePay```

      ```BybitDirect```

      ```ParibuOAuth```

      ```PayPalConnect```

      ```CoinbaseRamp```

      ```BybitDirectMobile```

      ```Sandbox```

      ```CryptoComPay```

      ```Uphold```

      ```BinancePayOnchain```

      ```SandboxCoinbase```

      ```BybitPay```

      ```CashApp```

      ```SandboxKrakenOAuth```

      ```KrakPay```

      ```OkxPay```

      ```BybitPayPsp```

      ```DeFiWallet```



      ### Integration-specific notes:



      #### Robinhood:



      Cryptocurrency transfers should be enabled in Robinhood settings.
      Transfers are disabled by default, enabling them for end users requires a
      review from Robinhood.


      Please note:
       * `MfaCode` parameter is required to initiate a transaction in Robinhood.
       * The user's security settings should be configured to use an authenticator application.
       * Robinhood doesn't allow initiation of transactions if the authenticator application is not configured.


      #### Coinbase:



      `MfaCode` parameter should be used to initiate transactions in Coinbase.
       * If the end user's Coinbase account is configured to use text messages (SMS) for two factor authentication, the API will return `MfaRequired` status, and a text code will then be sent by Coinbase. The code is expected to be provided in the subsequent call using the `MfaCode` request field
       * If the account is configured to use an authenticator application, the API is expecting to get the code in the `MfaCode` request field.


      #### Kraken:



      Kraken requires the explicit chain name to be provided (e.g. `Dogecoin` or
      `Ethereum (ERC20)`). The list of possible chains can be obtained by
      calling `symbol/details` endpoint.


      To initiate a transaction, a Kraken Address Key name should be provided in
      `TargetAddress` field. Target address should be added using Kraken UI,
      then its name should be used.



      #### Binance:



      `Enable Withdrawals` permission should be given to the user's API key to
      initiate transfers with Binance Us.


      Binance requires adding the IP address to the list of trusted IPs to be
      able to create API keys with transfer permission.
       * Please reach out to Front to get the static IP address. This address should be provided to the end user, and the user should be instructed to add it to the list of trusted IP addresses.
       * By default, the permission to enable withdrawals is turned off. If the end user's API key does not have the permission, asset transfers will not be available.


      #### KuCoin:



      KuCoin requires adding the IP address to the list of trusted IPs to be
      able to create API keys with transfer permission.


      `Fee` parameter should be used to initiate a transaction in KuCoin.


      Please note:
       * Please reach out to Front to get the static IP address. This address should be provided to the end user, and the user should be instructed to add it to the list of trusted IP addresses.
       * All currencies have their minimum `fee` and `amount` requirements. Please use `symbol/details` endpoint to get this data for a particular symbol.
       * KuCoin requires chain name to be provided for getting deposit address or initiating a cryptocurrency transfer. Some cryptocurrencies are supported over multiple chains. It's recommended to use `symbol/details` endpoint to get the list of supported chains and show it to the end user to select a target one.


      #### BinanceInternational:



      `Enable Withdrawals` permission should be given to the user's API key to
      initiate transfers with Binance International.


      Binance requires adding the IP address to the list of trusted IPs to be
      able to create API keys with transfer permission.
       * Please reach out to Front to get the static IP address. This address should be provided to the end user, and the user should be instructed to add it to the list of trusted IP addresses.
       * By default, the permission to enable withdrawals is turned off. If the end user's API key does not have the permission, asset transfers will not be available.


      #### GateIo:



      Gate.io requires adding IP address to the list of trusted IP addresses to
      be able to initiate a cryptocurrency transfers.


      Withdrawal address should be already verified or added on the Gate.io UI
      (in mobile application or on the web site).
       * Please reach out to Front to get the static IP address for withdrawals. This address should be provided to the end user, and the user should be instructed to add it to the list of trusted IP addresses.
       * Only verified withdrawal blockchain addresses are allowed for withdrawal with Gate.io API.
       * Gate.io requires chain name to be provided for getting deposit address or initiating a cryptocurrency transfer. Some cryptocurrencies are supported over multiple chains. It's recommended to use `symbol/details` endpoint to get the list of supported chains and show it to the end user to select a target one.


      #### Huobi:



      Warning: Huobi does not refund executed deposits that are below the
      `Minimum Deposit Amount`
       * Please check the MinimumDepositAmount in Get Deposit Address response in order to avoid making a deposit below the minimum amount
       * Huobi does not allow withdrawals to addresses that are not white-listed, please add the address that you would like to withdraw to the white list of addresses through the UI so that a withrawal can be processed


      #### Bitfinex:
       * The hash of transfer is not available when making a transfer in Bitfinex. To get the hash please re-query the transfer using the transaction id.
       * Bitfinex does not separate sub-accounts when returning the list of transfers.Therefore the same list of transfers is returned for all Bitfinex sub-accounts.


      #### KrakenDirect:



      Kraken requires the explicit chain name to be provided (e.g. `Dogecoin` or
      `Ethereum (ERC20)`). The list of possible chains can be obtained by
      calling `symbol/details` endpoint.


      To initiate a transaction, a Kraken Address Key name should be provided in
      `TargetAddress` field. Target address should be added using Kraken UI,
      then its name should be used.



      #### BitfinexDirect:
       * The hash of transfer is not available when making a transfer in Bitfinex. To get the hash please re-query the transfer using the transaction id.
       * Bitfinex does not separate sub-accounts when returning the list of transfers.Therefore the same list of transfers is returned for all Bitfinex sub-accounts.
  - name: Assets
  - name: Managed Transfers
  - name: Wallets
  - name: Headless Bridging
    description: >-
      Mesh's cross-chain bridging engine as a pure API, with no Mesh-hosted UI
      or SDK. Discover bridged routes, quote a pay-in amount and generate a
      single-use deposit address that bridges funds to the destination the user
      selected. Enabled per client; see
      https://docs.meshconnect.com/resources/headless-bridging.
paths:
  /api/v1/bridging/quote:
    post:
      tags:
        - Headless Bridging
      summary: >-
        Get an indicative quote for bridging a given pay-in amount on a
        configured origin→destination route.
      description: "Stateless: no deposit address is minted and no transfer is created. Use this while the end user is\r\nchoosing an amount, then call `POST /api/v1/bridging/address` once they confirm.\r\n            \r\n`amount` is denominated in the `origin` asset (what will be sent to the deposit address).\r\nThe response returns `destination.estimatedAmount` (net of provider fees), `destination.minimumAmount`\r\n(the provider's indicative minimum for this quote at the configured slippage, when reported), and the fee\r\nlines that produced the estimate. The quote is not bound to a later `/address` call, which obtains a\r\nfresh quote that may differ.\r\n            \r\n`constraints.minimumAmount` is the smallest pay-in Mesh accepts on this route (in the origin asset);\r\nan `amount` below it is rejected with `400 amountBelowMinimum` before the provider is consulted,\r\nand the same value is returned by `POST /api/v1/bridging/address`. `constraints.maximumAmount` is\r\nthe platform USD cap converted at the current price; an amount above it, or above the provider's available\r\nliquidity, is rejected with `400 amountExceedsMaximum`.\r\n            \r\n**Important:** the estimate is indicative. The deposit address accepts any amount and the bridge is\r\npriced on what actually arrives, so fees and rates can move between quoting and settlement."
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - $ref: '#/components/schemas/GetBridgingQuoteRequest'
              description: "Request body for `POST /api/v1/bridging/quote`.\r\n\n\r\nPrices a bridge for a caller-supplied pay-in amount without minting a deposit address or creating a\r\ntransfer. Call it while the end user is still choosing an amount; call `POST /api/v1/bridging/address`\r\nonly once they confirm.\r\n\n\r\nThe result is indicative. The deposit address returned by `/address` accepts any amount and the\r\nbridge provider prices what actually arrives at fill time.\r\n"
      responses:
        '200':
          description: Quote produced.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBridgingQuoteResponseApiResult'
        '400':
          description: >-
            Request is missing required fields, the network is unknown, no route
            exists for the given pair, or the amount is below the minimum
            (`amountBelowMinimum`) or above the maximum / provider's available
            liquidity (`amountExceedsMaximum`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResult'
              example:
                status: ok
                message: ''
                errorHash: 1cbbee0c
                teamCode: P4
                errorType: ''
        '401':
          description: Unauthorized — Client ID or Client Secret are missing or incorrect.
          content:
            application/json:
              schema: {}
        '403':
          description: >-
            Headless bridging is not enabled for this client
            (`permissionDenied`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResult'
              example:
                status: ok
                message: ''
                errorHash: 1cbbee0c
                teamCode: P4
                errorType: ''
components:
  schemas:
    GetBridgingQuoteRequest:
      required:
        - amount
        - destination
        - origin
      type: object
      properties:
        origin:
          allOf:
            - $ref: '#/components/schemas/BridgingDestinationSpec'
          description: "The pay-in leg: network and asset that will be sent to the bridging address.\r\nMust match a configured route from deposit or withdrawal route discovery."
        destination:
          allOf:
            - $ref: '#/components/schemas/BridgingDestinationWithAddressSpec'
          description: "The payout leg: network, asset, and the address that will receive the bridged funds.\r\nMust match a route from deposit or withdrawal route discovery together with Org.Front.Core.Contracts.Models.Bridging.Headless.GetBridgingQuoteRequest.Origin."
        amount:
          maximum: 1000000000
          minimum: 1.e-18
          type: number
          description: "Amount to be sent, denominated in the Org.Front.Core.Contracts.Models.Bridging.Headless.GetBridgingQuoteRequest.Origin asset (e.g. `100` for 100 USDC).\r\nMust be greater than zero and at most 1,000,000,000."
          format: double
      additionalProperties: false
      description: "Request body for `POST /api/v1/bridging/quote`.\r\n\n\r\nPrices a bridge for a caller-supplied pay-in amount without minting a deposit address or creating a\r\ntransfer. Call it while the end user is still choosing an amount; call `POST /api/v1/bridging/address`\r\nonly once they confirm.\r\n\n\r\nThe result is indicative. The deposit address returned by `/address` accepts any amount and the\r\nbridge provider prices what actually arrives at fill time.\r\n"
    GetBridgingQuoteResponseApiResult:
      type: object
      properties:
        status:
          enum:
            - ok
            - serverFailure
            - permissionDenied
            - badRequest
            - notFound
            - conflict
            - tooManyRequest
            - locked
            - unavailableForLegalReasons
          allOf:
            - $ref: '#/components/schemas/ApiResultStatus'
          readOnly: true
        message:
          type: string
          description: A message generated by the API
          nullable: true
        displayMessage:
          type: string
          description: User-friendly display message that can be presented to the end user
          nullable: true
        errorHash:
          type: string
          description: >-
            An error grouping hash from string components and caller
            information. Used by bugsnag on FE for correct error grouping
          nullable: true
          readOnly: true
        teamCode:
          type: string
          description: "Opaque team code for error routing. Resolved from exception origin or caller file path via CODEOWNERS.\r\nFormat: 2-character code (e.g., \"7K\", \"M2\"). Use for alerting/routing, not display."
          nullable: true
          readOnly: true
        errorType:
          type: string
          description: "Strictly-typed error type that is explaining the reason of an unsuccessful status of the operation.\r\nAll possible error types are available in the documentation."
          nullable: true
        errorData:
          nullable: true
          readOnly: true
        content:
          allOf:
            - $ref: '#/components/schemas/GetBridgingQuoteResponse'
          description: "Response body for `POST /api/v1/bridging/quote`.\r\n\n\r\nAn indicative price for bridging Org.Front.Core.Contracts.Models.Bridging.Headless.GetBridgingQuoteResponse.Origin into Org.Front.Core.Contracts.Models.Bridging.Headless.GetBridgingQuoteResponse.Destination. Nothing is\r\npersisted and no deposit address is created. Amounts are in the respective leg's asset.\r\n"
          nullable: true
      additionalProperties: false
    ApiResult:
      type: object
      properties:
        status:
          enum:
            - ok
            - serverFailure
            - permissionDenied
            - badRequest
            - notFound
            - conflict
            - tooManyRequest
            - locked
            - unavailableForLegalReasons
          allOf:
            - $ref: '#/components/schemas/ApiResultStatus'
          readOnly: true
        message:
          type: string
          description: A message generated by the API
          nullable: true
        displayMessage:
          type: string
          description: User-friendly display message that can be presented to the end user
          nullable: true
        errorHash:
          type: string
          description: >-
            An error grouping hash from string components and caller
            information. Used by bugsnag on FE for correct error grouping
          nullable: true
          readOnly: true
        teamCode:
          type: string
          description: "Opaque team code for error routing. Resolved from exception origin or caller file path via CODEOWNERS.\r\nFormat: 2-character code (e.g., \"7K\", \"M2\"). Use for alerting/routing, not display."
          nullable: true
          readOnly: true
        errorType:
          type: string
          description: "Strictly-typed error type that is explaining the reason of an unsuccessful status of the operation.\r\nAll possible error types are available in the documentation."
          nullable: true
        errorData:
          nullable: true
          readOnly: true
      additionalProperties: false
    BridgingDestinationSpec:
      required:
        - asset
        - network
      type: object
      properties:
        network:
          minLength: 1
          type: string
          description: "CAIP-2 network identifier for the token's network.\r\n\nExamples: `eip155:1` (Ethereum Mainnet), `eip155:137` (Polygon),\r\n`eip155:8453` (Base), `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp` (Solana Mainnet)."
        asset:
          minLength: 1
          type: string
          description: Token symbol, case-insensitive (e.g. `USDC`, `ETH`, `MATIC`).
      additionalProperties: false
      description: >-
        Identifies a token on a specific network using a CAIP-2 network
        identifier.
    BridgingDestinationWithAddressSpec:
      required:
        - address
        - asset
        - network
      type: object
      properties:
        network:
          minLength: 1
          type: string
          description: "CAIP-2 network identifier for the token's network.\r\n\nExamples: `eip155:1` (Ethereum Mainnet), `eip155:137` (Polygon),\r\n`eip155:8453` (Base), `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp` (Solana Mainnet)."
        asset:
          minLength: 1
          type: string
          description: Token symbol, case-insensitive (e.g. `USDC`, `ETH`, `MATIC`).
        address:
          maxLength: 200
          minLength: 1
          type: string
          description: "On-chain wallet address on the destination network that will receive the bridged funds.\r\nMust be a valid address for the specified Org.Front.Core.Contracts.Models.Bridging.Headless.BridgingDestinationSpec.Network."
      additionalProperties: false
      description: "Extends Org.Front.Core.Contracts.Models.Bridging.Headless.BridgingDestinationSpec with the on-chain wallet address where\r\nbridged funds should be delivered."
    ApiResultStatus:
      enum:
        - ok
        - serverFailure
        - permissionDenied
        - badRequest
        - notFound
        - conflict
        - tooManyRequest
        - locked
        - unavailableForLegalReasons
      type: string
    GetBridgingQuoteResponse:
      required:
        - constraints
        - destination
        - fees
        - origin
        - warnings
      type: object
      properties:
        origin:
          allOf:
            - $ref: '#/components/schemas/BridgingQuoteOriginLeg'
          description: The pay-in leg with the amount the quote was priced for.
          nullable: true
        destination:
          allOf:
            - $ref: '#/components/schemas/BridgingQuoteDestinationLeg'
          description: >-
            The payout leg with the estimated and minimum amounts the recipient
            should receive.
          nullable: true
        fees:
          allOf:
            - $ref: '#/components/schemas/BridgingQuoteFees'
          description: >-
            Provider fees that produce
            Org.Front.Core.Contracts.Models.Bridging.Headless.BridgingQuoteDestinationLeg.EstimatedAmount.
          nullable: true
        rate:
          type: number
          description: >-
            Destination units per one origin unit, net of fees (`estimatedAmount
            / amount`).
          format: double
        constraints:
          allOf:
            - $ref: '#/components/schemas/BridgingQuoteConstraintsDto'
          description: "Pay-in amount limits for this route. The same values are returned as `constraints` by\r\n`POST /api/v1/bridging/address`; a quote below Org.Front.Core.Contracts.Models.Bridging.Headless.BridgingQuoteConstraintsDto.MinimumAmount\r\nis rejected with `amountBelowMinimum` before the provider is consulted."
          nullable: true
        quotedAt:
          type: integer
          description: >-
            Unix timestamp (seconds) at which this quote was produced. Re-quote
            if the user lingers.
          format: int64
        warnings:
          type: array
          items:
            type: string
          description: Human-readable caveats to surface alongside the estimate.
          nullable: true
      additionalProperties: false
      description: "Response body for `POST /api/v1/bridging/quote`.\r\n\n\r\nAn indicative price for bridging Org.Front.Core.Contracts.Models.Bridging.Headless.GetBridgingQuoteResponse.Origin into Org.Front.Core.Contracts.Models.Bridging.Headless.GetBridgingQuoteResponse.Destination. Nothing is\r\npersisted and no deposit address is created. Amounts are in the respective leg's asset.\r\n"
    BridgingQuoteOriginLeg:
      required:
        - asset
        - network
      type: object
      properties:
        network:
          type: string
          description: CAIP-2 network identifier of the pay-in network.
          nullable: true
        asset:
          type: string
          description: Pay-in asset symbol.
          nullable: true
        amount:
          type: number
          description: Amount the quote was priced for, in the pay-in asset.
          format: double
      additionalProperties: false
      description: Pay-in leg of a headless bridging quote.
    BridgingQuoteDestinationLeg:
      required:
        - address
        - asset
        - network
      type: object
      properties:
        network:
          type: string
          description: CAIP-2 network identifier of the payout network.
          nullable: true
        asset:
          type: string
          description: Payout asset symbol.
          nullable: true
        address:
          type: string
          description: Recipient address the quote was priced for.
          nullable: true
        estimatedAmount:
          type: number
          description: "Estimated amount the recipient receives, in the payout asset, net of provider fees.\r\nIndicative only; the fill is priced on the amount that actually arrives."
          format: double
        minimumAmount:
          type: number
          description: "Indicative minimum for this quote at the configured slippage tolerance, when the provider reports one.\r\nThis quote is not bound to a later `POST /api/v1/bridging/address` call, which obtains a fresh quote\r\nthat may differ; treat it as a snapshot, not a committed floor for settlement."
          format: double
          nullable: true
      additionalProperties: false
      description: Payout leg of a headless bridging quote.
    BridgingQuoteFees:
      required:
        - items
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/BridgingQuoteFeeItem'
          description: Individual fee lines reported by the bridge provider.
          nullable: true
        totalUsd:
          type: number
          description: >-
            Total provider fees in USD that are deducted from the payout, when
            the provider reports it.
          format: double
          nullable: true
      additionalProperties: false
      description: Fee breakdown for a headless bridging quote.
    BridgingQuoteConstraintsDto:
      required:
        - minimumAmount
      type: object
      properties:
        minimumAmount:
          type: string
          description: "Minimum pay-in amount as a decimal string in the origin asset: the stricter of the route minimum and the\r\nplatform USD floor converted at the current price. `\"0\"` when neither applies."
          nullable: true
        maximumAmount:
          type: string
          description: "Maximum pay-in amount as a decimal string in the origin asset: the platform USD cap converted at the current\r\nprice. An `amount` above it is rejected with `amountExceedsMaximum`; the provider's available\r\nliquidity may be lower and is reported the same way. `null` when no platform maximum can be expressed\r\n(serialized as JSON `null` despite global omit-null settings)."
          nullable: true
      additionalProperties: false
      description: >-
        Pay-in amount limits attached to a headless bridging quote, in the
        origin asset.
    BridgingQuoteFeeItem:
      required:
        - asset
        - label
      type: object
      properties:
        kind:
          enum:
            - originGas
            - destinationGas
            - providerRelayerService
            - providerRelayerGas
            - providerLP
            - providerPlatformFixed
            - integrator
            - subsidized
            - providerAggregate
            - other
          allOf:
            - $ref: '#/components/schemas/BridgingFeeKind'
          description: Fee category.
        label:
          type: string
          description: Provider label for this fee.
          nullable: true
        amount:
          type: number
          description: >-
            Fee amount in
            Org.Front.Core.Contracts.Models.Bridging.Headless.BridgingQuoteFeeItem.Asset
            units, when the provider reports it.
          format: double
          nullable: true
        asset:
          type: string
          description: Symbol the fee is denominated in.
          nullable: true
        amountUsd:
          type: number
          description: Fee amount in USD, when the provider reports it.
          format: double
          nullable: true
        includedInEstimate:
          type: boolean
          description: "`true` when this fee is already deducted from\r\n            Org.Front.Core.Contracts.Models.Bridging.Headless.BridgingQuoteDestinationLeg.EstimatedAmount; `false` when it is informational\r\n            (e.g. origin gas paid by the sender)."
      additionalProperties: false
      description: One fee line of a headless bridging quote.
    BridgingFeeKind:
      enum:
        - originGas
        - destinationGas
        - providerRelayerService
        - providerRelayerGas
        - providerLP
        - providerPlatformFixed
        - integrator
        - subsidized
        - providerAggregate
        - other
      type: string
  securitySchemes:
    Client-Secret:
      type: apiKey
      description: Contact Mesh to get client Secret
      name: X-Client-Secret
      in: header
    Client-Id:
      type: apiKey
      description: Contact Mesh to get client Id
      name: X-Client-Id
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.