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

# public/get_pending_deposits

> Returns deposits queued on L1 but not yet applied by the sequencer, indexed for a wallet and keyed by (tx_hash, log_index). Once a deposit is applied it moves to private/get_deposit_history; this endpoint covers the window in between. Public because a first-time depositor has no account (and thus no session key) until their deposit is applied.



## OpenAPI

````yaml /openapi.json post /public/get_pending_deposits
openapi: 3.1.0
info:
  title: Derive v3 API
  version: 0.2.0
  description: JSON-RPC 2.0 methods, served over WebSocket and HTTP POST.
servers:
  - url: https://api.derive.xyz/v3
    description: Production (HTTP POST base)
  - url: https://testnet.api.derive.xyz/v3
    description: Testnet (HTTP POST base)
security: []
tags:
  - name: Subaccounts
    description: >-
      List, inspect, and label subaccounts, portfolios, positions, and
      collateral.
  - name: Session Keys
    description: Register, edit, and list delegated signing keys.
  - name: Account
    description: Wallet-level account information and settings.
  - name: Orderbook
    description: Place, replace, cancel, and query orders, trigger orders, and algos.
  - name: RFQ
    description: 'Request-for-quote: send RFQs, quote, and execute block trades.'
  - name: Liquidations
    description: >-
      Open a Dutch auction against a breaching subaccount, quote the auctions
      running right now, bid on them, and review past ones.
  - name: Vault Shareholders
    description: >-
      Deposit into and withdraw from vaults, and track shares, requests, and
      performance.
  - name: Vault Curators
    description: >-
      Create and operate curated vaults: settle deposit and withdrawal requests,
      and manage vault metadata.
  - name: History
    description: >-
      Per-account historical records: orders, trades, transfers, and
      settlements.
  - name: Market Maker Protection
    description: Configure, read, and reset market-maker protection.
  - name: Transfers & Withdrawals
    description: Move collateral between subaccounts, to other wallets, and on-chain.
  - name: Onchain Actions
    description: >-
      L1 onchain actions submitted via OnchainActionManager: register deposit
      addresses, list pending deposits, and inspect onchain action history.
  - name: System
    description: Rate limits, transaction lookups, and live incidents.
  - name: Market Data
    description: Instruments, currencies, tickers, and market-wide feeds.
  - name: Maker Scoring
    description: Maker programs, score breakdowns, and detailed scoring snapshots.
  - name: Referrals
    description: Referral codes and program performance.
  - name: Other
    description: Uncategorized.
paths:
  /public/get_pending_deposits:
    post:
      tags:
        - Onchain Actions
      summary: public/get_pending_deposits
      description: >-
        Returns deposits queued on L1 but not yet applied by the sequencer,
        indexed for a wallet and keyed by (tx_hash, log_index). Once a deposit
        is applied it moves to private/get_deposit_history; this endpoint covers
        the window in between. Public because a first-time depositor has no
        account (and thus no session key) until their deposit is applied.
      operationId: public_get_pending_deposits
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetPendingDepositsParams'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetPendingDepositsResult'
        default:
          description: JSON-RPC error (see Error Codes)
