> ## 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 deposit from Hyperliquid by its action nonce

> Where the caller's deposit from Hyperliquid (HyperCore) is, by the
 action nonce the withdrawal was signed with — the `nonce`
 `depositFromHypercore` returns.

 A HyperCore deposit is a CCTP withdrawal Circle executes on HyperEVM, so
 it has no transaction hash the depositor ever sees. The sweeper reads the
 Hyperliquid account and nonce from the burn, and again from the attested
 message its Sei mint carries, and answers with the same `SweeperDeposit`
 entries `get_sweeper_deposit_status` returns. Usually one entry: the
 burn (statuses from `BURNED` on, `sourceChainId` HyperEVM) or, while the
 burn is not yet indexed but Circle has already minted, the Sei mint
 (`sourceChainId` Sei, `RECEIVED` then `DEPOSITED`); both can show for a
 moment before the sweeper links them. Empty until either is indexed,
 and for a nonce the caller was never credited under.

 Authenticated: only deposits credited to the session's own address are
 returned, whichever Hyperliquid account signed the withdrawal
 (`hypercoreUser` names it).



## OpenAPI

````yaml /proto-openapi/api/openapi.yaml get /api/v1/sweeper/deposits/hypercore/{nonce}
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://apimonaco.xyz
    description: Production (Sei mainnet)
security: []
tags:
  - name: AccountsService
  - name: AnalyticsService
  - name: ApplicationsService
  - name: AuthService
  - name: BuildercodeRewardsService
  - name: ComplianceService
  - 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: RfqService
  - name: SweeperService
  - name: TraderCodeService
  - name: TradesService
  - name: WithdrawalsService
paths:
  /api/v1/sweeper/deposits/hypercore/{nonce}:
    get:
      tags:
        - SweeperService
        - Sweeper
      summary: >-
        Get the status of the caller's deposit from Hyperliquid by its action
        nonce
      description: |-
        Where the caller's deposit from Hyperliquid (HyperCore) is, by the
         action nonce the withdrawal was signed with — the `nonce`
         `depositFromHypercore` returns.

         A HyperCore deposit is a CCTP withdrawal Circle executes on HyperEVM, so
         it has no transaction hash the depositor ever sees. The sweeper reads the
         Hyperliquid account and nonce from the burn, and again from the attested
         message its Sei mint carries, and answers with the same `SweeperDeposit`
         entries `get_sweeper_deposit_status` returns. Usually one entry: the
         burn (statuses from `BURNED` on, `sourceChainId` HyperEVM) or, while the
         burn is not yet indexed but Circle has already minted, the Sei mint
         (`sourceChainId` Sei, `RECEIVED` then `DEPOSITED`); both can show for a
         moment before the sweeper links them. Empty until either is indexed,
         and for a nonce the caller was never credited under.

         Authenticated: only deposits credited to the session's own address are
         returned, whichever Hyperliquid account signed the withdrawal
         (`hypercoreUser` names it).
      operationId: get_sweeper_hypercore_deposit_status
      parameters:
        - name: nonce
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetHypercoreDepositStatusResponse'
        '400':
          description: nonce is not a positive integer
        '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:
    GetHypercoreDepositStatusResponse:
      type: object
      properties:
        deposits:
          type: array
          items:
            $ref: '#/components/schemas/SweeperDeposit'
          description: >-
            The caller's deposits made by that Hyperliquid action: usually one,
            its burn, or its Sei mint while the burn is not yet indexed; empty
            until either is
          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` — or the chain a CCTP burn made straight to the
            deposit address was made on: HyperEVM (999; 998 on testnet) for a
            deposit from Hyperliquid, Arc (5042; 5042002 on testnet) for one
            from Arc
          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; for a burn made straight to the
            deposit address, the burn itself
          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
        hypercoreUser:
          type: string
          description: >-
            For a deposit from Hyperliquid (HyperCore), the Hyperliquid account
            that signed the withdrawal, lowercase; absent for every other
            deposit
          nullable: true
        hypercoreNonce:
          example: 1793886896823
          type: integer
          description: >-
            For a deposit from Hyperliquid (HyperCore), the action nonce the
            withdrawal was signed with — what
            `get_sweeper_hypercore_deposit_status` looks it up by; absent for
            every other deposit
          format: int64
          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.