Deriv API
Documentation
Options Setup

Create Account

PostAuth required

Create a new Options trading account

Endpoint

Post/trading/v1/options/accounts

Base URL: https://api.derivws.com

Status Codes

200OK - Account already exists with the same parameters
{
  "data": {
    "account_id": "DOT90004580",
    "balance": 10000,
    "currency": "USD",
    "group": "row",
    "status": "active",
    "account_type": "demo"
  },
  "meta": {
    "endpoint": "/accounts",
    "method": "POST",
    "timing": 245
  }
}
201Created - New account successfully created
{
  "data": [
    {
      "account_id": "DOT90004580",
      "balance": 10000,
      "currency": "USD",
      "group": "row",
      "status": "active",
      "account_type": "demo"
    }
  ],
  "meta": {
    "endpoint": "/accounts",
    "method": "POST",
    "timing": 456
  }
}
400Bad request - Invalid or missing parameters
401Unauthorized - Invalid or missing authentication
403Forbidden - Access denied
500Internal server error
504Gateway timeout - Upstream service timeout

Error Responses

400Bad request
{
  "errors": [
    {
      "status": 400,
      "code": "FieldIsRequired",
      "message": "currency field is required"
    }
  ],
  "meta": {
    "endpoint": "/accounts",
    "method": "POST",
    "timing": 23
  }
}
401Unauthorized
{
  "errors": [
    {
      "status": 401,
      "code": "Unauthorized",
      "message": "Invalid or missing authentication credentials"
    }
  ],
  "meta": {
    "endpoint": "/accounts",
    "method": "POST",
    "timing": 12
  }
}
403Forbidden
{
  "errors": [
    {
      "status": 403,
      "code": "AccessDenied",
      "message": "You do not have permission to access this resource"
    }
  ],
  "meta": {
    "endpoint": "/accounts",
    "method": "POST",
    "timing": 15
  }
}
500Internal server error
{
  "errors": [
    {
      "status": 500,
      "code": "InternalServerError",
      "message": "An internal error occurred"
    }
  ],
  "meta": {
    "endpoint": "/accounts",
    "method": "POST",
    "timing": 67
  }
}

About create_account

The create_account endpoint create a new Options trading account

Response Status Codes

  • 200 OK: Returned when an account with the same parameters already exists. The response contains a single account object in the data field.
  • 201 Created: Returned when a new account is successfully created. The response contains an array of accounts in the data field.

Account Types

  • Demo Account: Practice trading with virtual funds. Perfect for testing and learning.
  • Real Account: Trade with real money. Requires proper verification and funding.

Currency Support

Currently, Options accounts support USD currency. More currencies may be added in the future.

Request Parameters

All fields are required:

  • currency: Must be "USD"
  • group: Must be "row"
  • account_type: Either "demo" or "real"
Click to open live chat support. Get instant help from our support team.