Legacy: List payouts
curl --request GET \
--url https://api.daya.co/v1/payouts \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/payouts"
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/payouts', 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/payouts",
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/payouts"
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/payouts")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/payouts")
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": [
{
"type": "NGN_PAYOUT",
"id": "b2c3d4e5-f6a7-8901-bcde-f23456789abc",
"reference": "PAY-NGN-20250105-001",
"status": "SETTLED",
"source_currency": "USD",
"destination_currency": "NGN",
"source_amount": "100.00",
"destination_amount": "155050.00",
"fee": "1.50",
"rate": {
"side": "SELL",
"value": "1550.50",
"captured_at": "2025-01-05T15:04:05Z"
},
"recipient": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"type": "BANK_ACCOUNT",
"bank_account": {
"account_number": "1234567890",
"account_name": "John Doe",
"bank_code": "044",
"bank_name": "Access Bank"
},
"crypto_address": null,
"created_at": "2025-01-05T15:04:05Z"
},
"sender": {
"type": "MERCHANT",
"id": "c3d4e5f6-a7b8-9012-cdef-345678901abc"
},
"tx_hash": null,
"created_at": "2025-01-05T15:04:05Z",
"settled_at": "2025-01-05T15:10:00Z"
}
],
"page": 1,
"limit": 20,
"total": 42,
"total_pages": 3
}
Payouts
Legacy: List payouts
Legacy route for listing settlement payouts
GET
/
v1
/
payouts
Legacy: List payouts
curl --request GET \
--url https://api.daya.co/v1/payouts \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/payouts"
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/payouts', 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/payouts",
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/payouts"
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/payouts")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/payouts")
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": [
{
"type": "NGN_PAYOUT",
"id": "b2c3d4e5-f6a7-8901-bcde-f23456789abc",
"reference": "PAY-NGN-20250105-001",
"status": "SETTLED",
"source_currency": "USD",
"destination_currency": "NGN",
"source_amount": "100.00",
"destination_amount": "155050.00",
"fee": "1.50",
"rate": {
"side": "SELL",
"value": "1550.50",
"captured_at": "2025-01-05T15:04:05Z"
},
"recipient": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"type": "BANK_ACCOUNT",
"bank_account": {
"account_number": "1234567890",
"account_name": "John Doe",
"bank_code": "044",
"bank_name": "Access Bank"
},
"crypto_address": null,
"created_at": "2025-01-05T15:04:05Z"
},
"sender": {
"type": "MERCHANT",
"id": "c3d4e5f6-a7b8-9012-cdef-345678901abc"
},
"tx_hash": null,
"created_at": "2025-01-05T15:04:05Z",
"settled_at": "2025-01-05T15:10:00Z"
}
],
"page": 1,
"limit": 20,
"total": 42,
"total_pages": 3
}
Overview
Retrieve a paginated list of read-only settlement payouts.Payouts are legacy read-only settlement artifacts. Merchant-initiated sends use the Transfers API.
Authentication
Your merchant API key
Query Parameters
Filter by payout typeAllowed values:
CRYPTO_PAYOUT, NGN_PAYOUTFilter by payout statusAllowed values:
PROCESSING, SETTLED, FAILEDResults per pageDefault:
20Max: 100Page number (1-indexed)Default:
1Request Examples
curl --request GET \
--url 'https://api.daya.co/v1/payouts' \
--header 'X-Api-Key: YOUR_API_KEY'
curl --request GET \
--url 'https://api.daya.co/v1/payouts?type=NGN_PAYOUT' \
--header 'X-Api-Key: YOUR_API_KEY'
curl --request GET \
--url 'https://api.daya.co/v1/payouts?status=SETTLED' \
--header 'X-Api-Key: YOUR_API_KEY'
const response = await fetch(
'https://api.daya.co/v1/payouts?status=SETTLED&page=1&limit=20',
{
headers: {
'X-Api-Key': 'YOUR_API_KEY'
}
}
);
const data = await response.json();
Response
Array of payout objects
Show payout properties
Show payout properties
Payout type (
NGN_PAYOUT or CRYPTO_PAYOUT)Unique payout identifier (UUID)
Payout reference string
Current status (
PROCESSING, SETTLED, or FAILED)Currency funds are sent from (e.g.
USD)Currency funds are delivered in (e.g.
NGN)Amount in source currency
Amount in destination currency
Fee charged for the payout
Payout recipient details
Show recipient properties
Show recipient properties
Recipient identifier (UUID)
Recipient type (
BANK_ACCOUNT or CRYPTO_ADDRESS)Crypto wallet address (present for crypto payouts,
null for NGN payouts)When the recipient was created (ISO 8601 timestamp)
On-chain transaction hash (for crypto payouts,
null for NGN payouts)When the payout was created (ISO 8601 timestamp)
When the payout settled (ISO 8601 timestamp,
null if not yet settled)Current page number
Results per page
Total number of payouts matching filters
Total number of pages
Success Response
{
"data": [
{
"type": "NGN_PAYOUT",
"id": "b2c3d4e5-f6a7-8901-bcde-f23456789abc",
"reference": "PAY-NGN-20250105-001",
"status": "SETTLED",
"source_currency": "USD",
"destination_currency": "NGN",
"source_amount": "100.00",
"destination_amount": "155050.00",
"fee": "1.50",
"rate": {
"side": "SELL",
"value": "1550.50",
"captured_at": "2025-01-05T15:04:05Z"
},
"recipient": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"type": "BANK_ACCOUNT",
"bank_account": {
"account_number": "1234567890",
"account_name": "John Doe",
"bank_code": "044",
"bank_name": "Access Bank"
},
"crypto_address": null,
"created_at": "2025-01-05T15:04:05Z"
},
"sender": {
"type": "MERCHANT",
"id": "c3d4e5f6-a7b8-9012-cdef-345678901abc"
},
"tx_hash": null,
"created_at": "2025-01-05T15:04:05Z",
"settled_at": "2025-01-05T15:10:00Z"
}
],
"page": 1,
"limit": 20,
"total": 42,
"total_pages": 3
}
Next Steps
Get Payout
Get a specific payout by ID
List Deposits
View incoming deposits
⌘I