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

# private/get_deposit_history

> Returns settled deposits for a single subaccount or an entire wallet (specify exactly one), optionally bounded by a start/end timestamp window. Each entry reports the deposited amount as a decimal, the fee routed to the security module (the net credited amount is amount minus fee), and the resolved settlement batch and status. A deposit that could not reach its target is credited to the wallet's fallback subaccount instead: it reports `is_fallback: true` and the rejection that caused it in `fallback_error_code`, `fallback_error_message` and `fallback_error_data`.



## OpenAPI

````yaml /openapi.json post /private/get_deposit_history
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:
  /private/get_deposit_history:
    post:
      tags:
        - History
      summary: private/get_deposit_history
      description: >-
        Returns settled deposits for a single subaccount or an entire wallet
        (specify exactly one), optionally bounded by a start/end timestamp
        window. Each entry reports the deposited amount as a decimal, the fee
        routed to the security module (the net credited amount is amount minus
        fee), and the resolved settlement batch and status. A deposit that could
        not reach its target is credited to the wallet's fallback subaccount
        instead: it reports `is_fallback: true` and the rejection that caused it
        in `fallback_error_code`, `fallback_error_message` and
        `fallback_error_data`.
      operationId: private_get_deposit_history
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetDepositHistoryRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DepositHistoryResult'
        default:
          description: JSON-RPC error (see Error Codes)
components:
  schemas:
    GetDepositHistoryRequest:
      description: >-
        Parameters for `private/get_deposit_history`. Takes `subaccount_id` plus
        an optional `[start_timestamp, end_timestamp]` window in unix
        milliseconds. `wallet`, when set, takes precedence over `subaccount_id`
        and returns the whole wallet's deposits. Results are capped at 1000
        rows.
      type: object
      properties:
        end_timestamp:
          description: 'End of the window, unix milliseconds (default: unbounded / now).'
          default: null
          type:
            - integer
            - 'null'
          format: uint64
          minimum: 0
        start_timestamp:
          description: Start of the window, unix milliseconds (default 0).
          default: null
          type:
            - integer
            - 'null'
          format: uint64
          minimum: 0
        subaccount_id:
          default: null
          type:
            - integer
            - 'null'
          format: int64
        wallet:
          default: null
          type:
            - string
            - 'null'
    DepositHistoryResult:
      type: object
      required:
        - deposits
      properties:
        deposits:
          type: array
          items:
            $ref: '#/components/schemas/DepositEntry'
    DepositEntry:
      description: >-
        `amount` and `fee` are decimal strings (e.g. `"1.1"`); the net credited
        amount is `amount - fee`. `operation_id`/`batch_uuid` are stable uuids.
      type: object
      required:
        - amount
        - asset
        - batch_status
        - batch_uuid
        - fee
        - is_fallback
        - new_subaccount
        - operation_id
        - subaccount_id
        - timestamp
        - wallet
      properties:
        action_id:
          type:
            - integer
            - 'null'
          format: uint64
          minimum: 0
        amount:
          description: >-
            Non-negative decimal string of the human value (e.g. `"1.5"`), up to
            12 fractional digits; a string or JSON number is accepted
          type: string
          format: decimal
        asset:
          type: string
        batch_status:
          $ref: '#/components/schemas/BatchStatus'
        batch_uuid:
          type: string
        bridge_origin:
          description: >-
            Absent for a plain L1 deposit, a bridge sent outside Derive's own
            quotes, or a sweep that credited several bridges at once.
          anyOf:
            - $ref: '#/components/schemas/DepositBridgeOrigin'
            - type: 'null'
        fallback_error_code:
          description: Error code for the deposit's failure to reach its target subaccount.
          type:
            - integer
            - 'null'
          format: int64
        fallback_error_data:
          description: Null for an internal error, whose text stays internal.
          type:
            - string
            - 'null'
        fallback_error_message:
          description: Null for an internal error, whose text stays internal.
          type:
            - string
            - 'null'
        fee:
          description: >-
            Non-negative decimal string of the human value (e.g. `"1.5"`), up to
            12 fractional digits; a string or JSON number is accepted
          type: string
          format: decimal
        is_fallback:
          description: >-
            The deposit could not reach its target, so it was credited to the
            wallet's fallback subaccount instead.
          type: boolean
        l1_sender:
          description: >-
            Who sent those funds on L1: the depositor's wallet, an exchange, or
            a bridge's relayer. Absent exactly when `l1_tx_hash` is.
          type:
            - string
            - 'null'
        l1_tx_hash:
          description: >-
            The L1 transaction that moved the funds into the escrow. Absent when
            no tracked L1 row backs the deposit, or when one action credited
            several transfers at once.
          type:
            - string
            - 'null'
        new_subaccount:
          type: boolean
        operation_id:
          type: string
        subaccount_id:
          type: integer
          format: uint64
          minimum: 0
        timestamp:
          description: Unix milliseconds.
          type: integer
          format: uint64
          minimum: 0
        tx_hash:
          description: >-
            The settlement batch's commit, `null` until the batch settles. Not
            the deposit's own L1 transaction: that is `l1_tx_hash`.
          type:
            - string
            - 'null'
        wallet:
          type: string
    BatchStatus:
      description: >-
        Batch lifecycle status — the single source of lifecycle truth for every
        operation in the batch (individual ops carry no status of their own).
        Each stage has a healthy variant and a corresponding `...Error` variant
        meaning that stage failed. Serialized as the variant name (string) in
        API responses.
      type: string
      enum:
        - Batching
        - Executing
        - Da
        - Proving
        - Settling
        - Settled
        - BatchingError
        - ExecutingError
        - DaError
        - ProvingError
        - SettlingError
        - SettledError
    DepositBridgeOrigin:
      description: >-
        Where a credited deposit came from. Named apart from
        `PendingDepositBridgeOrigin` because schemars shares one namespace and
        would emit an order-dependent name.
      type: object
      required:
        - rail
        - source_chain_id
        - source_tx_hash
      properties:
        rail:
          description: 'Bridge protocol: `lifi` or `layerzero`.'
          type: string
        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

````

## Related topics

- [public/get_pending_deposits](/api-reference/onchain-actions/publicget_pending_deposits.md)
- [Programmatic Onboarding](/getting-started/depositing.md)
- [Changelog](/changelog.md)


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