Skip to content

Precision, Rounding & Exchange Constraints

This page explains how Aurono handles price precision, amount rounding, and exchange-imposed constraints.

These rules are critical to ensure:

  • Orders are accepted by the exchange
  • Balances remain consistent
  • Accounting stays accurate over time

Exchanges enforce strict rules on:

  • Price precision (number of decimal places)
  • Amount precision (number of decimal places)
  • Minimum order sizes
  • Minimum order values

If any of these rules are violated, an order is rejected.

Aurono is designed to never guess or auto-correct silently.


Aurono treats the exchange as the source of truth.

For each trading pair, the exchange defines:

  • Price decimals (tick size)
  • Amount decimals (lot size)
  • Minimum order size
  • Minimum order value

Aurono loads and caches these constraints per exchange and per trading pair.


Limit prices are calculated deterministically from candle data.

Before sending an order:

  • The calculated limit price is rounded to the exchange’s allowed price precision
  • Rounding is always done in a safe direction

Safe rounding means:

  • BUY prices are rounded down
  • SELL prices are rounded up

This ensures:

  • BUY orders never exceed the intended maximum price
  • SELL orders never go below the intended minimum price

Order amounts are calculated from: amount = eur_amount / ticker_price

Before submission:

  • The calculated amount is rounded to the exchange’s allowed amount precision
  • Rounding is always done down

Aurono never rounds amounts up.

This prevents:

  • Insufficient balance errors
  • Accidental over-selling
  • Exchange rejections

Most exchanges enforce a minimum order size.

If the rounded amount is below this minimum:

  • The order is not placed
  • No partial or adjusted order is attempted
  • The strategy simply skips execution

This behavior is intentional.

Aurono does not auto-scale order sizes.


Some exchanges enforce a minimum order value (e.g. €10).

If the calculated order value falls below this threshold:

  • The order is rejected before submission
  • No trade is placed
  • Strategy state remains unchanged

This commonly occurs when:

  • Order sizes are too small
  • Asset prices rise significantly over time

Aurono does not:

  • Increase order sizes automatically
  • Merge multiple triggers into one order
  • Modify user-defined parameters

Reasons:

  • Predictability
  • Transparency
  • User control
  • Avoiding hidden behavior

All trades must be explainable from configuration alone.


Because:

  • Amounts are rounded down
  • Prices are rounded safely
  • Actual fill prices are retrieved post-execution

Aurono always performs a post-fill correction:

  • Uses actual execution price
  • Adjusts allocated capital precisely
  • Stores exact executed amounts

This prevents:

  • Drift in allocated capital
  • Accumulated rounding errors
  • Mismatch between dashboard and exchange

“Why didn’t my order go through?”
The order likely violated a precision or minimum-size constraint.

“Why didn’t Aurono increase the amount?”
Aurono never modifies configured values.

“Why is some capital left unused?”
Rounding and minimum order rules may prevent execution.

These are expected outcomes.


Precision and constraints are enforced strictly and transparently.

Aurono:

  • Rounds conservatively
  • Respects exchange rules
  • Never hides corrections
  • Never modifies intent

If an order cannot be placed exactly as defined,
it is not placed at all.