Deriv API
Documentation
Options Trading (Legacy)

Legacy Statement

GetAuth requiredLegacy

Get the historical transaction statement from the legacy options platform for the default account of the supplied loginid.

Endpoint

Get/trading/v1/options/legacy/statement

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

Status Codes

200OK - Statement returned successfully
400Bad request - Bad input (e.g. malformed loginid)
401Unauthorized - Invalid or missing authentication
404Not found - User or default account not found
409Conflict - User migration is pending or has failed
422Unprocessable entity - Request validation error
500Internal server error
503Service temporarily unavailable

Error Responses

400Bad request
{
  "errors": [
    {
      "status": 400,
      "code": "ValidationError",
      "message": "loginid must match ^[A-Z]+[0-9]+$"
    }
  ],
  "meta": {
    "endpoint": "/trading/v1/options/legacy/statement",
    "method": "GET",
    "timing": 18
  }
}
409Migration pending or failed
{
  "errors": [
    {
      "status": 409,
      "code": "MigrationPending",
      "message": "User migration is pending or has failed"
    }
  ],
  "meta": {
    "endpoint": "/trading/v1/options/legacy/statement",
    "method": "GET",
    "timing": 24
  }
}
422Validation error
{
  "errors": [
    {
      "status": 422,
      "code": "ValidationError",
      "message": "date_to must be <= 2147483647"
    }
  ],
  "meta": {
    "endpoint": "/trading/v1/options/legacy/statement",
    "method": "GET",
    "timing": 14
  }
}

About legacy_statement

The legacy_statement endpoint get the historical transaction statement from the legacy options platform for the default account of the supplied loginid.

Date Range

date_from and date_to are epoch seconds and form a half-open interval [date_from, date_to): a row is included iff its true transaction_time is >= date_from and < date_to. Both bounds are optional — date_from defaults to 0 (all history) and date_to defaults to the current time. Values above 2147483647 (the year-2038 epoch limit) are rejected with HTTP 422.

Ordering

Transactions are returned newest first — sorted by transaction_time descending, with ties broken by transaction_id descending.

Pagination

Use limit (default 100, maximum 999) and offset (default 0) to page through results. The count field in the response is the size of the current page, not a total across pages.

Action Types

Filter by action_type to narrow the result. Valid values: buy, sell, deposit, withdrawal, transfer, hold, release, adjustment, escrow. Omit the parameter to return all types.

Loginid

The loginid query parameter is required and must match the pattern ^[A-Z]+[0-9]+$ (e.g. CR12345). The statement returned is scoped to the default account of that loginid. If the user's migration is pending or failed, the request returns HTTP 409; check the migration-status endpoint first.

Click to open live chat support. Get instant help from our support team.