Get merchant funding
curl --request GET \
--url https://api.daya.co/v1/merchant/funding \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/merchant/funding"
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/merchant/funding', 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/merchant/funding",
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/merchant/funding"
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/merchant/funding")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/merchant/funding")
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": "750e8400-e29b-41d4-a716-446655440000",
"setup_status": "ACTIVE",
"ngn_settlement_destination": "USD_BALANCE",
"ngn_account": {
"account_number": "0123456789",
"account_name": "Acme Ltd",
"bank_name": "Wema Bank",
"bank_code": "035"
},
"crypto_wallet": {
"wallet_id": "wallet_abc123",
"addresses": [
{ "chain": "ETHEREUM", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "BASE", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "OPTIMISM", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "BSC", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "POLYGON", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "APTOS", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "TRON", "address": "TAbcdef1234567890abcdef1234567890ab" }
]
}
}
}
{
"error": {
"code": "NOT_FOUND",
"message": "Merchant funding configuration not found",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Merchant Funding
Get merchant funding
Get merchant funding instructions
GET
/
v1
/
merchant
/
funding
Get merchant funding
curl --request GET \
--url https://api.daya.co/v1/merchant/funding \
--header 'X-Api-Key: <x-api-key>'import requests
url = "https://api.daya.co/v1/merchant/funding"
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/merchant/funding', 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/merchant/funding",
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/merchant/funding"
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/merchant/funding")
.header("X-Api-Key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.daya.co/v1/merchant/funding")
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": "750e8400-e29b-41d4-a716-446655440000",
"setup_status": "ACTIVE",
"ngn_settlement_destination": "USD_BALANCE",
"ngn_account": {
"account_number": "0123456789",
"account_name": "Acme Ltd",
"bank_name": "Wema Bank",
"bank_code": "035"
},
"crypto_wallet": {
"wallet_id": "wallet_abc123",
"addresses": [
{ "chain": "ETHEREUM", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "BASE", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "OPTIMISM", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "BSC", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "POLYGON", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "APTOS", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "TRON", "address": "TAbcdef1234567890abcdef1234567890ab" }
]
}
}
}
{
"error": {
"code": "NOT_FOUND",
"message": "Merchant funding configuration not found",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Overview
Returns the merchant’s funding setup status, permanent NGN collection account, supported crypto wallet deposit addresses, and current NGN settlement preference. Merchant funding deposits top up the merchant withdrawal balance. By default, NGN funding deposits are converted to USD at the current rate and credited towithdrawal_balance_usd. Merchants that operate in Naira can opt into NGN_BALANCE; future NGN deposits are then retained and credited directly to withdrawal_balance_ngn without FX conversion.
Use PATCH /v1/merchant/funding/settlement-destination to change this merchant-level preference.
In sandbox, every merchant is treated as verified and receives an active Base funding address. Use the returned data.id with POST /v1/sandbox/deposits, set funding_account_scope to MERCHANT, and send an X-Idempotency-Key header to simulate funding the merchant balance safely. Include currency: NGN and a positive amount to credit the sandbox NGN withdrawal balance.
Authentication
string
required
Your merchant API key
Request Example
curl --request GET \
--url https://api.daya.co/v1/merchant/funding \
--header 'X-Api-Key: YOUR_API_KEY'
Response
object
required
Merchant funding details.
Show data properties
Show data properties
string
required
Merchant funding account ID. Pass this value as
funding_account_id when simulating a merchant funding deposit in sandbox.string
required
Current funding setup status (e.g.
ACTIVE)string
required
How future deposits to the merchant’s permanent NGN funding account settle.
USD_BALANCE converts NGN to USD; NGN_BALANCE retains and credits NGN directly.object
object
{
"data": {
"id": "750e8400-e29b-41d4-a716-446655440000",
"setup_status": "ACTIVE",
"ngn_settlement_destination": "USD_BALANCE",
"ngn_account": {
"account_number": "0123456789",
"account_name": "Acme Ltd",
"bank_name": "Wema Bank",
"bank_code": "035"
},
"crypto_wallet": {
"wallet_id": "wallet_abc123",
"addresses": [
{ "chain": "ETHEREUM", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "BASE", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "OPTIMISM", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "BSC", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "POLYGON", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "APTOS", "address": "0xabcdef1234567890abcdef1234567890abcdef12" },
{ "chain": "TRON", "address": "TAbcdef1234567890abcdef1234567890ab" }
]
}
}
}
{
"error": {
"code": "NOT_FOUND",
"message": "Merchant funding configuration not found",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
Notes
- Merchant funding surfaces include a permanent NGN virtual account plus crypto deposit addresses.
- Sandbox merchant funding returns a Base address and an account
idthat can be used with the sandbox deposit simulation endpoint. USD_BALANCEis the default for existing and new merchants, preserving automatic NGN-to-USD conversion.NGN_BALANCEretains future NGN deposits inwithdrawal_balance_ngnwithout using an FX rate.- The preference applies at merchant level, not per deposit. Changing it does not alter deposits that are already settled.
- Successful funding credits trigger an email notification to the merchant.