Bulk Purchase
Buy the same options contract for multiple end-user accounts in a single call. This is the V2 successor to the legacy buy_contract_for_multiple_accounts flow used by copy-trading platforms. You send one set of contract parameters with a list of accounts to buy for, and the same parameters apply to every account. Up to 100 accounts are accepted per request. Any entry that fails token or ownership validation is reported on its own, without affecting the others.
Endpoint
/trading/v1/options/contracts/bulk-purchase/{account_type}Base URL: https://api.derivws.com
Status Codes
Error Responses
{
"errors": [
{
"status": 400,
"code": "ValidationError",
"message": "No token/account pair passed validation",
"field": "accounts.0.token"
}
],
"meta": {
"endpoint": "/contracts/bulk-purchase/real",
"method": "POST",
"timing": 28
}
}{
"errors": [
{
"status": 401,
"code": "Unauthorized",
"message": "Invalid or missing authentication credentials"
}
],
"meta": {
"endpoint": "/contracts/bulk-purchase/real",
"method": "POST",
"timing": 12
}
}{
"errors": [
{
"status": 502,
"code": "InternalServerError",
"message": "An upstream dependency was unavailable. Please retry."
}
],
"meta": {
"endpoint": "/contracts/bulk-purchase/real",
"method": "POST",
"timing": 61
}
}Authentication Required
Deriv-App-ID header to identify your application.About Bulk Purchase
The POST /trading/v1/options/contracts/bulk-purchase/{account_type} endpoint: Buy the same options contract for multiple end-user accounts in a single call. This is the V2 successor to the legacy buy_contract_for_multiple_accounts flow used by copy-trading platforms. You send one set of contract parameters with a list of accounts to buy for, and the same parameters apply to every account. Up to 100 accounts are accepted per request. Any entry that fails token or ownership validation is reported on its own, without affecting the others.
Endpoint Variants
There are two account-type-specific endpoints. Replace {account_type} with real for real-money accounts or demo for demo accounts:
POST /trading/v1/options/contracts/bulk-purchase/realPOST /trading/v1/options/contracts/bulk-purchase/demo
The two endpoints behave identically apart from the account type they accept. Passing a demo account to the /real path (or vice versa) is reported as a per-account error.
Authentication
No OAuth access token is required for this endpoint. Authentication is by your application's Deriv-App-ID header together with the per-account Personal Access Tokens (PATs) supplied in the request body. Each PAT must carry the trade scope and own the account it is paired with.
Any other questions? Get in touch