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.
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"}partnerAPIKeyX-API-Key<token>X-API-Key*stringYour API key. Send requests from your server.
X-Deripay-API-Version*stringSelects the response and error format documented here. Without it, the same URL returns the original format.
Accept?stringIdempotency-Key?stringRequired unless idempotency_key is supplied in the JSON body. Header takes precedence.
1 <= lengthapplication/json- body
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?stringamount_kes*integerQuote amount in whole Kenyan shillings. The customer chooses an asset and network in checkout.
1 <= valueconnection_id*stringidempotency_key?string[key: string]?anyRequest accepted. Check the transaction status to confirm payment completion.
application/json- response
success*booleanmessage*stringdata*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.