Philosophy
Why Faro?
Faro dominated American gambling halls for nearly a century in part because, when honestly dealt, it offered players unusually favorable odds for a banking game. The banker’s primary mathematical advantage came from doublets: when both revealed cards shared a rank and bets on that rank lost half their stake. Compared to most gambling games of its era, Faro’s house edge was remarkably small, helping make it the game of frontier saloons, miners, and professional gamblers alike.
Faro also turns out to be a surprisingly interesting technical problem. The game combines deterministic shuffling, public auditability, stateful gameplay, card tracking, and mathematically precise settlement rules in a way that maps naturally onto modern web systems. Every round can be reproduced, verified, and replayed from its published shuffle inputs and recorded actions.
This project is an attempt to preserve the feel of the original game while exploring transparent systems design, provably fair mechanics, and historically grounded online play.
Transparent by Design
Faro was one of the defining gambling games of the American frontier: fast, strategic, and unusually fair when honestly dealt. This project recreates the game with a focus on transparency, auditability, and historical atmosphere rather than modern casino mechanics.
Every round is generated from deterministic shuffling inputs that can be independently verified after play. The server commits to a hidden seed before the round begins, then reveals it afterward so the entire shuffle and deal can be reproduced exactly.
The current implementation uses FTC (fake test coins) so players can experience the full betting flow, settlement logic, and verification system without risking real funds. The focus is on preserving the feel of the game and exploring provably fair systems design in a controlled environment.
Honesty Over House Edge
The call-the-turn payout of 4:1 on a true 5:1 bet, and 1:1 on a true 2:1 cat-hop, are the historical house payouts. We implement them exactly. The house edge on call-the-turn is 16.67% and 33.33% respectively — higher than standard bets, and we say so plainly.
Every audit transcript is publicly verifiable. The shuffle seed commitment is published before play. We cannot change the cards after you bet. That is the entire point.
Pure Game Engine
The game logic lives in a pure Elixir module with no database calls, no process state, and no side effects. Every function is a pure transformation of data. This makes the engine independently testable, auditable, and provably correct by property-based testing against the mathematical rules.