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

# Quote a cross-chain withdrawal

> Prices a withdrawal of `amount` USDC from your wallet on Polygon to `destination` on another network (`chain_key`, a chain from the bridge config), and returns the wallet transaction to sign for it (`safe_tx`: one batch that pays the fee, approves and burns the rest over Circle CCTP). Sign `safe_tx` and relay it through `POST /account/wallet/relay` with this `quote_id` before `expires_at` (5 minutes); a quote can be used once. `fee` is ours, `max_cctp_fee` the most Circle may keep, `receive` the minimum you receive. `destination` must be a checksummed address other than your wallet; a wallet (not passkey) account can withdraw only to its linked wallet. Refusals are 422 with `code`: `below_minimum`, `withdrawals_disabled`, `chain_inactive`, `receive_not_positive`, `no_safe`, `no_wallet`, `destination_is_safe`, `destination_not_linked_wallet`. Rate limited to 10 per minute.



## OpenAPI

````yaml /api-reference/openapi/calibri.yaml get /api/v2/atlas/account/bridge/withdraw/quote
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/withdraw/quote:
    get:
      tags:
        - Other
      summary: Quote a cross-chain withdrawal
      description: >-
        Prices a withdrawal of `amount` USDC from your wallet on Polygon to
        `destination` on another network (`chain_key`, a chain from the bridge
        config), and returns the wallet transaction to sign for it (`safe_tx`:
        one batch that pays the fee, approves and burns the rest over Circle
        CCTP). Sign `safe_tx` and relay it through `POST /account/wallet/relay`
        with this `quote_id` before `expires_at` (5 minutes); a quote can be
        used once. `fee` is ours, `max_cctp_fee` the most Circle may keep,
        `receive` the minimum you receive. `destination` must be a checksummed
        address other than your wallet; a wallet (not passkey) account can
        withdraw only to its linked wallet. Refusals are 422 with `code`:
        `below_minimum`, `withdrawals_disabled`, `chain_inactive`,
        `receive_not_positive`, `no_safe`, `no_wallet`, `destination_is_safe`,
        `destination_not_linked_wallet`. Rate limited to 10 per minute.
      parameters:
        - description: Recipient on the destination chain, checksummed.
          example: '0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed'
          in: query
          name: destination
          required: true
          schema:
            type: string
        - description: USDC to withdraw (fee included).
          example: '50'
          in: query
          name: amount
          required: true
          schema:
            type: string
        - description: Destination chain key.
          example: ethereum
          in: query
          name: chain_key
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BridgeWithdrawQuoteEntity'
          description: ''
      security:
        - apiKey: []
components:
  schemas:
    BridgeWithdrawQuoteEntity:
      properties:
        amount:
          description: What leaves your wallet, in USDC (fee included).
          example: '50'
          type: string
        chain_key:
          description: Destination chain key.
          example: ethereum
          type: string
        destination:
          description: The recipient, checksummed.
          example: '0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed'
          type: string
        expires_at:
          description: Sign and relay before this.
          example: '2026-09-24T10:05:00Z'
          type: string
        fee:
          description: Our fee, in USDC.
          example: '3'
          type: string
        max_cctp_fee:
          description: The most Circle may keep of the transfer, in USDC.
          example: '0.01'
          type: string
        min_amount:
          description: Smallest withdrawal to this chain, in USDC.
          example: '20'
          type:
            - string
            - 'null'
        quote_id:
          description: Relay the signed `safe_tx` with this id.
          example: 6c1f0a52-…
          type: string
        receive:
          description: The minimum you receive on the destination chain, in USDC.
          example: '46.99'
          type: string
        safe:
          description: Your wallet (the Safe that signs), checksummed.
          example: '0x0DECE7d83f8D47CD8dD8278c0F22c361C58577BD'
          type: string
        safe_tx:
          $ref: '#/components/schemas/BridgeWithdrawSafeTxEntity'
          description: The wallet transaction to sign.
      required:
        - quote_id
        - chain_key
        - amount
        - fee
        - max_cctp_fee
        - receive
        - expires_at
        - min_amount
        - destination
        - safe
        - safe_tx
      type: object
    BridgeWithdrawSafeTxEntity:
      properties:
        data:
          description: '`multiSend(bytes)` calldata of the three calls.'
          example: 0x8d80ff0a…
          type: string
        operation:
          description: '`1` (DELEGATECALL).'
          example: 1
          type: number
        to:
          description: MultiSendCallOnly — the batch is delegatecalled from your wallet.
          example: '0x40A2aCCbd92BCA938b02010E17A5b8929b49130D'
          type: string
        value:
          example: '0'
          type: string
      required:
        - to
        - value
        - data
        - operation
      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.