Skip to main content
GET
/
api
/
v1
/
wallets
/
fiat
/
{walletId}
/
transactions
Fetch Wallet Transactions
curl --request GET \
  --url https://api.example.com/api/v1/wallets/fiat/{walletId}/transactions \
  --header 'x-api-key: <x-api-key>'
{
  "transactions": [
    {
      "transactionId": "txn_abc123",
      "transactionType": "deposit",
      "walletId": "wal_xyz789",
      "accountNumber": "1234567890",
      "status": "completed",
      "amount": 50000,
      "fee": 0,
      "originator": {
        "accountNumber": "0987654321",
        "accountName": "JOHN DOE",
        "bankName": "GTBank"
      },
      "narration": "Payment from John Doe",
      "reference": "FP-20240115-001",
      "createdAt": "2024-01-15T10:30:45Z"
    },
    {
      "transactionId": "txn_def456",
      "transactionType": "withdrawal",
      "walletId": "wal_xyz789",
      "accountNumber": "1234567890",
      "status": "completed",
      "amount": 75000,
      "fee": 50,
      "beneficiary": {
        "accountNumber": "1122334455",
        "accountName": "JANE SMITH",
        "bankName": "Zenith Bank"
      },
      "narration": "Payment to Jane Smith",
      "reference": "FP-20240115-002",
      "createdAt": "2024-01-15T14:20:30Z"
    }
  ],
  "total": 125,
  "page": 1,
  "limit": 10,
  "totalPages": 13
}

Path Parameters

walletId
string
required
The unique identifier of the wallet

Query Parameters

page
number
default:"1"
Page number for pagination
limit
number
default:"10"
Number of transactions per page (max 100)
transactionType
string
Filter by transaction type: deposit or withdrawal
startDate
string
Start date filter (YYYY-MM-DD format)
endDate
string
End date filter (YYYY-MM-DD format)

Request

x-api-key
string
required
API Key for authentication

Request Example

curl "https://api-staging.fossapay.com/api/v1/wallets/fiat/wal_abc123xyz/transactions?page=1&limit=10&transactionType=deposit" \
  -H "x-api-key: fp_live_sk_xxxxxxxx"
const transactions = await client.wallets.getTransactions('wal_abc123xyz', {
  page: 1,
  limit: 10,
  transactionType: 'deposit',
  startDate: '2024-01-01',
  endDate: '2024-01-31'
});
transactions = client.wallets.get_transactions(
    wallet_id='wal_abc123xyz',
    page=1,
    limit=10,
    transaction_type='deposit',
    start_date='2024-01-01',
    end_date='2024-01-31'
)

Response

transactions
array
total
number
Total number of transactions
page
number
Current page number
limit
number
Transactions per page
totalPages
number
Total number of pages

Response Example

{
  "transactions": [
    {
      "transactionId": "txn_abc123",
      "transactionType": "deposit",
      "walletId": "wal_xyz789",
      "accountNumber": "1234567890",
      "status": "completed",
      "amount": 50000,
      "fee": 0,
      "originator": {
        "accountNumber": "0987654321",
        "accountName": "JOHN DOE",
        "bankName": "GTBank"
      },
      "narration": "Payment from John Doe",
      "reference": "FP-20240115-001",
      "createdAt": "2024-01-15T10:30:45Z"
    },
    {
      "transactionId": "txn_def456",
      "transactionType": "withdrawal",
      "walletId": "wal_xyz789",
      "accountNumber": "1234567890",
      "status": "completed",
      "amount": 75000,
      "fee": 50,
      "beneficiary": {
        "accountNumber": "1122334455",
        "accountName": "JANE SMITH",
        "bankName": "Zenith Bank"
      },
      "narration": "Payment to Jane Smith",
      "reference": "FP-20240115-002",
      "createdAt": "2024-01-15T14:20:30Z"
    }
  ],
  "total": 125,
  "page": 1,
  "limit": 10,
  "totalPages": 13
}

Pagination Example

// Get all transactions with pagination
let page = 1;
let allTransactions = [];

while (true) {
  const response = await client.wallets.getTransactions('wal_abc123xyz', {
    page: page,
    limit: 50
  });

  allTransactions.push(...response.transactions);

  if (page >= response.totalPages) {
    break;
  }

  page++;
}

console.log(`Retrieved ${allTransactions.length} transactions`);
For better performance, use specific date ranges and transaction type filters when possible.
Store transaction IDs for reconciliation and audit purposes.