DeriPayDeriPayDeriv docs
DeriPayDeriPayDeriv docs
Deriv partner portalDeripay Partner API

Get started

Partner portalAuthentication and authorizationCustomer authorization

Move money

Markets and ratesDepositsWithdrawalsWallet and Options transfersTransaction status and eventsFailed transactions and reporting issuesStatistics and CSV exports

Reliability

Idempotency and retriesErrors and recoveryGo-live checklist

API reference

API reference
Health check GETAuthorize customer POSTGet connection GETSave default phone PATCHGet balances GETList payment corridors GETGet exchange rate and limits GETGet Kenya exchange rate and limits GETCreate mobile money deposit POSTCreate crypto deposit POSTSubmit deposit verification POSTStart withdrawal verification POSTResend withdrawal verification POSTComplete withdrawal POSTList transactions GETGet transaction GETMonitor transaction GETList Wallet–Options transfers GETCreate or retry Wallet–Options transfer POSTGet Wallet–Options transfer GETDismiss unconfirmed transfer POSTGet statistics GETExport statistics CSV GETList earnings by transaction GETGet earnings by customer GET

Deripay Partner API

API referencePayment API

List transactions

Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends.

GET
/api/mpesa/transactions

Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends.

Required API key scope: transactions:read.

Request example

GET /api/mpesa/transactions?connection_id=conn_example_01 HTTP/1.1Host: api.edgepro.siteX-API-Key: <your-api-key>X-Deripay-API-Version: 2Accept: application/json

Authorization

partnerAPIKey
headerX-API-Key<token>

Query Parameters

connection_id*string

The connection_id returned when you authorized this customer.

Header Parameters

X-API-Key*string

Your API key. Send requests from your server.

X-Deripay-API-Version*string

Selects the response and error format documented here. Without it, the same URL returns the original format.

Accept?string

Response Body

Successful request.

application/json
  1. response
  1. response
  2. …
success*boolean
message*string
data*array<>
curl -X GET 'https://api.edgepro.site/api/mpesa/transactions?connection_id=conn_example_01' \  -H 'X-API-Key: <your-api-key>' \  -H 'X-Deripay-API-Version: 2' \  -H 'Accept: application/json'
{  "success": true,  "message": "Transaction history retrieved successfully",  "data": [    {      "id": "507f1f77bcf86cd799439011",      "connection_id": "conn_example_01",      "type": "deposit",      "payment_method": "mobile_money",      "status": "pending",      "country": "KE",      "network": "mpesa",      "local": {        "amount": "700",        "currency": "KES"      },      "settlement": {        "amount": "5.00",        "currency": "USD"      },      "idempotency_key": "order-1001",      "account_login_id": "CR123456",      "next_action": null,      "failure": null,      "created_at": "2026-10-12T09:00:00Z",      "updated_at": "2026-10-12T09:00:00Z",      "completed_at": null    }  ]}

Complete withdrawal POST

Submit the email code to complete verification for this withdrawal. Payout may still be processing after a successful response. Monitor until completed. If reconciliation is required, keep the existing transaction and contact support.

Get transaction GET

Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal.