Settlement risk on prediction markets, measured.
1 Jan to 2 Oct 2026: 3,005 disputes on 2,666 Polymarket markets. Of 2,543 settled disputed markets, 853 (33.5%) settled differently from the disputed proposal.
Signed, verifiable records. Free API: https://t.co/p1HleQtEiC
Predge is partnering with @novicorpus, a fellow Arc accelerator team.
Novi gives an AI agent a legal body and a public record. Predge checks what the agent delivers and signs a verdict.
Who answers for an agent, and whether its work passed.
30-day pilot on Arc testnet.
@hurcaneth Nansen already takes x402 on Monad. When an agent pays $0.01 for a call and gets an empty or stale answer, we check it against the agreed terms and sign a verdict: paid, or refund. Happy to run one Nansen endpoint as a free test job, or show it at Devcon Mumbai.
@MatthewFoyle Agree, and trust also needs a way to undo a bad call. We fix the terms before an agent pays over x402, check the delivery after, and sign a verdict: paid, or refund this much. Happy to show it at Devcon Mumbai if you're around.
@jinglingcookies The part that breaks first: an agent pays Instacart or Expedia in stablecoins, the order is wrong, and there's no chargeback. We fix the terms before payment and sign a verdict after: paid, or refund this much, enforceable by a contract. Live on Monad mainnet.
@jarrodwatts Once agents like Auni also pay for data and tools, the open question is who decides the delivery matched the deal. We return a signed verdict (paid, or refund this much) that a contract on Monad mainnet enforces. Would love 15 min at Devcon if you're there.
@FlowExecutor@timhartmanndev It signs over the job spec, the evidence (body or its sha256, status, headers, timing) and the payment ref, as canonical JSON with ed25519. Anyone can re-run the checks from it. 'Junk' only counts if it maps to a check fixed before payment: empty field, schema miss, wrong hash.
@lewang_teraliq Agreed, that's the line we draw. Criteria are fixed before payment and signed into the verdict. Measurable checks (status, schema, fields, hash, latency) decide alone. Judgment calls, like research quality, go to Kleros jurors, not to us.
@wafermap Great dataset. Next number I'd love to see: how many of those 941k paid calls got a 200 with a wrong or empty payload. "Failed calls cost nothing" covers errors, not bad deliveries. That's the gap we work on at Predge: a signed verdict per call, paid or refund.
Predge signed a record of this market while the vote was open and again after the reset. Both pass our verifier.
Issue, tx hashes, files: https://t.co/bu4XhkcElA
Check a record: https://t.co/JJS0kw5aYV
Dispute of the week #2: Polymarket's "Russia-Ukraine peace talks by October 31, 2026?"
On 21 Oct someone proposed Yes with a 500 USDC.e bond, over ten days before the deadline. Disputed 10 seconds later. Re-proposed, disputed again 48 s later. The outcome went to a UMA vote.
For an agent's settlement logic:
- a proposal is a claim, not a result
- a dispute in seconds tells you someone is watching, not who is right
- a finished vote is not always a settled market
- read the chain: almost 5 days after the reset, the venue API still said "disputed"
/verify now returns valid: false, reason key_revoked, for anything signed with the old key, even records signed weeks ago.
Harsh, but it is the honest answer. Whoever holds a leaked key can sign a record with any date on it, so the date inside the signature proves nothing.
Lesson: if your signatures verify offline, verifiers cache your key for a long time. Design the revocation path before you need it:
- a status per key: active, retired, revoked
- a reason and a date
- verifiers that re-read the key list
- an anchor outside your infra