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

Get connection

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

GET
/api/deriv/connections/{connection_id}

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

Required API key scope: transactions:read.

Request example

GET /api/deriv/connections/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>

Path Parameters

connection_id*string

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*
curl -X GET 'https://api.edgepro.site/api/deriv/connections/conn_example_01' \  -H 'X-API-Key: <your-api-key>' \  -H 'X-Deripay-API-Version: 2' \  -H 'Accept: application/json'
{  "success": true,  "message": "Deriv connection retrieved 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"    }  }}

Authorize customer POST

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.

Save default phone PATCH

Save a default phone number for this connection. Include country if it differs from your workspace default. Saving the number does not verify its owner. Payment requests still require phone_number and customer consent.