Wallet REST
List the authenticated client's wallets and browse the transactions for each one.
Overview
The Wallet APIs let an application read the authenticated client's wallets and their transaction history. List every wallet with its balances via the wallets endpoint, then page through the movements for a single wallet via the transactions endpoint. All endpoints are standard REST calls and require the payment OAuth2 scope.
REST API
Deriv-App-ID: YOUR_APP_ID header and an Authorization: Bearer YOUR_OAUTH_TOKEN token carrying the payment scope.OpenAPI Specification
View the complete OpenAPI specification for detailed schema definitions and examples:
OpenAPI Spec →Typical Workflow
- List the client's wallets with
GET /wallet/v1/wallets. Each entry carries its balances in the wallet's native currency; supplyconversion_currencyto also receive a converted total. - Fetch the movements for one wallet with
GET /wallet/v1/transactions/{wallet_type}. Results are cursor-paginated; followlinks.nextandlinks.prevto page through them.
Available Endpoints
/wallet/v1/wallets/wallet/v1/transactions/{wallet_type}Authentication
All endpoints require the Deriv-App-ID header and an Authorization: Bearer YOUR_OAUTH_TOKEN header. The token must carry the payment scope; otherwise the API returns 403 Forbidden.
OAuth2 Scopes
1curl -X GET "https://api.derivws.com/wallet/v1/wallets?conversion_currency=USD" \
2 -H "Deriv-App-ID: YOUR_APP_ID" \
3 -H "Authorization: Bearer YOUR_OAUTH_TOKEN"Response Status Codes
The API uses standard HTTP status codes to indicate success or failure:
payment scopeError Response Format
All error responses follow a consistent envelope with an errors array. Each entry carries a numeric status, a machine-readable code, and a human-readable message:
1{
2 "errors": [
3 {
4 "status": 400,
5 "code": "BadRequest",
6 "message": "conversion_currency must be a 3-letter ISO currency code"
7 }
8 ]
9}Error codes include: BadRequest, Unauthorized, NotFound, InternalServerError
Any other questions? Get in touch