← All case studies

case · 005

Prediction-market resolver.

A resolution service that watches a prediction market for closure, fetches authoritative sources for the underlying question, reasons through the market's stated rules, and submits a citation-backed outcome (YES / NO / UNKNOWN / EARLY) within seconds. Designed for prediction markets that don't want token-weighted oracles deciding outcomes.

Client
Anonymised — prediction platform
Year
2026
Chains
Off-chain oracle
Role
AI orchestration · audit tooling

fig. 0.1

Cover image · resolution flow

Existing prediction-market oracles have three structural flaws: resolution becomes truth by inertia if no one challenges a stale proposal within the short window; challenging costs a bond that prices out small holders; and final disputes are decided by token weight, not evidence.

Our team shipped an alternative: an AI agent bound by the market's own rules (injected as system-prompt context), given real-time web search to gather authoritative sources, and forced to call a `submit_resolution` tool with outcome + reasoning + citation list + confidence. Every decision produces a full audit memo the platform can publish.

4

resolution outcomes (YES / NO / UNKNOWN / EARLY)

<10s

average resolution latency from market close

1

tool-call contract per resolution (no string parsing)

100%

of decisions come with reasoning + citations + confidence

Each cycle begins with the resolver pulling the market's question, rules, allowed outcomes, and primary sources. A dynamic prompt is generated from that context and pushed into the system prompt. The AI runs the web-search plugin, evaluates the evidence against the resolution criteria, and submits the structured outcome — no string parsing on the calling code's side, the tool call *is* the contract.

Confidence below a configured threshold auto-resolves to UNKNOWN rather than guessing. Outcomes are stored with processing time, model used, and a full reasoning trail so any dispute can be replayed. Production-ready upgrades in the roadmap message queue replacement (Kafka / RabbitMQ), multi-model consensus, persistent PostgreSQL backing the resolution store, and rate limiting on the resolve endpoint.

/ stack

on-chain
  • off-chain (replaces an on-chain capital-weighted oracle with a neutral resolver)
off-chain
  • TypeScript
  • Node.js
  • Bun runtime
  • OpenRouter multi-LLM
  • web-search plugin
  • structured tool calls
  • in-memory store (production: PostgreSQL + Kafka/RabbitMQ)

next case study

Cross-exchange orderbook aggregator..

A lightweight, dependency-light service that maintains a live orderbook per exchange (Binance, Coinbase, Kraken, Bitstamp) via WebSocket, then merges them into a unified book for BTC, ETH, and SOL across USDT pairs. Exchanges that send snapshots via REST (Binance, Bitstamp) buffer WebSocket deltas until the snapshot lands, then replay in order.

/ start a project

Have something similar in mind?