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

# List the caller's sweeper deposits, newest first

> The caller's sweeper deposits, newest first.

 Every transfer into one of the caller's deposit addresses, on any
 supported chain, as the same `SweeperDeposit` entries
 `get_sweeper_deposit_status` returns — so a client that has lost a
 deposit's transaction hash can still find it and follow it. A swept CCTP
 deposit is listed once, by its source-chain transfer: its hub mint is the
 same deposit's second leg, not a deposit of its own. A burn made straight
 to the hub deposit address has no source-chain transfer to the address,
 so it is listed by its hub mint.

 Newest recorded first, walked by an opaque cursor: omit `pageToken` (or
 send `""`) to start, then pass each response's `nextPageToken` until it
 comes back empty. A shorter page proves the end; the token is pinned to
 this listing and position-only — the caller always comes from the session.

 Authenticated: only deposits credited to the session's own address.



## OpenAPI

````yaml /proto-openapi/api/openapi.yaml get /api/v1/sweeper/deposits
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:
    get:
      tags:
        - SweeperService
        - Sweeper
      summary: List the caller's sweeper deposits, newest first
      description: |-
        The caller's sweeper deposits, newest first.

         Every transfer into one of the caller's deposit addresses, on any
         supported chain, as the same `SweeperDeposit` entries
         `get_sweeper_deposit_status` returns — so a client that has lost a
         deposit's transaction hash can still find it and follow it. A swept CCTP
         deposit is listed once, by its source-chain transfer: its hub mint is the
         same deposit's second leg, not a deposit of its own. A burn made straight
         to the hub deposit address has no source-chain transfer to the address,
         so it is listed by its hub mint.

         Newest recorded first, walked by an opaque cursor: omit `pageToken` (or
         send `""`) to start, then pass each response's `nextPageToken` until it
         comes back empty. A shorter page proves the end; the token is pinned to
         this listing and position-only — the caller always comes from the session.

         Authenticated: only deposits credited to the session's own address.
      operationId: list_sweeper_deposits
      parameters:
        - name: pageSize
          in: query
          schema:
            type: integer
            format: uint32
            minimum: 1
            maximum: 100
            default: 20
          description: Items per page (max 100)
        - name: pageToken
          in: query
          description: |-
            Pagination cursor with two states:
              - Omitted or empty string (""): start the walk from the newest deposit.
              - Non-empty: an opaque cursor from a previous response's
                `next_page_token`; results resume immediately after that position.

             The walk seeks on `(created_at, id)` descending over the caller's
             inflows, served by `idx_sweeper_transfers_user_inflows`. `created_at` is
             when the sweeper recorded the deposit and `id` an insertion-ordered
             identity, so the key is total and immutable.
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDepositsResponse'
        '400':
          description: >-
            pageSize out of range, or a pageToken that is malformed or minted by
            another listing
        '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:
    ListDepositsResponse:
      type: object
      properties:
        deposits:
          type: array
          items:
            $ref: '#/components/schemas/SweeperDeposit'
          description: This page of the caller's deposits, newest recorded first
          nullable: true
        nextPageToken:
          type: string
          description: Cursor for the next page; empty when this page is the last
          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.