On-chain prediction markets · settled on TxLINE proofs
Call the match. Settle on the proof.
TornaLine is an on-chain prediction market for live World Cup football. Trade outcome shares on a parallel order book; when the match ends, anyone settles the market trustlessly — TxLINE’s oracle verifies a Merkle proof of the result on-chain, with no admin and no trusted relayer.
TxODDS World Cup Hackathon · live on devnet · built on Torna ↗, the parallel on-chain order book
Prediction markets, and settlement
Settled by proof, not by trust
The hard part of a sports market isn't the trading — it's who decides the result. TornaLine settles it on-chain, from a cryptographic proof of TxLINE's match data.
Trade the outcome
Buy or sell a YES share on the parallel order book. Its price is the implied probability of the outcome.
Anyone settles on the proof
When the match ends, anyone triggers settlement — the program verifies a TxLINE Merkle proof of the result on-chain. No admin, no oracle you have to trust.
Winners redeem
The winning side redeems each share from the vault, one-for-one — and the whole outcome stays re-checkable on-chain.
A real order book, live on devnet
TornaLine trades on a central limit order book with real SPL-token escrow; place, take, cancel, and match are real on-chain transactions, read straight from the on-chain B+ tree — no indexer. Every price level is its own account, so a burst of orders on a goal commits in parallel — the write concurrency a live football market needs. (That engine is Torna ↗.)
Why the writes run in parallel
The usual on-chain book keeps each side in one slab account, so every order on a side takes the same write lock and serializes, one per slot. Torna puts each B+ tree node in its own account, so orders that fall in different leaves touch different accounts and Solana commits them in the same slot. A deep book spreads its price levels across many leaves.
land in different leaves vs. one shared leaf
Measured on a single-node solana-test-validator, the real Agave banking stage, via torna/bench. Devnet is shared and noisy, so the controlled number is the honest one. This parallelizes book maintenance, not matching: top-of-book is price-time serial by definition, and nothing can change that.