Developer Documentation
Wallets
Wallets are the fundamental building blocks for holding and moving value in the Nexbit ecosystem. Each wallet is tied to a specific currency.
List Wallets
GET /v1/walletsRetrieve all wallets associated with the authenticated user, enriched with real-time balances.
Query Parameters
Request Body
{}
Body Parameters
Test Request
Response
{
"status": "success",
"data": [
{
"wallet_id": 101,
"currency_code": "KES",
"wallet_address": "NEX-00000101-KES-AB12",
"label": "Main Account",
"status": "active",
"created_at": "2025-10-26 09:00:00",
"balance": "15000.00"
},
{
"wallet_id": 102,
"currency_code": "USD",
"wallet_address": "NEX-00000101-USD-XY99",
"label": "Savings",
"status": "active",
"created_at": "2025-10-26 09:05:00",
"balance": "500.00"
}
]
}
Create Wallet
POST /v1/walletsCreate a new wallet for a specific currency.
Request Body
{
"currency": "EUR",
"label": "European Trip Fund"
}
Body Parameters
currency(string, required): The 3-letter ISO currency code (e.g., 'EUR').label(string, optional): A friendly name for the wallet.
Test Request
Response
{
"status": "success",
"wallet_id": 103,
"address": "NEX-00000101-EUR-CDE3"
}
Get Balance
GET /v1/wallets/balanceRetrieve the real-time balance for a single wallet.
Query Parameters
wallet_id(integer, required): The ID of the wallet to query.
Request Body
{
"wallet_id": 101
}
Body Parameters
Test Request
Response
{
"status": "success",
"data": {
"wallet_id": 101,
"balance": "14500.00",
"derived_at": "2025-10-26T14:30:00Z"
}
}
Get Statement
GET /v1/wallets/statementDownload a transaction statement for a wallet in JSON, CSV, or PDF format.
Query Parameters
wallet_id(integer, required): The ID of the wallet.format(string, optional, default:json): The desired output format. Can bejson,csv, orpdf.start(string, optional): The start date of the statement period (e.g.,2025-01-01). Defaults to the beginning of the current month.end(string, optional): The end date of the statement period (e.g.,2025-01-31). Defaults to the current date and time.
Request Body
{
"wallet_id": 101,
"format": "json"
}
Body Parameters
Test Request
Response (format=json)
{
"status": "success",
"range": {
"start": "2025-10-01 00:00:00",
"end": "2025-10-26 23:59:59"
},
"count": 2,
"data": [
{
"tx_id": "10057",
"created_at": "2025-10-26 12:05:00",
"tx_type": "withdrawal",
"amount": "2500.00",
"entry_type": "debit",
"currency_code": "KES",
"metadata": "{\"gateway\":\"mpesa\"}"
},
{
"tx_id": "10056",
"created_at": "2025-10-26 12:00:00",
"tx_type": "transfer",
"amount": "50.00",
"entry_type": "debit",
"currency_code": "KES",
"metadata": "{\"note\":\"For lunch\"}"
}
]
}
Note on File Formats: For
csv and pdf formats, the API will respond with the appropriate Content-Type header and the file content directly in the response body, which typically triggers a file download in a web browser.