TTornaLine

On-chain prediction market · settled on TxLINE proofs

TornaLine

Trade a match outcome as a share, then let anyone settle the market trustlessly from a TxLINE proof — no admin, no oracle you have to trust. Built on Torna's parallel on-chain order book.

TornaLine · prediction market settlement
Spain vs Argentina
YES = Spain to winWorld Cup · pays 1 if it happens
– – –live
OPEN · awaiting full-time
Implied probability · Spain to win
Market—
TxLINE consensus…
Act asshares

A YES share pays 1 if Spain win and 0 if not — so its price in the book reads as the implied probability (a share at 62 ≈ a 62% chance). Mint deposits 1 quote and returns an equal YES + NO pair. Resolve has TxLINE’s oracle verify a Merkle proof of the final score on-chain — the outcome comes from the proof, not from whoever clicks.

Settlement, already proven

The live market above settles the exact same way at full time. Here it is already done — on a completed match, verifiable right now.

Settlement receipt · verifiable
France vs Englandfull time 4–6SETTLED · NO won · 4–6

France did not win.Proven from TxLINE's on-chain scores root and verified by txoracle validate_stat_v3 — no admin, no trusted relayer. Anyone can re-check it on-chain:

Order book & live trading

A real central limit order book on Torna — place, take, cancel are live devnet txs, read from the on-chain B+ tree. Price is the implied probability.

Spain to windevnet
Best bid
-
Mid
-
Best ask
-
Spread
-
market accounts in Explorer
Your wallet (optional)

Connect a devnet wallet to trade as yourself and fund it from the faucet, or just use a pre-funded demo trader below. No wallet needed to try it.

Trade as
Balances (Trader 1)
-
YES
-
USDC
-
SOL
Order booksyncing
chancesizemaker

Place rests a limit order on the book (you are the maker).

rests as maker · sell 3 @ 60
Your open orders
no open orders
Recent activity live market activity
typeside / size @ priceage
Build your own on Torna

From a key to the exact accounts

This is what an integrating program does, not just TornaDEX. You call with a key; the SDK reads the tree and emits the exact account set. The hard parts (node indices, PDA bumps, the descent path, split spares) never leave the library. Below is a real place resolved live on devnet.

what you write
import { Tree, keys } from "torna-sdk";

const tree = new Tree(program, creator, askTreeId);
const key  = keys.orderKey(Side.Ask, price, slot, maker, nonce);

// the planner reads the tree off-chain and returns the exact accounts
const { ix } = await placeIx({ reader, tree, side: ASK, price, size, ... });
// node_idx / bump / path / spares: never touched by you
what the SDK resolved (live, devnet)
resolving…