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

Authorize customer

Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.

POST
/api/deriv/customers/authorize

Connect a customer after they authorize your Deriv OAuth application. Send their access token and save the returned connection_id. Reauthorization refreshes the existing connection. Send the access token, not a refresh token.

Required API key scope: authorize.

Request example

POST /api/deriv/customers/authorize HTTP/1.1Host: api.edgepro.siteX-API-Key: <your-api-key>X-Deripay-API-Version: 2Accept: application/jsonContent-Type: application/json{  "client_id": "your-registered-client-id",  "external_customer_id": "customer-1001",  "deriv_api_token": "customer-oauth-access-token",  "preferred_account_id": "CR123456",  "token_expires_in": 3600}

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

Request Body

application/json
  1. body
  1. body
  2. …
client_id*string
Lengthlength <= 256
deriv_api_token*string
external_customer_id?string
preferred_account_id?string
token_expires_in?integer

Optional remaining token lifetime in seconds; omit when unknown. Reauthorize when the connection reports reconnect_required.

[key: string]?any

Response Body

Successful request.

application/json
  1. response
  1. response
  2. …
success*boolean
message*string
data*
curl -X POST 'https://api.edgepro.site/api/deriv/customers/authorize' \  -H 'X-API-Key: <your-api-key>' \  -H 'X-Deripay-API-Version: 2' \  -H 'Accept: application/json' \  -H 'Content-Type: application/json' \  -d '{  "client_id": "your-registered-client-id",  "external_customer_id": "customer-1001",  "deriv_api_token": "customer-oauth-access-token",  "preferred_account_id": "CR123456",  "token_expires_in": 3600}'
{  "success": true,  "message": "Deriv customer authorized successfully",  "data": {    "connection_id": "conn_example_01",    "external_customer_id": "customer-1001",    "id": "customer_example_01",    "email": "customer@example.com",    "name": "Example Customer",    "first_name": "Example",    "last_name": "Customer",    "profile_completed": true,    "role": "user",    "default_phone_number": "254712345678",    "payment_methods": [],    "deriv_account": {      "client_id": "your-registered-client-id",      "user_id": 123456,      "fullname": "Example Customer",      "country": "ke",      "primary_login_id": "CR123456",      "selected_account": "CR123456",      "account_count": 1,      "accounts": [        {          "login_id": "CR123456",          "currency": "USD",          "is_virtual": false        }      ],      "token_expires_at": "2026-10-12T10:00:00Z",      "authorization_status": "active"    }  }}

Health check GET

Get connection GET

Get customer details and linked Deriv accounts. Check authorization_status before requesting payments. The payment_methods array is normally empty for partner connections.