Guides

Create account using API

Follow these simple steps to create demo and real accounts using the Deriv API:

Verify email

  1. Make a call to the verify_email endpoint.
  2. Set the type parameter to opening_account to indicate you’re opening a new account.
  3. You will receive an email containing a verification code at the email address provided in the API call. This code is required for the next steps.

Create a Demo Account

To create a demo account:

  1. Make a call to the new_account_virtual endpoint.
  2. Provide the following information:
    1. Residence: The 2-letter country code. Obtain this from the residence_list call or check the list here.
    2. Verification Code: The email verification code you received from the verify_email call above.

A demo account will be created with a starting balance of USD 10,000.

Create a Real Account

To set up a real account, follow these steps after logging into your demo account:

For users in the EU: Use the new_account_maltainvest endpoint.

For users outside the EU: Use the new_account_real endpoint.

Provide the Following Details:

Residence: The 2-letter country code. Obtain this from the residence_list call or check the list here.

Currency: Set the currency for the account. You can find the list of supported currencies using the payout_currencies call or view it here.

Once you complete these steps, you will have a real account ready for trading!

Create wallet accounts via API

You can create wallet accounts (demo and real) using the same API flow as trading accounts. The process varies slightly depending on your region (EU or Non-EU).

Create a demo wallet account

This creates a virtual wallet account funded with USD 10,000.

Call verify_email endpoint

{
  "verify_email": "[email protected]",
  "type": "account_opening"
}

You will receive a verification code by email.

2️⃣ Call new_account_virtual endpoint

Use the received verification code and your residence country code:

{
"new_account_virtual":1,
"client_password":"Abcd1234",
"verification_code":"7y0MXLQG",
"type":"dynamic",
"residence":"aq",
"date_first_contact":"2025-07-30",
"signup_device":"desktop",
"req_id":5
}

A demo wallet account with USD 10,000 will be created.

Create a real wallet account

Based on your residence (EU or Non-EU), you’ll use the same endpoint with different parameters.

For EU Residents

Call new_account_wallet endpoint

{
    "new_account_wallet": 1,
    "account_opening_reason": "Savings",
    "address_city": "Cyberjaya",
    "address_line_1": "Deriv HQ",
    "address_postcode": "63000",
    "address_state": "",
    "citizen": "de",
    "currency": "EUR",
    "date_of_birth": "2007-08-04",
    "employment_status": "Unemployed",
    "salutation": "Mr",
    "fatca_declaration": 0,
    "tax_residence": "de",
    "first_name": "Tay",
    "last_name": "Suisin",
    "phone": "234124124",
    "place_of_birth": "de",
    "residence": "de",
    "account_type": "doughflow",
    "landing_company_short": "maltainvest",
    "non_pep_declaration": 1,
    "tnc_acceptance": 1,
    "financial_assessment": {
        "employment_status": "Unemployed",
        "occupation": "Manager",
        "income_source": "Sale of art, antiques or other high value assets",
        "net_income": "Over $500,000",
        "source_of_wealth": "Proceeds of sale of crypto currency;Sale of art, antiques or high value assets",
        "estimated_worth": "Over $500,000",
        "investment_intention": "Over $500,000",
        "financial_information_version": "v2",
        "cfd_experience": "Over 3 years",
        "cfd_frequency": "40 transactions or more in the past 12 months",
        "cfd_trading_definition": "Place a bet on the price movement.",
        "leverage_impact_trading": "Leverage lets you open larger positions for a fraction of the trade's value.",
        "leverage_trading_high_risk_stop_loss": "Close your trade automatically when the loss is more than or equal to a specific amount.",
        "required_initial_margin": "When opening a Leveraged CFD trade.",
        "risk_tolerance": "Yes",
        "source_of_experience": "I have an academic degree, professional certification, and/or work experience.",
        "trading_experience_financial_instruments": "Over 3 years",
        "trading_frequency_financial_instruments": "40 transactions or more in the past 12 months"
    },
    "tin_skipped": 1,
    "calling_country_code": "49",
    "loginid": "VRW1115",
    "req_id": 18
}

A new fiat wallet account will be created for EU users.

For Non-EU Residents

Call new_account_wallet endpoint

{
"new_account_wallet":1,
"currency":"USD",
"first_name":"Tay",
"last_name":"Suisin",
"date_of_birth":"2007-07-27",
"address_line_1":"Deriv HQ",
"address_city":"Cyberjaya",
"address_postcode":"63000",
"fatca_declaration":0,
"residence":"aq",
"non_pep_declaration":1,
"citizen":"aq",
"phone":"123123123",
"place_of_birth":"aq",
"account_opening_reason":"Savings",
"tax_residence":"aq",
"employment_status":"Unemployed",
"tnc_acceptance":1,
"loginid":"VRW1244",
"calling_country_code":"672",
"account_type":"doughflow",
"tin_skipped":1,
"financial_assessment":{
"financial_information_version":"v2"
},
"req_id":19
}

A new wallet account will be created, supporting fiat and crypto based on your currency selection.

📘

Notes

Use the Residence API to determine the correct country code.

Earn with Deriv’s Affiliate Program

To start earning commissions by referring new users to Deriv, make sure to include your affiliate_token and utm_campaign in the API request when creating new accounts using the following endpoints:

  1. new_account_virtual
  2. new_account_real
  3. new_account_maltainvest

By using these APIs and your affiliate_tokenand utm_campaign, you'll ensure your referrals are tracked correctly, allowing you to earn commissions effortlessly.