components:
  schemas:
    GetPendingDepositsParams:
      type: object
      required:
        - wallet
      properties:
        wallet:
          description: Wallet the pending deposits credit.
          type: string
    GetPendingDepositsResult:
      type: object
      required:
        - pending_deposits
        - wallet
      properties:
        pending_deposits:
          description: >-
            L1 deposits, plus every bridge in flight or settled inside
            [`BRIDGE_HISTORY_WINDOW_MS`], each exactly once.
          type: array
          items:
            $ref: '#/components/schemas/PendingDepositEntry'
        wallet:
          type: string
    PendingDepositEntry:
      type: object
      required:
        - action_type
        - asset
        - deposit_type
        - manager_id
        - status
        - subaccount_id
        - timestamp
        - updated_at_ms
      properties:
        action_id:
          description: >-
            Per-queue id assigned by the `OnchainActionManager`. Absent while
            `bridging`.
          type:
            - integer
            - 'null'
          format: uint64
          minimum: 0
        action_type:
          description: '`Deposit` (existing subaccount) or `DepositToNewSubaccount`'
          type: string
        amount:
          description: >-
            Amount in the asset's native ERC-20 units, as a decimal string.
            While `bridging`, the estimated `bridge_to_l1.expected_amount` until
            the bridge delivers, then what it delivered.
          type:
            - string
            - 'null'
        asset:
          type: string
        block_number:
          type:
            - integer
            - 'null'
          format: uint64
          minimum: 0
        bridge_to_l1:
          description: >-
            Where a bridged deposit came from; absent for a plain L1 deposit or
            a bridge sent without Derive's integrator code.
          anyOf:
            - $ref: '#/components/schemas/PendingDepositBridgeOrigin'
            - type: 'null'
        deposit_type:
          description: '`standard` or `direct`.'
          type: string
        log_index:
          type:
            - integer
            - 'null'
          format: uint64
          minimum: 0
        manager_id:
          description: Manager of the new subaccount; `0` for existing-subaccount deposits.
          type: integer
          format: uint32
          minimum: 0
        status:
          description: >-
            `bridging` (a bridge not yet recorded on L1; its detail is
            `bridge_to_l1.bridge_status`) `detected` (transfer seen at the tip,
            pre-confirmation) `pending` (escrow swept, awaiting confirmation)
            `confirmed` (sweep tx past the confirmation range) `reverted` (the
            sweep reorged out — or uncreditable: no valid destination exists)
          type: string
        subaccount_id:
          description: Credited subaccount; `0` for new-subaccount deposits.
          type: integer
          format: int64
        timestamp:
          description: >-
            Milliseconds when the tracker first picked up the deposit -
            approximates the block timestamp of `block_number`. Shared by all of
            a deposit's entries. While `bridging`, the bridge's source
            transaction time.
          type: integer
          format: int64
        tx_hash:
          description: >-
            The L1 deposit. Absent while `bridging`: key a bridging entry on
            `bridge_to_l1` (see `bridge_id`), since it gains
            `tx_hash`/`log_index` once the sweeper records the deposit.
          type:
            - string
            - 'null'
        updated_at_ms:
          type: integer
          format: int64
    PendingDepositBridgeOrigin:
      description: >-
        Where a deposit came from. Named apart from `DepositBridgeOrigin`
        because schemars shares one namespace and would emit an order-dependent
        `BridgeOrigin2`.
      type: object
      required:
        - bridge_id
        - bridge_status
        - deposit_address
        - expected_amount
        - expires_at_ms
        - rail
        - source_chain_id
        - source_tx_hash
        - substatus
        - token
      properties:
        bridge_id:
          description: >-
            Unique with `rail`; changes if a registered source tx is replaced,
            so key on `provider_transfer_id` when present.
          type: string
        bridge_status:
          description: >-
            `registered` (reported by the client, not yet confirmed by Li.Fi)
            `submitted` (in flight) `delivered` (landed on the destination
            chain) `matched` (joined to the L1 deposit) `failed` (the bridge
            refunded or could not fill — nothing reached the escrow) `expired`
            (unresolved past `expires_at_ms`; check the source chain)
            `unmatched` (delivered, but not credited within 24h; contact
            support)
          type: string
        delivered_at_ms:
          type:
            - integer
            - 'null'
          format: int64
        deposit_address:
          description: The escrow the bridge delivers to.
          type: string
        expected_amount:
          description: >-
            Quoted amount expected to land, in `token` units (estimated until
            quoted); `receiving_amount` once delivered.
          type: string
        expires_at_ms:
          description: >-
            When a still-`registered` or `submitted` bridge will be marked
            `expired`.
          type: integer
          format: int64
        provider_transfer_id:
          description: >-
            The provider's own id for the bridge (Li.Fi: the quote's
            `transactionId`), stable through its lifecycle.
          type:
            - string
            - 'null'
        rail:
          description: 'Bridge protocol: `lifi` or `layerzero`.'
          type: string
        receiving_amount:
          description: What actually arrived, native units, as a decimal string.
          type:
            - string
            - 'null'
        receiving_token:
          type:
            - string
            - 'null'
        receiving_tx_hash:
          description: The bridge's delivery transaction on the destination chain.
          type:
            - string
            - 'null'
        source_address:
          description: >-
            Their wallet on that chain, lower-cased; absent when the rail gave
            none.
          type:
            - string
            - 'null'
        source_chain_id:
          description: Chain the user sent from.
          type: integer
          format: uint64
          minimum: 0
        source_tx_hash:
          description: Their transaction on that chain.
          type: string
        substatus:
          description: >-
            The rail's detail, or `TOKEN_MISMATCH` when the escrow cannot credit
            the token.
          type: string
        token:
          description: The ERC20 expected to land in the escrow.
          type: string

````

## Related topics

- [Programmatic Onboarding](/getting-started/depositing.md)
- [private/register_bridge_deposit](/api-reference/onchain-actions/privateregister_bridge_deposit.md)
- [Changelog](/changelog.md)


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