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

# Legacy: List onramps

> Legacy route for listing NGN receive flows

## Overview

Retrieve onramps through the legacy compatibility route. New integrations should use [`GET /v1/funding-accounts`](/api-reference/funding-accounts/list-funding-accounts) with `rail=NGN_VIRTUAL_ACCOUNT`.

## Authentication

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

## Query Parameters

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

  **Allowed values:** `TEMPORARY`, `PERMANENT`
</ParamField>

<ParamField query="page" type="integer">
  Page number (1-indexed)

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

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

  **Default:** `50`

  **Max:** `200`
</ParamField>

## Request Examples

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

  ```bash Permanent Only theme={null}
  curl --request GET \
    --url 'https://api.daya.co/v1/onramps?type=PERMANENT' \
    --header 'X-Api-Key: YOUR_API_KEY'
  ```

  ```bash Temporary Only theme={null}
  curl --request GET \
    --url 'https://api.daya.co/v1/onramps?type=TEMPORARY' \
    --header 'X-Api-Key: YOUR_API_KEY'
  ```

  ```bash Paginated theme={null}
  curl --request GET \
    --url 'https://api.daya.co/v1/onramps?page=2&limit=20' \
    --header 'X-Api-Key: YOUR_API_KEY'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://api.daya.co/v1/onramps?type=PERMANENT&page=1&limit=20',
    {
      headers: {
        'X-Api-Key': 'YOUR_API_KEY'
      }
    }
  );
  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://api.daya.co/v1/onramps',
      params={'type': 'PERMANENT', 'page': 1, 'limit': 20},
      headers={'X-Api-Key': 'YOUR_API_KEY'}
  )
  data = response.json()
  ```
</CodeGroup>

## Response

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

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

    <ResponseField name="type" type="string">
      Onramp type: `TEMPORARY` or `PERMANENT`
    </ResponseField>

    <ResponseField name="customer_id" type="string">
      Associated customer ID (UUID)
    </ResponseField>

    <ResponseField name="provisioning_status" type="string">
      Virtual account provisioning status: `PENDING`, `ACTIVE`, or `FAILED`
    </ResponseField>

    <ResponseField name="amount" type="string">
      Expected deposit amount in NGN, returned as a decimal string. Always present for temporary onramps (required at creation); not present for permanent onramps.
    </ResponseField>

    <ResponseField name="rate_id" type="string">
      Associated rate identifier (temporary onramps only)
    </ResponseField>

    <ResponseField name="rate_expires_at" type="string">
      When the locked rate expires (temporary onramps only)
    </ResponseField>

    <ResponseField name="developer_fee" type="object">
      Developer fee percentage used for deposits received through this onramp.

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

    <ResponseField name="settlement" type="object">
      Settlement configuration

      <Expandable title="settlement properties">
        <ResponseField name="settlement.mode" type="string">
          Settlement mode: `ONCHAIN` or `INTERNAL_BALANCE`
        </ResponseField>

        <ResponseField name="settlement.asset" type="string">
          Asset type: `USDC` or `USDT`
        </ResponseField>

        <ResponseField name="settlement.chain" type="string">
          Blockchain network
        </ResponseField>

        <ResponseField name="settlement.destination_address" type="string">
          On-chain destination address
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="virtual_account" type="object">
      Virtual bank account details

      <Expandable title="virtual_account properties">
        <ResponseField name="virtual_account.account_number" type="string">
          Virtual account number
        </ResponseField>

        <ResponseField name="virtual_account.account_name" type="string">
          Account name
        </ResponseField>

        <ResponseField name="virtual_account.bank_name" type="string">
          Bank name
        </ResponseField>

        <ResponseField name="virtual_account.expires_at" type="string">
          When the virtual account expires (temporary onramps only)
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="created_at" type="string">
      When the onramp was created (ISO 8601 timestamp)
    </ResponseField>
  </Expandable>
</ResponseField>

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

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

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

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

### Success Response

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "data": [
      {
        "id": "750e8400-e29b-41d4-a716-446655440000",
        "type": "PERMANENT",
        "customer_id": "650e8400-e29b-41d4-a716-446655440000",
        "provisioning_status": "ACTIVE",
        "settlement": {
          "mode": "ONCHAIN",
          "asset": "USDC",
          "chain": "BASE",
          "destination_address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
        },
        "virtual_account": {
          "account_number": "1234567890",
          "account_name": "Daya-John Doe",
          "bank_name": "Wema Bank"
        },
        "created_at": "2026-01-10T12:00:00Z"
      },
      {
        "id": "850e8400-e29b-41d4-a716-446655440000",
        "type": "TEMPORARY",
        "customer_id": "660e8400-e29b-41d4-a716-446655440000",
        "provisioning_status": "ACTIVE",
        "amount": "50000.50",
        "rate_id": "550e8400-e29b-41d4-a716-446655440000",
        "rate_expires_at": "2026-01-14T15:30:00Z",
        "settlement": {
          "mode": "ONCHAIN",
          "asset": "USDC",
          "chain": "SOLANA",
          "destination_address": "7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV"
        },
        "virtual_account": {
          "account_number": "9876543210",
          "account_name": "Daya - user@example.com",
          "bank_name": "Wema Bank",
          "expires_at": "2026-01-14T15:30:00Z"
        },
        "created_at": "2026-01-14T15:05:00Z"
      }
    ],
    "total": 2,
    "page": 1,
    "limit": 50,
    "total_pages": 1
  }
  ```
</ResponseExample>

## Error Responses

<ResponseExample>
  ```json 400 Bad Request theme={null}
  {
    "error": {
      "code": "BAD_REQUEST",
      "message": "Invalid query parameters",
      "request_id": "550e8400-e29b-41d4-a716-446655440000"
    }
  }
  ```

  ```json 401 Unauthorized theme={null}
  {
    "error": {
      "code": "UNAUTHORIZED",
      "message": "Unauthorized",
      "request_id": "550e8400-e29b-41d4-a716-446655440000"
    }
  }
  ```
</ResponseExample>

## Next Steps

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

  <Card title="Create Onramp" icon="plus" href="/api-reference/onramp/create-onramp">
    Create a new onramp
  </Card>
</CardGroup>
