List transactions
curl --request GET \
--url https://api.sendpadi.com/api/v1/merchant/transactions \
--header 'X-Api-Key: <api-key>' \
--header 'X-Signature: <x-signature>' \
--header 'X-Timestamp: <x-timestamp>'const options = {
method: 'GET',
headers: {
'X-Timestamp': '<x-timestamp>',
'X-Signature': '<x-signature>',
'X-Api-Key': '<api-key>'
}
};
fetch('https://api.sendpadi.com/api/v1/merchant/transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sendpadi.com/api/v1/merchant/transactions"
headers = {
"X-Timestamp": "<x-timestamp>",
"X-Signature": "<x-signature>",
"X-Api-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text){
"success": true,
"data": {
"transactions": [
{
"id": "txn_001",
"type": "transfer",
"serviceType": "LOCAL_TRANSFER",
"status": "completed",
"amount": 100,
"currency": "NGN",
"fee": 0,
"description": "Local transfer - SP-TR-001",
"reference": "SP-TR-001",
"createdAt": "2026-01-15T10:00:00.000Z"
},
{
"id": "txn_002",
"type": "PURCHASE",
"serviceType": "BETTING_FUNDING",
"status": "completed",
"amount": 100,
"currency": "NGN",
"fee": 0,
"description": "Fund betting account",
"reference": "BET-001",
"createdAt": "2026-01-14T12:00:00.000Z"
},
{
"id": "txn_003",
"type": "CREDIT",
"serviceType": "WALLET_FUNDING",
"status": "COMPLETED",
"amount": 1000,
"currency": "NGN",
"fee": 0,
"description": "Wallet funding",
"reference": "FUND-001",
"createdAt": "2026-01-01T09:00:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}
}Core API
List transactions
Paginated merchant transaction history across wallets, transfers, and VAS. Scope: transactions:read.
GET
/
api
/
v1
/
merchant
/
transactions
List transactions
curl --request GET \
--url https://api.sendpadi.com/api/v1/merchant/transactions \
--header 'X-Api-Key: <api-key>' \
--header 'X-Signature: <x-signature>' \
--header 'X-Timestamp: <x-timestamp>'const options = {
method: 'GET',
headers: {
'X-Timestamp': '<x-timestamp>',
'X-Signature': '<x-signature>',
'X-Api-Key': '<api-key>'
}
};
fetch('https://api.sendpadi.com/api/v1/merchant/transactions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sendpadi.com/api/v1/merchant/transactions"
headers = {
"X-Timestamp": "<x-timestamp>",
"X-Signature": "<x-signature>",
"X-Api-Key": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text){
"success": true,
"data": {
"transactions": [
{
"id": "txn_001",
"type": "transfer",
"serviceType": "LOCAL_TRANSFER",
"status": "completed",
"amount": 100,
"currency": "NGN",
"fee": 0,
"description": "Local transfer - SP-TR-001",
"reference": "SP-TR-001",
"createdAt": "2026-01-15T10:00:00.000Z"
},
{
"id": "txn_002",
"type": "PURCHASE",
"serviceType": "BETTING_FUNDING",
"status": "completed",
"amount": 100,
"currency": "NGN",
"fee": 0,
"description": "Fund betting account",
"reference": "BET-001",
"createdAt": "2026-01-14T12:00:00.000Z"
},
{
"id": "txn_003",
"type": "CREDIT",
"serviceType": "WALLET_FUNDING",
"status": "COMPLETED",
"amount": 1000,
"currency": "NGN",
"fee": 0,
"description": "Wallet funding",
"reference": "FUND-001",
"createdAt": "2026-01-01T09:00:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 3,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}
}Each item includes
type, serviceType, status, amount, currency, fee, description, reference, and createdAt.Authorizations
API key id (sp_test_… / sp_live_…)
Headers
Unix time in seconds
HMAC-SHA256 signature
Response
200 - application/json
OK
The response is of type object.

