List virtual account deposits
curl --request GET \
--url https://api.daya.co/v1/virtual-account-deposits \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/virtual-account-deposits"
headers = {"X-Api-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<x-api-key>'}};
fetch('https://api.daya.co/v1/virtual-account-deposits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.daya.co/v1/virtual-account-deposits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.daya.co/v1/virtual-account-deposits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.daya.co/v1/virtual-account-deposits")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/virtual-account-deposits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "9c4e8400-e29b-41d4-a716-446655440000",
"type": "USD_DEPOSIT",
"va_deposit_id": "9c4e8400-e29b-41d4-a716-446655440000",
"customer_id": "650e8400-e29b-41d4-a716-446655440000",
"amount": "1175.00",
"currency": "USD",
"settled_amount": "1172.65",
"settled_currency": "USD",
"source_amount": "1000.00",
"source_currency": "EUR",
"fx_rate": "1.175",
"payment_rail": "sepa",
"sender": {
"name": "Jane Doe",
"account_number": "****13000",
"bank_name": "Example Bank"
},
"status": "COMPLETED",
"settlement_status": "COMPLETED",
"fees": {
"deposit_fee": { "amount": "2.35", "currency": "USD" },
"total_fee_usd": "2.35"
},
"developer_fee": {
"percentage": "1.5",
"amount": "17.58975",
"currency": "USD"
},
"customer_amount": {
"amount": "1155.06025",
"currency": "USD"
},
"created_at": "2026-01-14T17:00:00Z",
"updated_at": "2026-01-14T17:01:30Z"
}
],
"page": 1,
"limit": 50,
"total": 1,
"total_pages": 1
}
Virtual Account Deposits
List virtual account deposits
List USD- and EUR-funded virtual account deposits
GET
/
v1
/
virtual-account-deposits
List virtual account deposits
curl --request GET \
--url https://api.daya.co/v1/virtual-account-deposits \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/virtual-account-deposits"
headers = {"X-Api-Key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Api-Key': '<x-api-key>'}};
fetch('https://api.daya.co/v1/virtual-account-deposits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.daya.co/v1/virtual-account-deposits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Api-Key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.daya.co/v1/virtual-account-deposits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Api-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.daya.co/v1/virtual-account-deposits")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/virtual-account-deposits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Api-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "9c4e8400-e29b-41d4-a716-446655440000",
"type": "USD_DEPOSIT",
"va_deposit_id": "9c4e8400-e29b-41d4-a716-446655440000",
"customer_id": "650e8400-e29b-41d4-a716-446655440000",
"amount": "1175.00",
"currency": "USD",
"settled_amount": "1172.65",
"settled_currency": "USD",
"source_amount": "1000.00",
"source_currency": "EUR",
"fx_rate": "1.175",
"payment_rail": "sepa",
"sender": {
"name": "Jane Doe",
"account_number": "****13000",
"bank_name": "Example Bank"
},
"status": "COMPLETED",
"settlement_status": "COMPLETED",
"fees": {
"deposit_fee": { "amount": "2.35", "currency": "USD" },
"total_fee_usd": "2.35"
},
"developer_fee": {
"percentage": "1.5",
"amount": "17.58975",
"currency": "USD"
},
"customer_amount": {
"amount": "1155.06025",
"currency": "USD"
},
"created_at": "2026-01-14T17:00:00Z",
"updated_at": "2026-01-14T17:01:30Z"
}
],
"page": 1,
"limit": 50,
"total": 1,
"total_pages": 1
}
Overview
Retrieve payments received into USD and EUR bank details created with/v1/virtual-accounts.
All virtual account deposits settle in USD. For a EUR-funded deposit, source_amount, source_currency, and fx_rate identify the original EUR payment and its conversion.
Use List deposits for NGN and crypto deposits received through funding accounts.
Authentication
string
required
Your merchant API key
Query Parameters
string
Filter by customer ID (UUID).
string
Filter by virtual account ID in UUID format.
string
Filter by virtual account deposit status.Allowed values:
PENDING | COMPLETED | FLAGGED | FAILEDstring
Filter deposits created from this time (RFC 3339, inclusive).
string
Filter deposits created before this time (RFC 3339, exclusive).
integer
Results per page.Default:
50 | Max: 200integer
Page number to retrieve.Default:
1Request Examples
curl --request GET \
--url 'https://api.daya.co/v1/virtual-account-deposits' \
--header 'X-Api-Key: YOUR_API_KEY'
curl --request GET \
--url 'https://api.daya.co/v1/virtual-account-deposits?virtual_account_id=550e8400-e29b-41d4-a716-446655440000' \
--header 'X-Api-Key: YOUR_API_KEY'
const response = await fetch(
'https://api.daya.co/v1/virtual-account-deposits?status=COMPLETED&limit=50&page=1',
{
headers: {
'X-Api-Key': 'YOUR_API_KEY'
}
}
);
const data = await response.json();
Response
array
required
Array of virtual account deposit objects.
Show deposit properties
Show deposit properties
string
Unique deposit identifier (UUID).
string
Always
USD_DEPOSIT.string
Virtual account deposit ID.
string
Associated customer ID.
string
USD amount received or produced by conversion, before Daya deposit fees.
string
Always
USD.string
USD amount after Daya deposit fees, when settled.
string
Settlement currency. Virtual account deposits currently settle in
USD.string
Payment rail used, such as
ach_push, wire, sepa, or sepa_instant.string
Original amount paid into a EUR virtual account. Omitted for USD-funded deposits.
string
Original funding currency.
EUR for a EUR-funded deposit. Omitted for USD-funded deposits.string
Exchange rate applied to a EUR-to-USD conversion. Omitted for USD-funded deposits.
object
Sender information when available.
string
Public status:
PENDING, COMPLETED, FLAGGED, or FAILED.string
Settlement progress.
object
Fees applied to the deposit.
object
object
string
Time the payment was received.
string
Last status update time.
integer
required
Current page number.
integer
required
Results per page.
integer
required
Total number of deposits matching filters.
integer
required
Total number of pages available.
Success Response
{
"data": [
{
"id": "9c4e8400-e29b-41d4-a716-446655440000",
"type": "USD_DEPOSIT",
"va_deposit_id": "9c4e8400-e29b-41d4-a716-446655440000",
"customer_id": "650e8400-e29b-41d4-a716-446655440000",
"amount": "1175.00",
"currency": "USD",
"settled_amount": "1172.65",
"settled_currency": "USD",
"source_amount": "1000.00",
"source_currency": "EUR",
"fx_rate": "1.175",
"payment_rail": "sepa",
"sender": {
"name": "Jane Doe",
"account_number": "****13000",
"bank_name": "Example Bank"
},
"status": "COMPLETED",
"settlement_status": "COMPLETED",
"fees": {
"deposit_fee": { "amount": "2.35", "currency": "USD" },
"total_fee_usd": "2.35"
},
"developer_fee": {
"percentage": "1.5",
"amount": "17.58975",
"currency": "USD"
},
"customer_amount": {
"amount": "1155.06025",
"currency": "USD"
},
"created_at": "2026-01-14T17:00:00Z",
"updated_at": "2026-01-14T17:01:30Z"
}
],
"page": 1,
"limit": 50,
"total": 1,
"total_pages": 1
}
Next steps
Get Virtual Account Deposit
Get a specific virtual account deposit by ID
USD and EUR Virtual Accounts
Learn how virtual accounts work