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

# List all deposits

> List NGN and crypto deposits with optional filters

## Overview

Retrieve a paginated list of deposits for the authenticated merchant. Deposits are inbound NGN and crypto funds received through funding accounts, such as NGN virtual accounts and crypto addresses.

<Info>
  Use [USD account deposits](/api-reference/virtual-account-deposits/list-usd-account-deposits) for payments into USD virtual accounts.
</Info>

## Authentication

<ParamField header="X-Api-Key" type="string" required>
  Your merchant API key
</ParamField>

## Query Parameters

<ParamField query="type" type="string">
  Filter by deposit type

  **Allowed values:** `NGN_DEPOSIT` | `CRYPTO_DEPOSIT`
</ParamField>

<ParamField query="status" type="string">
  Filter by deposit status

  **Allowed values:** `PENDING` | `RECEIVED` | `PROCESSING` | `REQUIRES_REVIEW` | `COMPLETED` | `FLAGGED` | `FAILED` | `REVERSED`

  `FLAGGED` is accepted for older integrations and maps to `REQUIRES_REVIEW`.
</ParamField>

<ParamField query="payment_reference" type="string">
  Filter by exact payment reference. Only applies to NGN deposits.
</ParamField>

<ParamField query="onramp_id" type="string">
  Filter by legacy onramp ID (UUID). Only applies to migrated NGN deposits.

  **Example:** `550e8400-e29b-41d4-a716-446655440000`
</ParamField>

<ParamField query="offramp_id" type="string">
  Filter by legacy offramp ID (UUID). Only applies to migrated crypto deposits.

  **Example:** `550e8400-e29b-41d4-a716-446655440000`
</ParamField>

<ParamField query="from" type="string">
  Filter deposits created from this time (RFC 3339, inclusive).

  **Example:** `2026-01-01T00:00:00Z`
</ParamField>

<ParamField query="to" type="string">
  Filter deposits created before this time (RFC 3339, exclusive).

  **Example:** `2026-01-31T23:59:59Z`
</ParamField>

<ParamField query="limit" type="integer">
  Results per page

  **Default:** `50` | **Max:** `200`
</ParamField>

<ParamField query="page" type="integer">
  Page number to retrieve

  **Default:** `1`
</ParamField>

## Request Examples

<CodeGroup>
  ```bash All Deposits theme={null}
  curl --request GET \
    --url 'https://api.daya.co/v1/deposits' \
    --header 'X-Api-Key: YOUR_API_KEY'
  ```

  ```bash By Legacy Onramp theme={null}
  curl --request GET \
    --url 'https://api.daya.co/v1/deposits?onramp_id=550e8400-e29b-41d4-a716-446655440000' \
    --header 'X-Api-Key: YOUR_API_KEY'
  ```

  ```bash By Status theme={null}
  curl --request GET \
    --url 'https://api.daya.co/v1/deposits?status=COMPLETED' \
    --header 'X-Api-Key: YOUR_API_KEY'
  ```

  ```bash Date Range theme={null}
  curl --request GET \
    --url 'https://api.daya.co/v1/deposits?from=2026-01-01T00:00:00Z&to=2026-01-31T23:59:59Z' \
    --header 'X-Api-Key: YOUR_API_KEY'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://api.daya.co/v1/deposits?status=COMPLETED&limit=50&page=1',
    {
      headers: {
        'X-Api-Key': 'YOUR_API_KEY'
      }
    }
  );
  const data = await response.json();
  ```
</CodeGroup>

## Response

