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

# Cross-chain deposits and withdrawals

> Your cross-chain USDC bridges, newest first — one row per bridge: deposits (`direction: in`, from arrival on the source chain to credit on Polygon) and withdrawals (`direction: out`, from the burn on Polygon to the mint on the destination chain). `direction` filters to one of them. Pagination in the `Page`, `Per-Page` and `Total` headers. The list is not pushed live: refetch it, e.g. when the regular deposit notification for the credited mint arrives.



## OpenAPI

````yaml /api-reference/openapi/calibri.yaml get /api/v2/atlas/account/bridge/transfers
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:
    get:
      tags:
        - Other
      summary: Cross-chain deposits and withdrawals
      description: >-
        Your cross-chain USDC bridges, newest first — one row per bridge:
        deposits (`direction: in`, from arrival on the source chain to credit on
        Polygon) and withdrawals (`direction: out`, from the burn on Polygon to
        the mint on the destination chain). `direction` filters to one of them.
        Pagination in the `Page`, `Per-Page` and `Total` headers. The list is
        not pushed live: refetch it, e.g. when the regular deposit notification
        for the credited mint arrives.
      parameters:
        - description: Rows per page. Defaults to 25, capped at 100.
          example: 25
          in: query
          name: limit
          required: false
          schema:
            default: 25
            maximum: 100
            minimum: 1
            type: integer
        - description: Page number, from 1.
          example: 1
          in: query
          name: page
          required: false
          schema:
            default: 1
            minimum: 1
            type: integer
        - description: '`in` (deposits) or `out` (withdrawals). Both when omitted.'
          example: out
          in: query
          name: direction
          required: false
          schema:
            enum:
              - in
              - out
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BridgeTransferEntity'
                type: array
          description: ''
      security:
        - apiKey: []
