Skip to main content
Scale orders let you express “enter a position across a price range” as a single action. You specify the total size, the price range, and the number of levels; Intention computes per-level prices and sizes and submits the resulting limit orders to the book in one shot.

Why traders use them

  • Reduce market impact. Splitting size across many price levels instead of placing one large limit keeps the book cleaner and the fills better.
  • Dollar-cost averaging. Laddering buy orders into a support zone gives you a better average entry price in choppy markets.
  • Hide intent. A wall of identical limits telegraphs a whale. Ten smaller orders at different prices look like natural flow.

Parameters

Total size is distributed across a ladder from start price to end price, inclusive. For a buy, the start price is typically the lowest price and the end price is the highest; direction only matters for how you label your skew.
  • Symbol and side
  • Total size — the full quantity to distribute
  • Start price and end price — the bounds of the ladder
  • Total orders — how many levels (limits) to create
  • Order type — GTC (default), post-only, or IOC
  • Size skew — a value between 0.01 and 100 that controls how size is distributed across the ladder
  • Reduce-only — optional

Size skew

Size skew controls the ratio between the size of the last order (at end price) and the size of the first order (at start price):
  • skew = 1 → all orders have equal size
  • skew > 1 → orders near the end price are larger
  • skew < 1 → orders near the start price are larger
Sizes interpolate linearly between these endpoints.

Price and size distribution

Prices are always distributed linearly between start and end:
price_step = (end_price - start_price) / (total_orders - 1)
P_i = start_price + i × price_step
All computed prices are rounded to the contract’s tick size. Sizes are distributed using the skew:
weight_i = 1 + (skew - 1) × i / (N - 1)
total_weight = (1 + skew) × N / 2
S_i = total_size × (weight_i / total_weight)
All computed sizes are floored to the contract’s lot size. Because rounding produces dust, every bit of leftover size is rolled into the final order (at end price) so the ladder’s sizes sum exactly to total size.

Submission checks

At submission time, Intention validates the full ladder:
  • Reduce-only Scale orders require total size ≤ current position
  • Every level must satisfy the contract’s minimum and maximum order size
  • The entire ladder must pass an initial margin check in aggregate
If any check fails, no orders are placed.

What happens on the book

Once submitted, each level is an independent GTC (or post-only / IOC) limit order. They queue independently, match independently, and can be cancelled or modified individually. Partial fills on one level have no effect on the others.
Scale is composable with reduce-only. A reduce-only Scale is a common way to ladder take-profit targets across a range without relying on OCO triggers.

Margin locking

Because all levels are real orders on the book from the moment of submission, the full margin required for the ladder is locked up front. This differs from TWAP, which does not lock margin for remaining children.

Worked example

You want to sell 10 BTC between 70,000 and 72,000 across 5 levels with a skew of 1 (equal sizes):
  • Price step: (72000 - 70000) / 4 = 500
  • Levels: 70000, 70500, 71000, 71500, 72000
  • Each level: 2 BTC (dust rolls into 72000)
Five independent 2 BTC sell limits appear on the book simultaneously.