On-chain prediction markets for anything.
Multi-outcome markets, priced by an on-chain market maker, resolved by the Prophecy oracle, and routed through permissionless venues — all on Somnia. Browse the markets, or read it straight from the indexer.
From question to on-chain payout.
Every market runs the same four moves — the same lifecycle the landscape above is playing out.
create
Anyone opens a market — bind it to a Prophecy oracle question, choose the outcomes, and seed the first liquidity. A fixed-product market maker is deployed per market; there's no order book to bootstrap.
trade
Buy or sell outcome shares against the constant-product pool. Each outcome's price is its live implied probability — it moves as the pool rebalances, and the prices always sum to one.
resolve
At its close time the market locks and the Prophecy oracle posts one immutable answer on-chain. If no answer lands, the market's void policy — uniform or AMM-snapshot — decides how the pool unwinds.
redeem
Winning outcome shares redeem 1:1 against the collateral backing; the rest expire worthless. Liquidity providers withdraw their share of what remains.
An AMM, permissionless venues, and an oracle.
One protocol — a market maker per market, open routing on top, and on-chain resolution underneath.
fixed-product AMM
Every market is its own constant-product maker. Prices are live implied probabilities — no order book, no resting liquidity to match, no counterparty to find.
permissionless venues
Any address can register a routing venue, set a fee (≤10%), optionally gate create or trade with an EIP-712 signature, and earn on every trade routed through its venueId. venueId 0 is the free, protocol-default path.
oracle-resolved
Each market binds to a Prophecy oracle question and settles from its single on-chain answer — with deterministic void policies for the no-answer case.
conditional tokens
Outcome shares are ERC-1155 positions — split and merge collateral into a full outcome set, or redeem the winners after resolution.
on-chain, end to end
Markets, pools, trades, and resolutions all live on Somnia. No custodian, no off-chain matching engine, no settlement delay to trust.
one indexer
Markets, venues, and the global trade feed stream from a single Envio HyperIndex over Hasura GraphQL — read it live, or straight from chain state.
On Somnia right now.
Straight from the indexer — the same counts the explorer pages read.
The latest markets to open.
Fresh markets, newest first — trade the implied odds before they move.
Will Bitcoin price be higher in 20 minutes?
created 2026-09-20 09:00:44 UTCWill Bitcoin price be higher in 20 minutes?
created 2026-09-20 08:40:44 UTCWill Bitcoin price be higher in 20 minutes?
created 2026-09-20 08:20:44 UTCWill Ethereum's price be higher in 4 hours?
created 2026-09-20 08:00:54 UTCWill Bitcoin price be higher in 20 minutes?
created 2026-09-20 08:00:46 UTCWill Bitcoin price be higher in 20 minutes?
created 2026-09-20 07:40:45 UTCOne indexer. Every market.
Read markets, venues, and trades — live or historical — from a single Hasura GraphQL endpoint, or the /llms markdown mirror.
GraphQL, not glue
Markets, venues, trades, and pool reserves are one Hasura GraphQL endpoint. Query live or historical state directly — no ABIs to wrangle, no logs to scan.
agent-ready by default
Every list and market is mirrored as agent-friendly markdown under /llms — a discovery index at /llms.txt, paginated lists, and a full record per market.
or read straight from chain
Prefer the source of truth? All of it is on Somnia. The indexer just makes the same state queryable and fast.
# Every market, newest first — from the Hasura indexer.query Markets { Market(order_by: { createdAtTimestamp: desc }, limit: 10) { conditionId oracleQuestionId outcomeSlotCount totalCollateralVolume }}Questions about the markets.
Make your prediction.
Browse live markets, register a venue, or plug the indexer into your app.