_atomic and _scale fields. Prepare an order in Liftx, then open Settings → Integrations → API → Copy current order JSON. This uses the same validated order builder as the terminal. It copies a PositionRequest, including the selected account, exact catalog instrument, quantity unit and applicable protection settings; it does not submit an order or create a key. Wrap it in an OPEN command with fresh command identity and timestamps.
For TradingView, Use current order setup imports the draft into a setup. Guided mode saves that request in Liftx and generates an alert without a nested request. Advanced mode includes the complete request in generated JSON/Pine. See TradingView setup. Existing positions require a fresh modification workflow, not a reused creation draft.
Read the numbers
The exact value isatomic × 10^(-scale). The coefficient is a JSON string; scale is a JSON integer.
{"quantity_atomic":"1","quantity_scale":3} does not identify BTC, USDT or contracts by itself. Units come from that field’s contract. Scale is decimal placement; it does not mean exchange tick size, lot size or the smallest tradable quantity.
Coefficient strings allow up to 128 digits, and scale is 0–30. Related arrays must align by row: open_prices_atomic[i] uses open_prices_scale[i], and the quantity at index i belongs to that same OPEN row. Keep all rows and exact current slot IDs when modifying.
Construct exact values in a bot
Start from decimal strings, never a binary floating-point calculation such asint(float(price) * 100). This illustrative Python helper performs string conversion only. It rejects scientific notation and does not round, quantize, check account eligibility or validate venue limits.
Quantity is not margin or contract count
For a linear BTC/USDT instrument,
quantity_asset:"USDT" and quantity 100 expresses 100 USDT of input sizing, not 100 USDT of margin. A base-unit cap of 0.01 expresses 0.01 BTC. These cannot be compared as if they used the same unit. Price changes, fees and fills mean a normalized cap is not a guaranteed quote-spending limit.
Percentage configuration uses percentage points × 1,000,000: 2% is 2000000. TP allocation has an existing special convention: one full TP uses 1000000, while a 50/50 grid uses [50000000,50000000]. Preserve the builder’s values. PositionRequest documents every conditional field.