Resolution layer for prediction markets

Settle every market on evidence anyone can check.

Three models read the same locked evidence inside sealed hardware and sign their answers. When all three agree, the market settles. When they don't, Verdict refuses to guess and hands the market to the arbiter the app chose.

See a market settle on-chain Plug it into your market
Example
Not a live market

They agree

  1. 01
    Evidence locked

    The relayer commits one bundle hash. Later votes have to match it.

  2. 02
    Three models vote, signed

    Qwen, DeepSeek, and GLM each sign the same answer. The contract checks those signatures. This page does not.

  3. 03
    Unanimous

    All three say YES. A split would stop here.

  4. 04
    Proposed

    The contract proposes YES and opens the dispute window.

  5. 05
    Dispute window

    Anyone can challenge, with a bond. In this example, nobody does.

  6. 06
    Final

    The window closes. The outcome is final.

They split

  1. 01
    Evidence locked

    Same lock. The models still have to read that bundle.

  2. 02
    Three models vote, and split

    The signed answers do not match, so there is nothing to propose.

  3. 03
    Escalated

    Verdict does not guess. The market goes to the app's escalation_owner.

Why

Resolution is the part nobody should own.

Apps keep what they're good at: market creation and trading. Verdict only resolves. There is no single human resolver to trust or pressure, just three independent models, locked evidence, and signatures the contract checks.

Answers

Every market gets one of three.

The contract does not average the models. It settles, hands the market back, or waits for the app's arbiter.

Final

Unanimous, then quiet.

All three models sign the same YES or NO, and nobody disputes before the window closes.

Escalated

Split, or ambiguous.

The models disagree, or they all answer AMBIGUOUS. Verdict does not fill in an outcome. The app's escalation_owner decides.

Disputed

The app's arbiter.

During the window, anyone can challenge the proposed outcome with a bond. That challenge goes to the same escalation_owner.

How it works

Six steps, all on-chain.

01
CreateThe app creates a market with its sources and its escalation_owner.
02
LockA relayer fetches the sources and commits the evidence hash.
03
VoteThree models vote on NEAR AI Cloud sealed hardware and sign.
04
CheckThe contract checks each signature against the registered signers.
05
ProposeA unanimous, clear outcome is proposed and the dispute window opens.
06
FinishNo dispute, and it is final. A split, an ambiguous panel, or a dispute goes to the app's escalation_owner.
Live record

Two markets, settled for real.

Market 0 was walked by hand. Market 1 was settled by the automatic relayer. Both are on verdict-v2-baheet.testnet.

Recorded result for verdict-v2-baheet.testnet. This page reads get_market again when it can.

Market 0

Saints vs. Giants

Hand-walked proof · evidence bundle records Saints 34–27

FINAL · YES

Recorded result

Outcome
Final YES
Window
1 hour
Arbiter
baheet.testnet
Sources
2 sources (ESPN, nflverse)
Votes
  • Qwen3.8-27BYES0x835a…36aa26
  • DeepSeek-V4.1-FlashYES0xfe00…7f337e
  • GLM-5.3-FlashYES0x3b75…24fa0c
Evidence hash
ccde677158f3e2ca4962f09e365c2ff7be958df4bdd50b7a23ac259f5fc598b7
Evidence
permalink ↗
Transactions
finalize ↗
Market 1

Cowboys vs. Eagles

Automatic relayer · evidence bundle records Cowboys 38–21

FINAL · YES

Recorded result

Outcome
Final YES
Window
10 minutes
Arbiter
baheet.testnet
Sources
2 sources (ESPN, nflverse)
Votes
  • GLM-5.3-FlashYES0x3b75…24fa0c
  • Qwen3.8-27BYES0x835a…36aa26
  • DeepSeek-V4.1-FlashYES0xfe00…7f337e
Evidence hash
02f77d634d5a5073c312dddabc551bb4b631b82df74bacd141e291fcec288a84
Evidence
permalink ↗
Transactions
create ↗ commit ↗ GLM vote ↗ Qwen vote ↗ DeepSeek vote ↗ finalize ↗

Verdict is an unaudited hackathon prototype on NEAR testnet. This page links on-chain proof; it does not verify signatures or hardware attestation in your browser.

Trust · track record

It would rather escalate than guess.

107/124
settled post-cutoff sports markets matched UMA
17
escalated instead of guessed
0
invented outcomes on 34 thin-evidence markets
~$0.002
per market

Prompt template hash fe85745ffa51fc2ac8a80b61fff3e13c3e680f4c2cf71f6142f10b5bd97f7d8f

Post-cutoff sports run in docs/BENCHMARK.md. The 34 thin markets abstained. About $0.0022 a market, from $0.274 across 372 calls.

For builders

Three calls to plug it in.

// create a market and name who decides if Verdict escalates
create_market({ question, sources, ..., escalation_owner: "your-dao.near" })

// read status, votes and the final outcome
get_market(id)

// anyone can challenge during the window, with a bond
dispute(id)  // attach bond
Read the README Relayer docs