curl --request GET \
--url https://api.onswitch.xyz/payment/summary \
--header 'x-service-key: <api-key>'import requests
url = "https://api.onswitch.xyz/payment/summary"
headers = {"x-service-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-service-key': '<api-key>'}};
fetch('https://api.onswitch.xyz/payment/summary', 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.onswitch.xyz/payment/summary",
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-service-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.onswitch.xyz/payment/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-service-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.onswitch.xyz/payment/summary")
.header("x-service-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onswitch.xyz/payment/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-service-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Payment summary for selected window",
"timestamp": "2026-04-18T14:22:08.631Z",
"data": {
"payment_summary": {
"payment_volume": 29492.907963,
"no_of_payment": 18,
"fee_collected": 0
},
"asset_breakdown": {
"total": 29492.907963,
"breakdown": {
"ngn": {
"amount": 7168.772496,
"count": 1,
"percentage": 24.306767
},
"usdc": {
"amount": 12146.557741,
"count": 11,
"percentage": 41.184673
},
"usdt": {
"amount": 10177.577726,
"count": 6,
"percentage": 34.50856
}
}
},
"network_breakdown": {
"total": 29492.907963,
"breakdown": {
"avalanche": {
"amount": 5578.306134,
"count": 4,
"percentage": 18.914059
},
"solana": {
"amount": 10177.577726,
"count": 6,
"percentage": 34.50856
},
"fiat": {
"amount": 7168.772496,
"count": 1,
"percentage": 24.306767
},
"base": {
"amount": 6568.251607,
"count": 7,
"percentage": 22.270614
}
}
},
"status_breakdown": {
"total": 71095.86236,
"breakdown": {
"awaiting_deposit": {
"amount": 16477.199897,
"count": 20,
"percentage": 23.176032
},
"processing": {
"amount": 25125.7545,
"count": 1,
"percentage": 35.340671
},
"completed": {
"amount": 29492.907963,
"count": 18,
"percentage": 41.483297
}
}
},
"weekly_breakdown": {
"last_week": {
"onramp": [
0,
0,
0,
0,
0,
0,
0
],
"offramp": [
0,
298.525286,
0,
0,
0,
0,
0
],
"swap": [
0,
0,
0,
0,
0,
0,
0
]
},
"this_week": {
"onramp": [
0,
0,
0,
0,
0,
0,
0
],
"offramp": [
1457.63691,
5092.969024,
1999.679085,
1066.31279,
0,
0,
0
],
"swap": [
0,
0,
0,
0,
0,
0,
0
]
}
},
"monthly_breakdown": {
"last_month": {
"onramp": [
0,
0,
7168.772496,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"offramp": [
0,
0,
0,
0,
1.997596,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1487.419139,
742.017911,
0,
0,
0,
0,
0,
298.525286,
0,
0,
0,
0,
0,
1457.63691,
5092.969024
],
"swap": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
},
"this_month": {
"onramp": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"offramp": [
1999.679085,
1066.31279,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"swap": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
}
}
}
}{
"success": false,
"message": "amount must be greater than 0 for the selected corridor",
"timestamp": "2026-04-18T14:22:08.631Z",
"data": null
}Get summary
Returns aggregated payment statistics.
curl --request GET \
--url https://api.onswitch.xyz/payment/summary \
--header 'x-service-key: <api-key>'import requests
url = "https://api.onswitch.xyz/payment/summary"
headers = {"x-service-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-service-key': '<api-key>'}};
fetch('https://api.onswitch.xyz/payment/summary', 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.onswitch.xyz/payment/summary",
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-service-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.onswitch.xyz/payment/summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-service-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.onswitch.xyz/payment/summary")
.header("x-service-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onswitch.xyz/payment/summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-service-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Payment summary for selected window",
"timestamp": "2026-04-18T14:22:08.631Z",
"data": {
"payment_summary": {
"payment_volume": 29492.907963,
"no_of_payment": 18,
"fee_collected": 0
},
"asset_breakdown": {
"total": 29492.907963,
"breakdown": {
"ngn": {
"amount": 7168.772496,
"count": 1,
"percentage": 24.306767
},
"usdc": {
"amount": 12146.557741,
"count": 11,
"percentage": 41.184673
},
"usdt": {
"amount": 10177.577726,
"count": 6,
"percentage": 34.50856
}
}
},
"network_breakdown": {
"total": 29492.907963,
"breakdown": {
"avalanche": {
"amount": 5578.306134,
"count": 4,
"percentage": 18.914059
},
"solana": {
"amount": 10177.577726,
"count": 6,
"percentage": 34.50856
},
"fiat": {
"amount": 7168.772496,
"count": 1,
"percentage": 24.306767
},
"base": {
"amount": 6568.251607,
"count": 7,
"percentage": 22.270614
}
}
},
"status_breakdown": {
"total": 71095.86236,
"breakdown": {
"awaiting_deposit": {
"amount": 16477.199897,
"count": 20,
"percentage": 23.176032
},
"processing": {
"amount": 25125.7545,
"count": 1,
"percentage": 35.340671
},
"completed": {
"amount": 29492.907963,
"count": 18,
"percentage": 41.483297
}
}
},
"weekly_breakdown": {
"last_week": {
"onramp": [
0,
0,
0,
0,
0,
0,
0
],
"offramp": [
0,
298.525286,
0,
0,
0,
0,
0
],
"swap": [
0,
0,
0,
0,
0,
0,
0
]
},
"this_week": {
"onramp": [
0,
0,
0,
0,
0,
0,
0
],
"offramp": [
1457.63691,
5092.969024,
1999.679085,
1066.31279,
0,
0,
0
],
"swap": [
0,
0,
0,
0,
0,
0,
0
]
}
},
"monthly_breakdown": {
"last_month": {
"onramp": [
0,
0,
7168.772496,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"offramp": [
0,
0,
0,
0,
1.997596,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1487.419139,
742.017911,
0,
0,
0,
0,
0,
298.525286,
0,
0,
0,
0,
0,
1457.63691,
5092.969024
],
"swap": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
},
"this_month": {
"onramp": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"offramp": [
1999.679085,
1066.31279,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"swap": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
}
}
}
}{
"success": false,
"message": "amount must be greater than 0 for the selected corridor",
"timestamp": "2026-04-18T14:22:08.631Z",
"data": null
}Authorizations
Service key for API authentication
Query Parameters
Optional start of date range.
Optional end of date range.
Response
Payment summary retrieved successfully
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Total volume in USD represented by this breakdown
Keys are lowercase labels (e.g. source asset code, blockchain or fiat, payment status such as completed).
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Total volume in USD represented by this breakdown
Keys are lowercase labels (e.g. source asset code, blockchain or fiat, payment status such as completed).
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Total volume in USD represented by this breakdown
Keys are lowercase labels (e.g. source asset code, blockchain or fiat, payment status such as completed).
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Seven daily payment_volume values (USD), ISO week order
7 elements7 elements7 elementsHide child attributes
Hide child attributes
Seven daily payment_volume values (USD), ISO week order
7 elements7 elements7 elementsHide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes