Skip to main content
The updateLeverage action sets the leverage multiplier for a specific contract. Leverage controls the initial margin (IM) requirement for new and existing positions on that contract — higher leverage means a smaller margin requirement per unit of notional value. Increasing leverage is always permitted. Decreasing leverage triggers a validation check: the exchange verifies that your existing position’s margin can cover the higher IM implied by the lower leverage. If it cannot, the request is rejected and your leverage remains unchanged.

Endpoint

Request

All requests must include an ECDSA signature and a millisecond-precision nonce.

Action fields

string
required
Fixed value: "updateLeverage".
int32
required
The contract ID to update leverage for.
int32
required
The new leverage value. Must be a positive integer and must not exceed the tier0.maxLeverage configured for the contract.
Use the configs query (POST /info) to retrieve the tier0.maxLeverage for each contract before calling this action.

Response

Success

Rejection

Rejections still return HTTP 200 with status: "ok". Check for the presence of errorCode in data to detect failures.

Response fields

int
The leverage setting for the contract before the update. Returns 0 on rejection.
int
The leverage setting for the contract after the update. Returns 0 on rejection.
int
Present only on rejection. Identifies the failure reason.
string
Present only on rejection. Human-readable description of the failure.

Error reference