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

# Accept a cross-chain deposit fee

> When gas is high, a cross-chain deposit waits in `awaiting_consent` with a `quote`: bridging now costs `quote.target_fee`, more than the standard fee. Send that exact amount as `max_fee` to accept it; the deposit is then bridged and you receive the amount minus that fee. If the fee has changed since you saw it, the answer is 409 with the current `quote` (and `code`: `quote_changed`, `stale_quote` or `not_awaiting_consent`) — show it and ask again. Not accepting is fine: the bridge re-checks gas every 10 minutes and bridges on its own once the standard fee covers the cost. Rate limited to 10 per minute.



## OpenAPI

````yaml /api-reference/openapi/calibri.yaml post /api/v2/atlas/account/bridge/transfers/{id}/consent
openapi: 3.1.0
info:
  title: Calibri API
  version: 1.0.0
  description: >-
    The Calibri API. Discover markets, read live books, place signed orders, and
    manage positions and account data.

    Routed by path prefix to the service that answers it — which is an
    implementation detail, not something a caller has to reason about.
servers:
  - description: Production
    url: https://calibri.io
security: []
tags:
  - name: Health
    description: Service liveness.
    x-displayName: Health
  - name: Events
    description: Discover events and their metadata.
    x-displayName: Events
  - name: Markets
    description: List markets and load market detail for trading.
    x-displayName: Markets
  - name: Series
    description: Recurring event series.
    x-displayName: Series
  - name: Tags
    description: Editorial shelves used to browse the catalogue.
    x-displayName: Tags
  - name: Market Data
    description: Order book, depth, trade tape, tickers, and candles.
    x-displayName: Market Data
  - name: Assets
    description: Underlying asset price history for price-feed markets.
    x-displayName: Assets
  - name: Community
    description: Leaderboard and platform activity.
    x-displayName: Community
  - name: Currencies
    description: Currency registry.
    x-displayName: Currencies
  - name: Trade
    description: Place, list, and cancel orders.
    x-displayName: Trade
  - name: Positions
    description: Your matched contracts.
    x-displayName: Positions
  - name: Wallet
    description: Self-custody Safe, passkey, session keys, and relay.
    x-displayName: Wallet
  - name: Rewards
    description: Maker rebates and referral earnings.
    x-displayName: Rewards
  - name: Account
    description: Balances, ledger, PnL, limits, preferences, and profile.
    x-displayName: Account
  - name: Categories
    description: Categories
    x-displayName: Categories
  - name: Other
    description: Other
    x-displayName: Other
externalDocs:
  description: ''
  url: ''
paths:
  /api/v2/atlas/account/bridge/transfers/{id}/consent:
    post:
      tags:
        - Other
      summary: Accept a cross-chain deposit fee
      description: >-
        When gas is high, a cross-chain deposit waits in `awaiting_consent` with
        a `quote`: bridging now costs `quote.target_fee`, more than the standard
        fee. Send that exact amount as `max_fee` to accept it; the deposit is
        then bridged and you receive the amount minus that fee. If the fee has
        changed since you saw it, the answer is 409 with the current `quote`
        (and `code`: `quote_changed`, `stale_quote` or `not_awaiting_consent`) —
        show it and ask again. Not accepting is fine: the bridge re-checks gas
        every 10 minutes and bridges on its own once the standard fee covers the
        cost. Rate limited to 10 per minute.
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BridgeConsentRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BridgeConsentEntity'
          description: ''
      security:
        - apiKey: []
components:
  schemas:
    BridgeConsentRequest:
      properties:
        max_fee:
          description: >-
            The fee you accept, in USDC: exactly the `target_fee` of the
            bridge's current `quote`.
          example: '6.72'
          type: string
      required:
        - max_fee
      type: object
    BridgeConsentEntity:
      properties:
        bridge_id:
          example: cctp-bridge:ethereum:0x5aae…:0192f3a1-…
          type: string
        consent_fee:
          description: The fee you accepted, in USDC.
          example: '6.72'
          type: string
        consent_id:
          description: Id of your consent.
          example: 0b6f1d7e-…
          type: string
        state:
          description: >-
            Where the bridge is now (usually still `awaiting_consent` for a
            moment, then `bridging`). Refetch the list for the row.
          example: bridging
          type: string
      required:
        - bridge_id
        - consent_id
        - consent_fee
        - state
      type: object
  securitySchemes:
    apiKey:
      description: >-
        HMAC-signed API key. Send X-Auth-Apikey, X-Auth-Nonce and
        X-Auth-Signature.
      in: header
      name: X-Auth-Apikey
      type: apiKey

````

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