curl --request GET \
--url https://api.linkio.world/transactions/v2/esp_transactions \
--header 'ngnc-sec-key: <api-key>'import requests
url = "https://api.linkio.world/transactions/v2/esp_transactions"
headers = {"ngnc-sec-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'ngnc-sec-key': '<api-key>'}};
fetch('https://api.linkio.world/transactions/v2/esp_transactions', 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.linkio.world/transactions/v2/esp_transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"ngnc-sec-key: <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.linkio.world/transactions/v2/esp_transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("ngnc-sec-key", "<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.linkio.world/transactions/v2/esp_transactions")
.header("ngnc-sec-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkio.world/transactions/v2/esp_transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["ngnc-sec-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"code": "TXN_RETRIEVED",
"status": "Success",
"message": "Test ESP transactions retrieved.",
"summary": {
"total_transactions": 20,
"total_onramps": 16,
"total_offramps": 4
},
"transactions": [
{
"transaction_id": "68f1c0b4a2d93e4471c0a8e2",
"transaction_reference": "link-esp-12345678",
"transaction_type": "onramp",
"stable": "ESP",
"currency": "NGN",
"amount": 150000,
"payout_amount": 92.45,
"rate": 1622.5,
"bank_name": "Access Bank",
"account_name": "Adaeze Okonkwo",
"account_number": "0123456789",
"esp_method": {
"kingschatUsername": "adaeze.o",
"espeesCard": "4921887766554433",
"emailAddress": "adaeze@example.com"
},
"transaction_status": "Completed",
"transaction_date": "June 05, 2026 14:30:00"
}
],
"pagination": {
"total": 20,
"page": 1,
"limit": 20,
"total_pages": 1
}
}{
"code": "INVALID_DATE",
"status": "Failed",
"message": "Invalid 'from' date."
}Espees Transactions
Retrieve the Espees (ESP) ramp transactions recorded for your business. Supports filtering by direction, status, and date range, with results sorted newest first. The key you authenticate with selects the data set — a test key returns test transactions, a live key returns live ones.
curl --request GET \
--url https://api.linkio.world/transactions/v2/esp_transactions \
--header 'ngnc-sec-key: <api-key>'import requests
url = "https://api.linkio.world/transactions/v2/esp_transactions"
headers = {"ngnc-sec-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'ngnc-sec-key': '<api-key>'}};
fetch('https://api.linkio.world/transactions/v2/esp_transactions', 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.linkio.world/transactions/v2/esp_transactions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"ngnc-sec-key: <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.linkio.world/transactions/v2/esp_transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("ngnc-sec-key", "<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.linkio.world/transactions/v2/esp_transactions")
.header("ngnc-sec-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.linkio.world/transactions/v2/esp_transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["ngnc-sec-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"code": "TXN_RETRIEVED",
"status": "Success",
"message": "Test ESP transactions retrieved.",
"summary": {
"total_transactions": 20,
"total_onramps": 16,
"total_offramps": 4
},
"transactions": [
{
"transaction_id": "68f1c0b4a2d93e4471c0a8e2",
"transaction_reference": "link-esp-12345678",
"transaction_type": "onramp",
"stable": "ESP",
"currency": "NGN",
"amount": 150000,
"payout_amount": 92.45,
"rate": 1622.5,
"bank_name": "Access Bank",
"account_name": "Adaeze Okonkwo",
"account_number": "0123456789",
"esp_method": {
"kingschatUsername": "adaeze.o",
"espeesCard": "4921887766554433",
"emailAddress": "adaeze@example.com"
},
"transaction_status": "Completed",
"transaction_date": "June 05, 2026 14:30:00"
}
],
"pagination": {
"total": 20,
"page": 1,
"limit": 20,
"total_pages": 1
}
}{
"code": "INVALID_DATE",
"status": "Failed",
"message": "Invalid 'from' date."
}Authorizations
Query Parameters
Page number (1-based). Defaults to 1.
x >= 1Number of transactions per page. Defaults to 20, maximum 100.
1 <= x <= 100Filter by ramp direction. Omit to return both onramp and offramp transactions.
onramp, offramp Filter by transaction status. Omit to return transactions of all statuses.
Pending, Completed, Failed, Cancelled Start of date range (ISO 8601, e.g. 2026-01-01). Inclusive.
"2026-01-01"
End of date range (ISO 8601, e.g. 2026-06-30). Inclusive — covers the full day up to 23:59:59.
"2026-06-30"
Response
Transactions retrieved successfully.
"TXN_RETRIEVED"
"Success"
"Test ESP transactions retrieved."
Totals across both directions. Ignores the type filter so the counts stay stable while you page through one side of the book.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

