---
title: "List crypto deposits"
method: GET
path: "/deposits/crypto"
tags: ["Deposits"]
---

# List crypto deposits

`GET /deposits/crypto`

Retrieves a paginated list of blockchain deposits. Filter by deposit IDs, account IDs, transaction hashes, assets, states, and timestamps.

## Query parameters

- `deposit_ids` union
  - string
  - string[]
- `account_ids` union
  - string
  - string[]
- `transaction_hashes` union
  - string
  - string[]
- `assets` union
  - string
  - string[]
- `states` union
  - string
  - string[]
- `state_reasons` union
  - string
  - string[]
- `travel_rule_status` 'pending'
- `from_timestamp` string
- `to_timestamp` string
- `limit` string
- `cursor` string

## Headers

- `X-SCX-SIGNED` string, required
- `X-SCX-TIMESTAMP` string, required

## Response `200`

Successful response

- GetCryptoDepositsResponse
  - `message` CryptoDepositEntity[]
    - `deposit_id` string — Unique identifier for the deposit
    - `account_id` string — Account ID the deposit belongs to
    - `participant_code` string — Participant code of the deposit owner
    - `transaction_hash` string — Blockchain transaction hash
    - `asset` string — Asset code (e.g. BTC, ETH)
    - `amount` string — Deposit amount
    - `source_address` string — Source blockchain address
    - `received_address` string — Receiving blockchain address
    - `state` string — Current deposit state
    - `timestamp` string — Deposit timestamp in RFC3339 format
    - `state_reason` string, nullable — Machine-readable reason the deposit is in its current state (e.g. `required_travel_rule_info`).
    - `travel_rule_status` 'pending' | 'completed' | 'not_required' — Human-readable Travel Rule status. `pending` — awaiting TR verification; `completed` — TR resolved (info received or 48h timer elapsed); `not_required` — deposit never entered a TR-hold state.
    - `travel_rule_collection_deadline` string, date-time, nullable — Deadline by which Travel Rule information must be submitted (BG-5112). RFC3339 timestamp. Only present when `travel_rule_status` is `pending` (state_reason = required_travel_rule_info). Computed as the PENDING_COMPLIANCE_REVIEW transition timestamp + 48h. Absent for deposits not subject to Travel Rule collection.
    - `notional` object, nullable — Notional value of the deposit captured at compliance-evaluation time (BG-5112). Present only when a EUR price was available at detection time; absent otherwise. Used for EU TFR cumulative €1,000 threshold tracking.
      - `value` string — Notional value of the deposit at detection time.
      - `rate` string — Price per unit of asset at detection time. `rate × amount = value`. Stored for compliance auditability.
      - `quotedAsset` string — Asset the value and rate are quoted in.
    - `history` StateTransitionEntity[] — State transition history
      - `from_state` string — Previous state
      - `to_state` string — New state
      - `timestamp` string — Transition timestamp in RFC3339 format
  - `pagination` CryptoDepositsPaginationEntity
    - `limit` number — Maximum results per page
    - `next_cursor` string — Cursor for the next page of results

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/zerohash/apis/zerohash-api.md) · [All operations](https://skmtc.net/zerohash/apis/zerohash-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zerohash/zerohash-api/versions/8b647d934363/schema)