components:
  schemas:
    BridgeTransferEntity:
      properties:
        address:
          description: The receiving address (lowercase).
          example: '0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed'
          type: string
        amount:
          description: USDC received on the source chain (so far, until bridged).
          example: '50'
          type: string
        amount_out:
          description: USDC minted on Polygon.
          example: '48'
          type:
            - string
            - 'null'
        bridge_id:
          description: >-
            Stable id of this bridge:
            `cctp-bridge:{chain_key}:{address}:{run_id}`.
          example: >-
            cctp-bridge:ethereum:0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed:0192f3a1-7c1e-7d2a-9b4e-5f6a7b8c9d0e
          type: string
        burn_tx_hash:
          description: Source-chain burn transaction.
          type:
            - string
            - 'null'
        cctp_fee:
          description: What Circle kept, once known.
          example: '0'
          type:
            - string
            - 'null'
        charged_fee:
          description: The fee actually charged.
          type:
            - string
            - 'null'
        consent_fee:
          description: The fee you accepted.
          type:
            - string
            - 'null'
        consent_id:
          description: Your current consent, if any.
          type:
            - string
            - 'null'
        consent_reason:
          description: >-
            `accepted`, `stale` (the fee rose before it could be used: a new
            offer is waiting), `expired`, or `released` (bridged at the standard
            fee).
          type:
            - string
            - 'null'
        consented_at:
          example: '2026-09-24T10:03:00Z'
          type:
            - string
            - 'null'
        created_at:
          example: '2026-09-24T10:00:00Z'
          type: string
        custody:
          description: '`safe` or `custodial`.'
          example: safe
          type: string
        deliver_by:
          description: >-
            Withdrawals held for gas (`waiting_gas` / `gas_above_fee`): the
            latest the delivery completes, whatever gas does. `null` otherwise.
          example: '2026-09-24T16:00:00Z'
          type:
            - string
            - 'null'
        deposit_amount:
          description: >-
            Amount of that deposit in USDC — what was credited. `null` until the
            deposit is linked.
          example: '48'
          type:
            - string
            - 'null'
        deposit_credited:
          description: >-
            True once that deposit has credited your balance (it was accepted,
            or later). Use this rather than `deposit_state`: `false` while
            unlinked, still being checked, on hold, held in suspense, or
            rejected.
          example: true
          type: boolean
        deposit_id:
          description: >-
            The Polygon deposit the mint created, once it is linked (it appears
            in your deposits). `null` until then.
          example: 48213
          type:
            - number
            - 'null'
        deposit_rejected:
          description: >-
            True when that deposit will never be credited: it was rejected, or
            its funds were returned to the sender. `false` otherwise.
          example: false
          type: boolean
        deposit_state:
          description: >-
            State of that deposit (e.g. `submitted`, `accepted`). The USDC is
            credited only once it is `accepted` — a linked deposit is not yet a
            credited one. `null` until the deposit is linked.
          example: accepted
          type:
            - string
            - 'null'
        destination:
          description: 'Withdrawals: the recipient there. `null` on a deposit.'
          example: '0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed'
          type:
            - string
            - 'null'
        destination_chain_key:
          description: 'Withdrawals: the network the USDC is sent to. `null` on a deposit.'
          example: ethereum
          type:
            - string
            - 'null'
        direction:
          description: '`in` (a deposit) or `out` (a withdrawal to another network).'
          example: in
          type: string
        error:
          description: Why the bridge failed, when it did.
          type:
            - string
            - 'null'
        expense_now:
          description: >-
            Withdrawals: the relayer's current estimate of the delivery cost on
            the destination chain, in USDC. `null` when not reported.
          example: '1.1'
          type:
            - string
            - 'null'
        fee:
          description: Our fee in USDC.
          example: '2'
          type:
            - string
            - 'null'
        fee_paid:
          description: 'Withdrawals: the fee you paid in the withdrawal, in USDC.'
          example: '3'
          type:
            - string
            - 'null'
        gross:
          description: 'Withdrawals: fee + amount burned — what left your wallet, in USDC.'
          example: '50'
          type:
            - string
            - 'null'
        inbound_from_addresses:
          description: >-
            Deposits: the address that sent each inbound transfer on the source
            network (lowercase), in the order of `inbound_tx_hashes`; an entry
            is `null` when that sender is unknown. `null` until reported, and on
            withdrawals.
          example:
            - '0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed'
          items:
            type: string
          type:
            - array
            - 'null'
        inbound_tx_hashes:
          description: Deposits received on the source chain that this bridge carries.
          example:
            - '0x4f3c0d6b0b4a2c5e9b0a3f1d2e6c7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f'
          items:
            type: string
          type: array
        mint_tx_hash:
          description: Polygon mint transaction.
          type:
            - string
            - 'null'
        minted_at:
          description: When the USDC arrived on Polygon.
          example: '2026-09-24T10:17:00Z'
          type:
            - string
            - 'null'
        quote:
          $ref: '#/components/schemas/BridgeQuoteEntity'
          description: >-
            The current fee quote while the bridge waits on gas; `null`
            otherwise.
        quote_expires_at:
          example: '2026-09-24T10:10:00Z'
          type:
            - string
            - 'null'
        source_chain_key:
          description: Source chain key.
          example: ethereum
          type: string
        source_chain_name:
          description: Source chain display name.
          example: Ethereum
          type:
            - string
            - 'null'
        state:
          description: >-
            Deposits: `waiting_minimum` → `bridging` → `attesting` → `minting` →
            `completed`, or `failed`. While gas is high: `awaiting_consent`
            (accept the fee in `quote`, or wait) or `waiting_gas` (the fee is
            not below the amount: send more USDC to the same address, or wait;
            see `wait_reason`). Withdrawals: `burned` → `attesting` → `minting`
            → `completed`, or `failed`; `waiting_gas` (`gas_above_fee`) while
            destination gas is above what the fee covers — completed by
            `deliver_by` at the latest. A withdrawal `failed` with `unsponsored`
            was sent without our fee and is not delivered by us.
          example: completed
          type: string
        updated_at:
          example: '2026-09-24T10:17:00Z'
          type: string
        wait_reason:
          description: >-
            Why a waiting bridge waits: `fee_exceeds_amount`,
            `budget_exhausted`, `consent_stale`, `fee_unavailable` (the fee
            cannot be priced right now); for a withdrawal `gas_above_fee` or
            `unsponsored`; or `null`.
          example: null
          type:
            - string
            - 'null'
        withdraw_id:
          description: 'Withdrawals: the withdrawal record in your withdrawal history.'
          example: 9121
          type:
            - number
            - 'null'
      required:
        - bridge_id
        - custody
        - source_chain_key
        - source_chain_name
        - address
        - inbound_tx_hashes
        - amount
        - fee
        - cctp_fee
        - amount_out
        - state
        - inbound_from_addresses
        - direction
        - destination_chain_key
        - destination
        - fee_paid
        - gross
        - withdraw_id
        - deliver_by
        - expense_now
        - wait_reason
        - quote
        - quote_expires_at
        - consent_id
        - consent_fee
        - consented_at
        - consent_reason
        - charged_fee
        - burn_tx_hash
        - mint_tx_hash
        - error
        - created_at
        - updated_at
        - minted_at
        - deposit_id
        - deposit_amount
        - deposit_state
        - deposit_credited
        - deposit_rejected
      type: object
    BridgeQuoteEntity:
      properties:
        capped_fee:
          description: The most the standard fee caps allow without your consent, in USDC.
          example: '2'
          type: string
        expense:
          description: >-
            Estimated cost of the bridge in USDC (gas on both chains plus the
            Circle fee).
          example: '6.1'
          type: string
        expires_at:
          description: >-
            Until when the offer is expected to hold. It is re-checked every 10
            minutes.
          example: '2026-09-24T10:10:00Z'
          type: string
        gas_price_wei:
          description: Source-chain gas price, in wei.
          example: '17000000000'
          type: string
        includes_deploy:
          description: True when the cost includes deploying your Safe on the source chain.
          example: false
          type: boolean
        native_usd:
          description: Native token price in USD.
          example: '2450.12'
          type: string
        quote_hash:
          description: Identifies this quote.
          example: 0x9f…
          type: string
        quoted_at:
          example: '2026-09-24T10:00:00Z'
          type: string
        target_fee:
          description: The fee you are asked to accept, in USDC (cost plus margin).
          example: '6.72'
          type: string
      required:
        - expense
        - target_fee
        - capped_fee
        - gas_price_wei
        - native_usd
        - includes_deploy
        - quoted_at
        - expires_at
        - quote_hash
      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.