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 clearingStanding 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 spec59Best 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_executionThe 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 sealThree 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 poolOrder 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 washHow 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