Get transfer
curl --request GET \
--url https://api.daya.co/v1/transfers/{id} \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/transfers/{id}"
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/transfers/{id}', 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/transfers/{id}",
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/transfers/{id}"
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/transfers/{id}")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/transfers/{id}")
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{
"id": "850e8400-e29b-41d4-a716-446655440000",
"reference": "txn_ngn_001",
"status": "SETTLED",
"rail": "NGN_BANK",
"currency": "NGN",
"amount": "50000.00",
"debit_currency": "USD",
"debit_scope": "MERCHANT",
"debit_amount": "32.290323",
"fee": "0.032258",
"rate": {
"side": "SELL",
"value": "1550.00",
"captured_at": "2026-01-05T15:04:05Z"
},
"recipient": {
"id": "750e8400-e29b-41d4-a716-446655440000",
"type": "BANK_ACCOUNT",
"bank_account": {
"account_name": "John Doe",
"account_number_last4": "7890",
"bank_code": "044",
"bank_name": "Access Bank"
}
},
"on_behalf_of": null,
"created_at": "2026-01-05T15:04:05Z",
"settled_at": "2026-01-05T15:10:00Z"
}
{
"error": {
"code": "NOT_FOUND",
"message": "Transfer not found",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Transfers
Get transfer
Retrieve a single transfer by ID
GET
/
v1
/
transfers
/
{id}
Get transfer
curl --request GET \
--url https://api.daya.co/v1/transfers/{id} \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/transfers/{id}"
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/transfers/{id}', 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/transfers/{id}",
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/transfers/{id}"
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/transfers/{id}")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/transfers/{id}")
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{
"id": "850e8400-e29b-41d4-a716-446655440000",
"reference": "txn_ngn_001",
"status": "SETTLED",
"rail": "NGN_BANK",
"currency": "NGN",
"amount": "50000.00",
"debit_currency": "USD",
"debit_scope": "MERCHANT",
"debit_amount": "32.290323",
"fee": "0.032258",
"rate": {
"side": "SELL",
"value": "1550.00",
"captured_at": "2026-01-05T15:04:05Z"
},
"recipient": {
"id": "750e8400-e29b-41d4-a716-446655440000",
"type": "BANK_ACCOUNT",
"bank_account": {
"account_name": "John Doe",
"account_number_last4": "7890",
"bank_code": "044",
"bank_name": "Access Bank"
}
},
"on_behalf_of": null,
"created_at": "2026-01-05T15:04:05Z",
"settled_at": "2026-01-05T15:10:00Z"
}
{
"error": {
"code": "NOT_FOUND",
"message": "Transfer not found",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Overview
Retrieves a single merchant-initiated transfer by ID for the authenticated merchant.Authentication
string
required
Your merchant API key
Path Parameters
string
required
Transfer ID (UUID format)Example:
850e8400-e29b-41d4-a716-446655440000Request Example
curl --request GET \
--url https://api.daya.co/v1/transfers/850e8400-e29b-41d4-a716-446655440000 \
--header 'X-Api-Key: YOUR_API_KEY'
Response
string
required
Transfer ID (UUID)
string
required
Merchant-provided reference
string
required
External status:
PROCESSING, SETTLED, or FAILEDstring
required
Transfer rail:
NGN_BANK, USD_BANK, or CRYPTOstring
required
Transfer currency (
NGN, USD, SOL, or BNB)string
required
Transfer amount in the target currency
string
required
Currency debited from the selected balance, such as
USD or NGN.string
required
Balance owner:
MERCHANT or CUSTOMER.string
required
Total removed from the selected balance, expressed in
debit_currency. This already includes fee; do not add the fee again.string
required
Fee charged for the transfer
object
Captured exchange rate snapshot (present for NGN transfers)
object
Resolved recipient details
object
Customer metadata if provided
string
required
When the transfer was created (ISO 8601)
string
When the transfer settled (ISO 8601)
{
"id": "850e8400-e29b-41d4-a716-446655440000",
"reference": "txn_ngn_001",
"status": "SETTLED",
"rail": "NGN_BANK",
"currency": "NGN",
"amount": "50000.00",
"debit_currency": "USD",
"debit_scope": "MERCHANT",
"debit_amount": "32.290323",
"fee": "0.032258",
"rate": {
"side": "SELL",
"value": "1550.00",
"captured_at": "2026-01-05T15:04:05Z"
},
"recipient": {
"id": "750e8400-e29b-41d4-a716-446655440000",
"type": "BANK_ACCOUNT",
"bank_account": {
"account_name": "John Doe",
"account_number_last4": "7890",
"bank_code": "044",
"bank_name": "Access Bank"
}
},
"on_behalf_of": null,
"created_at": "2026-01-05T15:04:05Z",
"settled_at": "2026-01-05T15:10:00Z"
}
{
"error": {
"code": "NOT_FOUND",
"message": "Transfer not found",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}