> ## 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 Completed Deposits

> Reconcile against NGN bank-transfer deposits that have settled to your Daya Pro balance

## Overview

Returns the authenticated user's recent **completed NGN bank-transfer** deposits. Bank-transfer only — on-chain deposits are not included here. Most callers should subscribe to the [`deposit.completed` webhook](/pro/webhooks/events#deposit-completed) instead — this endpoint exists for backfill and reconciliation when you can't trust webhook delivery alone.

Requires **Read** scope.

## Authentication

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

## Query Parameters

<ParamField query="limit" type="integer">
  Number of records to return. Default `20`, max `100`.
</ParamField>

<ParamField query="offset" type="integer">
  Pagination offset. Default `0`, max `1,000,000`. For deeper history, prefer paging by `from`/`to` windows over large offsets.
</ParamField>

<ParamField query="from" type="string">
  Start timestamp. RFC3339 (`2026-05-01T00:00:00Z`) or `YYYY-MM-DD` accepted.
</ParamField>

<ParamField query="to" type="string">
  End timestamp. Same accepted formats as `from`.
</ParamField>

## Request Example

<CodeGroup>
  ```bash cURL theme={"dark"}
  curl --request GET \
    --url 'https://api.pro.daya.co/public/v1/deposits/completed?limit=20&from=2026-05-01' \
    --header 'X-Api-Key: daya_sk_YOUR_API_KEY'
  ```
</CodeGroup>

## Response

<ResponseField name="data.deposits" type="array" required>
  Array of completed deposit records, newest first.

  <Expandable title="deposit fields">
    <ResponseField name="id" type="string">Deposit UUID</ResponseField>
    <ResponseField name="type" type="string">Always `deposit`</ResponseField>
    <ResponseField name="method" type="string">Funding rail. Always `bank_transfer` from this endpoint.</ResponseField>
    <ResponseField name="status" type="string">Always `completed` from this endpoint.</ResponseField>
    <ResponseField name="amount_ngn" type="string">Settled amount in NGN as a decimal string</ResponseField>
    <ResponseField name="fee_amount_ngn" type="string">Fee in NGN, when applicable</ResponseField>
    <ResponseField name="currency" type="string">Always `NGN` from this endpoint</ResponseField>
    <ResponseField name="payment_provider" type="string">Underlying provider that settled the deposit</ResponseField>
    <ResponseField name="provider_transaction_id" type="string">Provider-side reference for reconciliation</ResponseField>
    <ResponseField name="tx_ref" type="string">Transaction reference (when provider supplies one)</ResponseField>
    <ResponseField name="originator_name" type="string">Name on the source bank account, when available</ResponseField>
    <ResponseField name="matching_reference" type="string">Internal reference used to attribute the deposit</ResponseField>
    <ResponseField name="reference" type="string">User-supplied or generated reference shown on statements</ResponseField>
    <ResponseField name="narration" type="string">Free-form narration from the source institution</ResponseField>
    <ResponseField name="description" type="string">Human-readable summary</ResponseField>
    <ResponseField name="created_at" type="string">ISO 8601 timestamp when first observed</ResponseField>
    <ResponseField name="completed_at" type="string">ISO 8601 timestamp when settlement finished</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="data.pagination" type="object" required>
  <Expandable title="pagination fields">
    <ResponseField name="total" type="integer">Total matching records (across all pages)</ResponseField>
    <ResponseField name="limit" type="integer">The limit echo for this page</ResponseField>
    <ResponseField name="offset" type="integer">The offset echo for this page</ResponseField>
    <ResponseField name="has_next" type="boolean">True when more records exist beyond this page</ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={"dark"}
  {
    "success": true,
    "message": "Completed deposits retrieved successfully",
    "data": {
      "deposits": [
        {
          "id": "11111111-1111-1111-1111-111111111111",
          "type": "deposit",
          "method": "bank_transfer",
          "status": "completed",
          "amount_ngn": "500000.00",
          "fee_amount_ngn": "50.00",
          "currency": "NGN",
          "payment_provider": "flutterwave",
          "provider_transaction_id": "FLW-RFR-9001",
          "tx_ref": "txref-001",
          "originator_name": "Jane Doe",
          "matching_reference": "DAYA-REF-001",
          "reference": "INV-9001",
          "narration": "Customer top-up",
          "description": "Bank transfer deposit",
          "created_at": "2026-05-05T14:00:00Z",
          "completed_at": "2026-05-05T14:00:09Z"
        }
      ],
      "pagination": {
        "total": 137,
        "limit": 20,
        "offset": 0,
        "has_next": true
      }
    }
  }
  ```
</ResponseExample>
