Skip to main content
POST /account/simulate/{user_id} is non-mutating. It clones the sub-account, applies optional pending transfers, applies a synthetic trade, and returns projected margin fields. The simulated order is not reduce-only aware. Do not use simulate to prove a reduce-only order will pass. The handler currently returns liquidation_price: None, so simulate is not usable for liquidation-price monitoring.

Raw simulate

Supported scenarios:

tpluspy

The current SDK uses the authenticated client request layer for simulate; it does not expose a typed simulate helper.

Worked example

Example verified from the simulate handler tests:
The paired sell example with the same starting state returns available_margin = 9000, mm_surplus = 9000, utilized_margin = 0, account_leverage = 0.5, and margin_required = 1000.

Liquidation monitoring

Use account margin endpoints and the authenticated at-risk stream, not simulate liquidation price:
Client indicators: