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

Create crypto deposit

Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.

POST
/api/crypto/deposit

Create a crypto checkout with a quote in KES. Open next_action.url so the customer can choose an asset and network. Check the transaction after checkout and wait for completed to confirm Wallet funding.

Required API key scope: deposit.

Request example

POST /api/crypto/deposit HTTP/1.1Host: api.edgepro.siteX-API-Key: <your-api-key>X-Deripay-API-Version: 2Accept: application/jsonContent-Type: application/jsonIdempotency-Key: order-1001{  "connection_id": "conn_example_01",  "amount_kes": 700,  "account_login_id": "CR123456"}

Authorization

partnerAPIKey
headerX-API-Key<token>

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
Idempotency-Key?string

Required unless idempotency_key is supplied in the JSON body. Header takes precedence.

Length1 <= length

Request Body

application/json
  1. body
  1. body
  2. …

Idempotency-Key header or idempotency_key body value is required. Header takes precedence. Unknown fields are ignored. Send only the documented fields.

account_login_id?string
amount_kes*integer

Quote amount in whole Kenyan shillings. The customer chooses an asset and network in checkout.

Range1 <= value
connection_id*string
idempotency_key?string
[key: string]?any

Response Body

Request accepted. Check the transaction status to confirm payment completion.

application/json
  1. response
  1. response
  2. …
success*boolean
message*string
data*
curl -X POST 'https://api.edgepro.site/api/crypto/deposit' \  -H 'X-API-Key: <your-api-key>' \  -H 'X-Deripay-API-Version: 2' \  -H 'Accept: application/json' \  -H 'Idempotency-Key: order-1001' \  -H 'Content-Type: application/json' \  -d '{  "connection_id": "conn_example_01",  "amount_kes": 700,  "account_login_id": "CR123456"}'
{  "success": true,  "message": "Crypto checkout created successfully",  "data": {    "id": "507f1f77bcf86cd799439011",    "connection_id": "conn_example_01",    "type": "deposit",    "payment_method": "crypto",    "status": "action_required",    "country": "KE",    "local": {      "amount": "700",      "currency": "KES"    },    "settlement": {      "amount": "5.00",      "currency": "USD"    },    "idempotency_key": "order-1001",    "account_login_id": "CR123456",    "next_action": {      "type": "redirect",      "url": "https://checkout.example.com/pay/example"    },    "failure": null,    "created_at": "2026-10-12T09:00:00Z",    "updated_at": "2026-10-12T09:00:00Z",    "completed_at": null  }}

Create mobile money deposit POST

Collect mobile money and fund the customer’s Deriv Wallet. Send connection_id, phone_number, amount and an idempotency key. Kenya also accepts amount_kes. Follow next_action when present and monitor until the status is completed.

Submit deposit verification POST

Submit the mobile network’s verification code while next_action.type is one_time_code. Keep the code as a string to preserve leading zeros. The existing otp field is also accepted instead of code. Follow any next_action returned. On 429, stop submitting codes and check the transaction.