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

# Get the status of the caller's sweeper deposits in one transaction

> Where the caller's sweeper deposits made by one transaction are.

 Look a deposit up by the hash of the transaction that sent funds to one of
 the caller's deposit addresses, on any supported chain. One transaction
 can carry several such transfers, so the answer is a list (in chain, then
 log order); it is empty until the sweeper has indexed the transaction, and
 never includes deposits to anyone else's address.

 Each deposit moves through `RECEIVED` (indexed; not yet swept — a balance
 below the asset's minimum waits for a later deposit) and then, on the hub
 chain, straight to `DEPOSITED` when the sweep lands. A deposit on another
 chain is bridged by CCTP: `BURNED` (swept off the source chain),
 `ATTESTING` (waiting for Circle's attestation), `ATTESTED`, `SETTLING`
 (minted on the hub, being swept into the exchange) and `DEPOSITED`.
 `FAILED` means the sweep returned the funds to the depositor's wallet
 (`failureReason` `REFUNDED`): the exchange was paused, the user is blocked,
 or the token is not accepted.

 Sweeps move balances rather than individual transfers, so a sweep that
 collected several deposits is attributed to each of them first in, first
 out. Deposits bridged by a route other than CCTP stay at `BURNED`.

 Authenticated: the deposits returned are those credited to the session's
 own address.



## OpenAPI

````yaml /proto-openapi/api/openapi.yaml get /api/v1/sweeper/deposits/{txHash}
openapi: 3.0.3
info:
  title: Monaco Protocol API
  description: REST API for the Monaco Protocol hybrid CLOB exchange.
  version: 1.0.0
servers:
  - url: https://staging.apimonaco.xyz
    description: Staging server (Testnet)
security: []
tags:
  - name: AccountsService
  - name: ApplicationsService
  - name: AuthService
  - name: BuildercodeRewardsService
  - name: CopyTradingService
  - name: DelegatedAgentsService
  - name: FaucetService
  - name: FeesService
  - name: HealthService
  - name: ManagedMarketsService
    description: |-
      Wallet-authenticated maker assignments. The signed session must match both
       configured maker user and application. Owner IDs are process fences, never auth.
       Only wallet sessions are supported; delegated-agent sessions receive 403.
  - name: MarginAccountsService
    description: |-
      Current public isolated-margin semantics:
       - a user has one parent margin account per application scope
       - opening orders create or reuse isolated position buckets under that parent
       - parent account creation is handled internally by margin workflows
  - name: MarketService
  - name: OrderbookService
  - name: OrdersService
  - name: PositionsService
    description: |-
      Current public isolated-margin semantics:
       - positions link to a parent margin account and, when applicable, a bucket id
       - opening orders create or reuse isolated position buckets under the parent
       - users can open another isolated position by reusing the parent account with a different market bucket
  - name: PulseService
  - name: SweeperService
  - name: TraderCodeService
  - name: TradesService
  - name: WhitelistService
  - name: WithdrawalsService
paths:
  /api/v1/sweeper/deposits/{txHash}:
    get:
      tags:
        - SweeperService
        - Sweeper
      summary: Get the status of the caller's sweeper deposits in one transaction
      description: |-
        Where the caller's sweeper deposits made by one transaction are.

         Look a deposit up by the hash of the transaction that sent funds to one of
         the caller's deposit addresses, on any supported chain. One transaction
         can carry several such transfers, so the answer is a list (in chain, then
         log order); it is empty until the sweeper has indexed the transaction, and
         never includes deposits to anyone else's address.

         Each deposit moves through `RECEIVED` (indexed; not yet swept — a balance
         below the asset's minimum waits for a later deposit) and then, on the hub
         chain, straight to `DEPOSITED` when the sweep lands. A deposit on another
         chain is bridged by CCTP: `BURNED` (swept off the source chain),
         `ATTESTING` (waiting for Circle's attestation), `ATTESTED`, `SETTLING`
         (minted on the hub, being swept into the exchange) and `DEPOSITED`.
         `FAILED` means the sweep returned the funds to the depositor's wallet
         (`failureReason` `REFUNDED`): the exchange was paused, the user is blocked,
         or the token is not accepted.

         Sweeps move balances rather than individual transfers, so a sweep that
         collected several deposits is attributed to each of them first in, first
         out. Deposits bridged by a route other than CCTP stay at `BURNED`.

         Authenticated: the deposits returned are those credited to the session's
         own address.
      operationId: get_sweeper_deposit_status
      parameters:
        - name: txHash
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDepositStatusResponse'
        '400':
          description: txHash is not a 0x-prefixed 32-byte hex hash
        '401':
          description: Authentication required
        '429':
          description: >-
            Read rate limit exceeded — every authenticated read draws one
            request from the account's read budget; retry after the interval in
            details.retryAfter
        '500':
          description: Internal server error
        '503':
          description: >-
            Deposit status not available in this environment, or the read took
            too long; safe to retry
      security:
        - monacoSignature: []
        - monacoHttpSignature: []
components:
  schemas:
    GetDepositStatusResponse:
      type: object
      properties:
        deposits:
          type: array
          items:
            $ref: '#/components/schemas/SweeperDeposit'
          description: >-
            The caller's deposits made by the transaction, in chain then log
            order; empty until the sweeper has indexed it
          nullable: true
    SweeperDeposit:
      type: object
      properties:
        txHash:
          type: string
          description: The deposit transaction's hash, lowercase
          nullable: true
        sourceChainId:
          example: 8453
          type: integer
          description: >-
            EVM chain id the deposit was made on, as listed by
            `get_sweeper_chains`
          format: int64
          nullable: true
        sourceDomain:
          example: 6
          type: integer
          description: >-
            The source chain's CCTP domain, once the deposit's CCTP burn is
            known; absent for hub deposits and before then
          format: uint32
          nullable: true
        beneficiary:
          type: string
          description: The address the deposit is credited to (the caller's own), lowercase
          nullable: true
        clientId:
          type: string
          description: >-
            Client id of the application the deposit address was registered
            under
          nullable: true
        depositTarget:
          enum:
            - SPOT
            - MARGIN
          type: string
          description: The ledger the deposit address asks to be credited to
          nullable: true
        token:
          type: string
          description: The deposited token's address on the source chain, lowercase
          nullable: true
        amountRaw:
          example: '5000000'
          type: string
          description: Amount deposited, raw base units of `token`
          nullable: true
        creditedAmountRaw:
          example: '4999000'
          type: string
          description: >-
            Amount credited to the exchange, once `DEPOSITED`. Absent when one
            CCTP burn carried several deposits (its fee cannot be split between
            them)
          nullable: true
        feeChargedRaw:
          example: '1000'
          type: string
          description: >-
            `amountRaw` minus `creditedAmountRaw` (Circle's fast-lane fee for a
            CCTP deposit, 0 on the hub); absent whenever `creditedAmountRaw` is
          nullable: true
        transferType:
          enum:
            - FAST
            - STANDARD
          type: string
          description: >-
            The CCTP lane the burn requested, once the burn is known; absent for
            hub deposits
          nullable: true
        status:
          example: ATTESTING
          enum:
            - RECEIVED
            - BURNED
            - ATTESTING
            - ATTESTED
            - SETTLING
            - DEPOSITED
            - FAILED
          type: string
          description: Where the deposit is; see the operation description
          nullable: true
        failureReason:
          enum:
            - REFUNDED
          type: string
          description: Why the deposit `FAILED`
          nullable: true
        sweepTx:
          type: string
          description: >-
            The source-chain transaction that swept the deposit (the CCTP burn
            for a remote deposit), once swept
          nullable: true
        settleTx:
          type: string
          description: >-
            The hub transaction that deposited the funds into the exchange, once
            `DEPOSITED` (the sweep itself for a hub deposit)
          nullable: true
        attestedAt:
          type: string
          description: When Circle's attestation was first seen
          nullable: true
        settledAt:
          type: string
          description: When the deposit was seen `DEPOSITED`
          nullable: true
        failedAt:
          type: string
          description: When the deposit was seen `FAILED`
          nullable: true
        createdAt:
          type: string
          description: When the sweeper indexed the deposit
          nullable: true
        updatedAt:
          type: string
          description: When the sweeper last observed progress on the deposit
          nullable: true
      description: >-
        One transfer into one of the caller's deposit addresses, and how far it
        has
         got. Amounts are raw base units of the token on the source chain.
         Timestamps are RFC3339 and record when the sweeper observed each step.
  securitySchemes:
    monacoSignature:
      type: apiKey
      description: >-
        Ed25519 session-key request signing. Every authenticated request carries
        three headers: `X-Monaco-PublicKey` (64-char lowercase-hex session
        public key), `X-Monaco-Timestamp` (Unix milliseconds, within 30s of
        server time), and `X-Monaco-Signature` (hex ed25519 signature). The
        signature is over `METHOD\npath?query\ntimestamp_ms\nSHA256_hex(body)`,
        where the body hash is the SHA-256 of the empty byte string when there
        is no body. Obtain the session keypair from `POST
        /api/v1/auth/challenge` followed by `POST /api/v1/auth/verify`.
      name: X-Monaco-Signature
      in: header
    monacoHttpSignature:
      type: apiKey
      description: >-
        RFC 9421 Ed25519 session-key request signatures. Send Signature-Input,
        Signature, and Content-Digest together; never combine them with
        X-Monaco-* credentials. The monaco signature covers @method, @path,
        @query, and content-digest in that order, with created (Unix seconds
        within 30s of server time), keyid (registered lowercase-hex session
        public key), and alg=ed25519 parameters. Content-Digest uses RFC 9530
        sha-256 over the exact body bytes, including the empty body. Query
        coverage retains ordering and percent encoding. Timestamp freshness does
        not reject repeated identical requests; use endpoint idempotency where
        supported. Existing legacy signing remains supported during server-first
        migration; SDK RFC 9421 signing is opt-in. See
        https://docs.0xmonaco.com/reference/http-message-signatures for the
        complete profile and trust model.
      name: Signature
      in: header

````

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