BunnyBattle Solana
- Year
- 2025
- Role
- Solo — contracts, circuits, indexer, clients
- Stack
- RustAnchorSolanaCircomGroth16TypeScriptReactPostgreSQL
Zero-knowledge board game with SOL betting. Anchor program in Rust with Groth16 proof verification, a native prover path at ~10ms per proof, and clients for web and Solana Seeker.
An open-source zero-knowledge board game on Solana with real SOL betting. Built end to end: the on-chain program, the circuits, the prover, the indexer and two clients.
On-chain program
Anchor program in Rust handling Groth16 proof verification, per-game treasury escrow on PDAs, timeout mechanics, protocol fees and admin controls.
17 of 17 tests pass, including tampered-proof rejection and cross-player proof-reuse rejection.
Circuits and proving
Circom circuits with a native prover path: rapidsnark via Bun FFI at about 10ms per proof, with a snarkjs fallback for environments where the native path isn’t available.
Indexer
Rust indexer built on the Carbon crawler with an axum API, Postgres and Redis. Measured chain-to-DB latency: p50 2.2s, p95 2.9s.
Clients
A Vite and React web client with in-browser proving, plus a React Native client targeting Solana Seeker. Deployed on Railway with CI/CD.