Skip to main content
Every conversion you create through PeerPesa is tracked as a transaction. You can list transactions to reconcile activity, filter by status or date, and retrieve a single transaction for full details including fees, rates, and blockchain confirmation data.
All endpoints require a valid Bearer token. See Authentication for how to obtain one.

List transactions

Retrieve a paginated list of transactions with optional filters.

Endpoint

GET /transactions

Query parameters

string
Filter by transaction type: onramp, offramp, deposit, withdraw, send, buy, or swap.
string
Only return transactions created by this recurring payment, for example rp_5t8w2k.
string
Filter by status: awaiting_payment, awaiting_deposit, processing, completed, failed, expired, or refunded.
string
Filter by blockchain network, for example stellar or celo.
Matches transaction ID, order_id, reference, wallet addresses, tx_hash, and account numbers. Minimum 2 characters.
string
Only include transactions created on or after this date (YYYY-MM-DD or ISO 8601, UTC).
string
Only include transactions created on or before this date (YYYY-MM-DD or ISO 8601, UTC).
string
Filter by asset or fiat currency, for example USDC or KES.
number
Only include transactions with an amount greater than or equal to this value.
number
Only include transactions with an amount less than or equal to this value.
string
default:"created_at"
created_at, updated_at, or amount.
string
default:"desc"
desc or asc.
integer
default:"1"
Page number to return, starting at 1. See Pagination and filters.
integer
default:"20"
Number of results per page. Maximum is 100.
integer
default:"20"
Alias for size. If you send both, size is used.

Request

Example response

Response fields

array
List of transaction objects.
string
Unique transaction identifier starting with txn_.
string
Transaction type: onramp, offramp, deposit, withdraw, send, buy, or swap. See the wallet operations pages for wallet transaction types.
string
Current status in the transaction lifecycle.
string
Amount being converted, as a decimal string.
string
Amount the recipient receives after fees, as a decimal string.
object
Fee breakdown including total, currency, processing_fee, and network_fee.
string
Exchange rate applied to the transaction.
string | null
Blockchain transaction hash when available (null until confirmed).
object
Page details: page, size, total (matching transactions across all pages), and total_pages. See Pagination.

Retrieve a transaction

Fetch complete details for a single transaction by its ID.

Endpoint

GET /transactions/{id}

Path parameters

string
required
The unique transaction ID, for example txn_3j9x2kL8pQvW.

Request

Example response


Transaction status lifecycle

Statuses move forward in one direction except for terminal failure states and manual refunds.
A transaction can reach expired if the quote expires before fiat payment (onramp) or crypto deposit (offramp) is received. Always create a fresh quote if the previous one has expired.