Prediction markets that settle themselves.

Escrowed funds unlock the second a signed TxLINE match proof is verified on-chain. No oracle vote, no dispute window, no operator flag. The money moves because the proof verified.

Settling live
Devnet
Escrow locked10,000 USDC in vault PDA
Match finalEngland 2 - 1 Portugal
CPI -> txoracle.validate_statMerkle proof, 110,685 CU
Return read on-chainAQ== (bool = true)
Settled -> YES winsPayout routed, no dispute
Settlement latencyin progress…
1transaction to settleverify + resolve, atomic
118Kcompute units usedof 1.4M available
0dispute windowsno vote, no waiting
104World Cup fixtureslive TxLINE coverage
How it settles

Three steps. No trusted party in any of them.

01

Escrow

Anyone opens a market over a TxLINE stat. Users deposit USDC on YES or NO; funds lock in a vault PDA.

02

Proof

At full time, a keeper submits the signed TxLINE Merkle proof for the fixture's score to the settle instruction.

03

Payout

Quovra CPIs into txoracle validate_stat, reads the boolean on-chain, flags the winner, and winners pull their share.

The problem

Every market trusts something other than the data.

Polymarket settles through a token vote. In March 2025, a holder with 25% of the votes resolved a $7M market the wrong way. Other books trust a third-party oracle feed you cannot inspect. The outcome is decided by whoever controls the resolver.

Quovra removes the vote. The outcome is read from a signed proof, inside the transaction that moves the money.

Devnet settle transactionFinalized
Program quovra invoke [1]
  Program txoracle invoke [2]
  Program log: Return on-chain predicate
  Program txoracle consumed 110685 CU
  Program return: AQ==   (bool = true)
  Program txoracle success
Program return: AQ==
Program quovra success
Status: Ok · Finalized
Open the transaction in Solana Explorer
Watch it settle

A market that resolves itself.

Open a live World Cup market, place a position, and see the receipt land on-chain the moment the proof verifies.