Execution Attributes

Execution attributes are fill-level constraints applied at match time. They control how each individual execution is sized. This is distinct from Time in Force, which controls how long an order is eligible to execute.

All or None (AON)

When aon: true, the order must be completely filled in a single match or it continues to rest. No partial fills are allowed.

{
  "symbol": "BTC-USDC-PERP",
  "side": "buy",
  "type": "limit",
  "quantity": 1.0,
  "price": 95000,
  "time_in_force": "GTC",
  "aon": true
}

Use AON when executing the full size in one fill matters more than speed of execution. AON orders can rest indefinitely (with GTC) waiting for a counterparty large enough to fill them in one match.

Minimum Fill Size

min_fill_size requires every individual fill to meet or exceed the specified size. The order can still fill across multiple executions, but none of those executions can be smaller than the minimum.

{
  "symbol": "BTC-USDC-PERP",
  "side": "buy",
  "type": "limit",
  "quantity": 1.0,
  "price": 95000,
  "time_in_force": "GTC",
  "min_fill_size": 0.1
}

Use min_fill_size to prevent dust fills that fragment a position across many small trades. min_fill_size must be ≤ quantity and a multiple of the instrument's step_size.

AON vs min_fill_size

ConstraintEffect
aon: trueExactly one fill, for the full quantity
min_fill_size: XOne or more fills, each ≥ X

They are mutually exclusive — supplying both returns 400 invalid_request.