Migration guide: Legacy to New API
Comprehensive guides to help you transition from Deriv API Legacy to New API seamlessly
Before you start
- Review the breaking changes for each endpoint you use
- Test your integration in a development environment first
- Update your code to use the new field names and parameters
- Consider batch migration or incremental rollout strategies
- Keep both Legacy and New documentation handy during transition
Data
6 changes
Active symbols
Retrieves all currently active trading symbols. Response fields renamed and filtering options removed.
Account
4 changes
Balance
Get current account balance with real-time updates. Multi-account support removed in v4.
Trading
3 changes
Buy
Purchase contracts. The loginid parameter removed, buy field validation relaxed, and buy object now required in response.
Trading
3 changes
Cancel
Cancel an active contract. The loginid parameter removed, cancel object now required in response, and all response fields now required.
Trading
3 changes
Contract update
Update contract parameters like take profit and stop loss. The loginid parameter removed, response object now required, and new display_order_amount field added.
Trading
3 changes
Contract update history
Get contract update history. The loginid parameter removed, response field now required, and array items have required fields.
Data
5 changes
Contracts for
Get available contracts for a symbol. Currency parameter removed, market data fields removed, and contract metadata simplified.
Subscription
2 changes
Forget
Cancel real-time stream by ID. Stream ID validation relaxed and response field now required.
Subscription
3 changes
Forget all
Unsubscribe from all streams. Stream type enum validation removed and response field now required.
Account
3 changes
Portfolio
Get current portfolio. Symbol field renamed, loginid parameter removed, and app_id can no longer be null.
Account
5 changes
Profit table
Get profit/loss history. The loginid parameter removed, response fields now required, and app_id no longer nullable.
Trading
10 changes
Proposal
Get contract pricing. Symbol renamed to underlying_symbol, multiple parameters removed, response proposal now required with only id guaranteed, field types changed.
Trading
8 changes
Proposal open contract
Get open contract details. The loginid parameter removed, numeric field types changed to string | number, and deprecated display fields removed.
Trading
4 changes
Sell
Sell an active contract. The loginid parameter removed, price validation added, and sell response object with all fields now required.
Account
7 changes
Statement
Get account statement. The loginid parameter removed, transfer-related fields removed, and action_type validation relaxed.
Data
4 changes
Ticks
Subscribe to real-time tick stream. Required response fields changed and subscribe parameter extended.
Data
6 changes
Ticks history
Get historical tick data. Required response fields changed, validation relaxed, and new parameter options added.
Account
7 changes
Transaction
Subscribe to transaction notifications. Multiple fields removed, symbol renamed, and action enum validation removed.
Migration tips
Field name changes
Many endpoints have renamed fields. Pay special attention to `symbol` → `underlying_symbol` type changes.
Removed features
Some Legacy features like multi-account balance and display names have been removed. Plan alternatives.
Simplified responses
New responses are generally more streamlined with fewer nested structures.
Test thoroughly
Use the API Playground to test New endpoints before updating production code.