FBatchEx dev paper Sign in

PAPER · no real money

Rulebook v1.3.0

The open deal you take on. Every rule is cut from the specs, so the rulebook and the engine cannot drift apart: each rule names the spec it comes from and the check that proves it. The same list lives in artifacts/rulebook.json in the repo.

Market rules

  • One price per auction

    Every order in one auction fills at a single clearing price; being fast buys no better price.

    spec 03 cargo test -p fbx-auction clearing

  • Standing orders out-rank newcomers at a tied price

    From the scheduled switch to rules v2, a tied clearing price yields to the older side: an order resting from an earlier batch fills before a fresher one. The clearing price and the matched volume never change. The switch is a journaled event at a future batch edge, proven by a shadow diff before it turns on.

    spec 59 cargo test -p fbx-auction spec59

  • Best execution and fair access

    The uniform-price auction gives best execution and fair access: every order in one auction fills at the single clearing price, so no one fills at a worse price than another, and arrival order, size, and speed buy no better price nor priority. A published proof runs the real engine over a mixed book and shows the one price holds and reversing the arrival order changes no fill.

    spec 03 cargo test -p fbx-auction best_execution

  • The book is sealed until it clears

    Orders in a batch are sealed; no resting book is shown until the auction clears on its fixed beat.

    spec 05 cargo test -p fbx-scheduler seal

  • Three pools, fast nests into slow

    Orders run in the 1s, 1m, or 1h pool you pick; a resting order joins its own pool and every slower uncross, but never a faster one.

    spec 05 cargo test -p fbx-engine pool

  • Order kinds and time-in-force

    Limit, market-to-limit, dark, and minimum-fill orders are allowed, with IOC, FOK, or GTD time-in-force.

    spec 02 cargo test -p fbx-core order

Bad-trade policy

  • When a trade is voided

    A trade is voided only by the collar rules: the replay settles what took place and the collar says what stands. The same inputs give the same call every time — no room of people, no phone calls.

    spec 10 cargo test -p fbx-auction collar

Listing rules

  • How a pair is listed or pulled

    A pair is listed only on open tests (a live feed, depth bounds) through a staged process, and pulled on a notice with lead time.

    spec 09 cargo test -p fbx-marketdata reffeed

Halts

  • When the venue halts

    The venue halts when a clear falls outside the price collar; users see the halt, and trading opens again by the same rule.

    spec 10 cargo test -p fbx-auction collar

Discipline and disputes

  • Watching for bad acts

    Wash trades and other bad acts are flagged by surveillance; the steps are warn, cap, then bar.

    spec 43 cargo test -p fbx-surveillance wash

  • How a user disputes a call

    A user pushes back on a call with the deterministic replay as the shared proof both sides read; the same inputs rebuild the same result.

    spec 28 cargo test -p fbx-journal compare

Fees

  • A flat fee, no order-flow payment

    Makers and takers pay one flat fee, said in plain words; there is no payment for order flow.

    spec 44 cargo test -p fbx-fees

Versions

  • The rulebook is versioned

    The rulebook lives in git; every change ships with a dated notice and a version bump, like a real venue's rule filing.

    spec 48 cargo test -p fbx-health spec48_rulebook