<ResponseField name="data" type="array" required>
  Array of deposit objects.

  <Expandable title="deposit properties">
    <ResponseField name="id" type="string">
      Unique deposit identifier (UUID).
    </ResponseField>

    <ResponseField name="type" type="string">
      Deposit type: `NGN_DEPOSIT` or `CRYPTO_DEPOSIT`.
    </ResponseField>

    <ResponseField name="onramp_id" type="string">
      Legacy onramp ID for migrated NGN deposits, when present.
    </ResponseField>

    <ResponseField name="offramp_id" type="string">
      Legacy offramp ID for migrated crypto deposits, when present.
    </ResponseField>

    <ResponseField name="customer_id" type="string">
      Associated customer ID.
    </ResponseField>

    <ResponseField name="amount" type="string">
      Amount received into Daya.
    </ResponseField>

    <ResponseField name="currency" type="string">
      Deposit currency.
    </ResponseField>

    <ResponseField name="settled_amount" type="string">
      Amount delivered to the settlement destination.
    </ResponseField>

    <ResponseField name="settled_currency" type="string">
      Settlement destination currency, such as `USD` for internal balance, `NGN` for NGN payout, or a stablecoin for onchain settlement.
    </ResponseField>

    <ResponseField name="rate" type="string">
      Exchange rate applied.
    </ResponseField>

    <ResponseField name="rate_id" type="string">
      FX rate identifier used for settlement.
    </ResponseField>

    <ResponseField name="status" type="string">
      Current status: `RECEIVED`, `PROCESSING`, `REQUIRES_REVIEW`, `COMPLETED`, `FAILED`, or `REVERSED`.
    </ResponseField>

    <ResponseField name="settlement_status" type="string">
      Settlement progress.
    </ResponseField>

    <ResponseField name="settlement_mode" type="string">
      Settlement mode (e.g., `ONCHAIN`, `INTERNAL_BALANCE`, `NGN_PAYOUT`).
    </ResponseField>

    <ResponseField name="asset" type="string">
      Stablecoin symbol for crypto deposits (`USDC` or `USDT`).
    </ResponseField>

    <ResponseField name="chain" type="string">
      Blockchain network (for crypto deposits).
    </ResponseField>

    <ResponseField name="tx_hash" type="string">
      On-chain transaction hash (for crypto deposits).
    </ResponseField>

    <ResponseField name="funding_account_id" type="string">
      Funding account that received the funds.
    </ResponseField>

    <ResponseField name="fees" type="object">
      Fees applied to the deposit.

      <Expandable title="fees properties">
        <ResponseField name="fees.deposit_fee" type="object">
          Deposit fee.

          <Expandable title="deposit_fee properties">
            <ResponseField name="fees.deposit_fee.amount" type="string">
              Fee amount.
            </ResponseField>

            <ResponseField name="fees.deposit_fee.currency" type="string">
              Fee currency.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="fees.withdrawal_fee" type="object">
          Withdrawal fee component.

          <Expandable title="withdrawal_fee properties">
            <ResponseField name="fees.withdrawal_fee.amount" type="string">
              Fee amount.
            </ResponseField>

            <ResponseField name="fees.withdrawal_fee.currency" type="string">
              Fee currency.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="fees.total_fee_usd" type="string">
          Total fee expressed in USD.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="developer_fee" type="object">
      Merchant developer fee kept from this deposit, when configured. This is separate from Daya fees and is deducted before `customer_amount` is finalized.

      <Expandable title="developer_fee properties">
        <ResponseField name="developer_fee.percentage" type="string">
          Configured percentage as a decimal string.
        </ResponseField>

        <ResponseField name="developer_fee.amount" type="string">
          Amount kept by your merchant account after settlement. For onramps and offramps, this is deducted before the final customer amount is calculated rather than added as a separate charge.
        </ResponseField>

        <ResponseField name="developer_fee.currency" type="string">
          Currency of the developer fee amount.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="customer_amount" type="object">
      Amount left for the customer after Daya fees and the developer fee, when available.

      <Expandable title="customer_amount properties">
        <ResponseField name="customer_amount.amount" type="string">
          Amount left for the customer.
        </ResponseField>

        <ResponseField name="customer_amount.currency" type="string">
          Currency of the customer amount.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="flag_code" type="string">
      Flag code (if flagged).
    </ResponseField>

    <ResponseField name="flag_message" type="string">
      Flag description (if flagged).
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Time the deposit was received.
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      Last status update time.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="page" type="integer" required>
  Current page number.
</ResponseField>

<ResponseField name="limit" type="integer" required>
  Results per page.
</ResponseField>

<ResponseField name="total" type="integer" required>
  Total number of deposits matching filters.
</ResponseField>

<ResponseField name="total_pages" type="integer" required>
  Total number of pages available.
</ResponseField>

### Success Response

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "data": [
      {
        "id": "7a4e8400-e29b-41d4-a716-446655440000",
        "type": "NGN_DEPOSIT",
        "funding_account_id": "6b0e8400-e29b-41d4-a716-446655440000",
        "onramp_id": "550e8400-e29b-41d4-a716-446655440000",
        "customer_id": "650e8400-e29b-41d4-a716-446655440000",
        "amount": "15000.00",
        "currency": "NGN",
        "settled_amount": "9.70",
        "settled_currency": "USDC",
        "rate": "1545.50",
        "rate_id": "rate_8x7k2mq9p",
        "status": "COMPLETED",
        "settlement_status": "COMPLETED",
        "settlement_mode": "ONCHAIN",
        "chain": "BASE",
        "tx_hash": "0x8f3e2d1c0b9a8e7f6d5c4b3a2e1f0d9c8b7a6e5f4d3c2b1a",
        "fees": {
          "deposit_fee": { "amount": "0.05", "currency": "USD" },
          "total_fee_usd": "0.05"
        },
        "developer_fee": {
          "percentage": "2.5",
          "amount": "0.25",
          "currency": "USD"
        },
        "customer_amount": {
          "amount": "9.45",
          "currency": "USDC"
        },
        "created_at": "2026-01-14T15:06:30Z",
        "updated_at": "2026-01-14T15:08:15Z"
      }
    ],
    "page": 1,
    "limit": 50,
    "total": 1,
    "total_pages": 1
  }
  ```
</ResponseExample>

## Next Steps

<CardGroup cols={2}>
  <Card title="Get Deposit" icon="magnifying-glass" href="/api-reference/deposits/get-deposit">
    Get a specific deposit by ID
  </Card>

  <Card title="Deposits Concept" icon="book" href="/concepts/deposits">
    Learn about deposit lifecycle
  </Card>
</CardGroup>
