Skip to main content
Resolution is the process of determining the correct outcome of a market after the event has occurred. Orica employs a sophisticated multi-agent AI resolution system with hierarchical workers, intelligent sub-crawlers, and built-in dispute mechanisms for human oversight.
Markets are resolved by a multi-layer AI architecture powered by Claude 4.5 Sonnet via OpenRouter, with autonomous research agents backed by Firecrawl.

Multi-Agent Resolution Architecture

The resolution system operates as a hierarchical multi-agent pipeline where a primary orchestrator delegates to specialized sub-workers for evidence gathering and analysis.

Resolution Pipeline

1

Market Closure Detection

The auto-resolver daemon continuously monitors the database for markets where close_time has elapsed. Markets are processed in parallel batches with semaphore-controlled concurrency (up to 100 simultaneous resolutions).
2

Orchestrator Initialization

For each closed market, a primary Claude 4.5 Sonnet orchestrator is instantiated with:
  • Market question and options
  • Creation and close timestamps
  • Resolution criteria from metadata
  • Tool registry (search, scrape, resolve)
3

Agentic Research Loop

The orchestrator enters an iterative reasoning loop (up to 20 iterations) where it autonomously:
  1. Formulates search queries based on the market question
  2. Dispatches sub-workers to gather evidence
  3. Analyzes returned data against resolution criteria
  4. Decides whether more research is needed or resolution can proceed
4

Intelligent Sub-Scraping

When the orchestrator invokes scrape(), a sub-AI agent takes over:
  • Performs initial content extraction
  • Spawns a nested reasoning loop (up to 5 iterations)
  • Dynamically selects extraction strategies based on content type
  • Can invoke sub-crawlers for specialized extraction (JSON schemas, screenshots, link graphs)
5

Evidence Synthesis

Once sufficient evidence is gathered, the orchestrator synthesizes findings and invokes the resolve() tool with:
  • Outcome index
  • Human-readable outcome name
  • Evidence summary
  • Source URLs
  • Chain-of-thought reasoning
6

Proof Persistence

Resolution proof is uploaded to IPFS via Pinata, creating an immutable record containing the full reasoning chain, evidence, and source citations.
7

On-Chain Submission

The resolved outcome and IPFS metadata URI are submitted to Solana via the Orica SDK, transitioning the market to resolved status.
8

Dispute Window

After resolution, a window opens for participants to challenge the AI’s determination.
  • If no dispute: Resolution becomes final
  • If disputed: Weighted voting begins among stakeholders

Sub-Agent Architecture

Primary Orchestrator

The main resolution agent operates with three core tools:

Intelligent Scrape Agent

When scrape() is invoked, a specialized sub-AI takes control: The sub-AI automatically detects query intent and selects optimal extraction strategies:

Schema-Based JSON Extraction

For structured data extraction, the sub-AI constructs dynamic JSON schemas:
This enables precise extraction of numbers, dates, and metrics that would be difficult to parse from raw markdown.

Resolution Infrastructure

Claude 4.5 Sonnet

Primary orchestrator and sub-AI reasoning engine. Handles multi-step reasoning, tool selection, and evidence synthesis.

OpenRouter

API gateway providing low-latency access to Claude models with automatic failover and load balancing.

Firecrawl

Intelligent web scraping infrastructure supporting markdown, HTML, JSON extraction, and visual capture.

IPFS / Pinata

Decentralized storage for immutable resolution proofs with full reasoning chains.

Concurrency Model

The resolver operates with parallel market processing:
Each market resolution operates independently with its own agent hierarchy, enabling throughput scaling while preventing resource exhaustion.

Iteration Limits & Safeguards

The system operates with strict iteration bounds to prevent runaway execution: If the orchestrator exhausts iterations without reaching resolution, the market is marked as Unresolvable (outcome 255) with timeout reasoning.

Resolution Metadata

When the AI resolves a market, it generates a comprehensive IPFS metadata document containing the full audit trail:
The full conversation log (including all sub-agent tool calls and responses) is stored in the database for auditing purposes, but only the synthesized proof is persisted to IPFS.

Special Outcomes

“Unresolvable” is used when the AI determines the market question cannot be definitively answered (e.g., source data unavailable, ambiguous criteria, event did not occur in a measurable way).

Dispute Mechanism

If participants believe the AI’s resolution is incorrect, they can initiate a dispute:
  1. Challenge Period: Any stakeholder can open a dispute within the dispute window
  2. Evidence Submission: Disputants provide evidence via dispute messages
  3. Weighted Voting: Token holders vote on the correct outcome
  4. Override: If the vote contradicts the AI resolution, the outcome is corrected
Disputes require staking tokens. Frivolous disputes that fail result in stake forfeiture.

Redemption

After finalization, holders of winning shares can redeem them for USDC:

Fetching Resolution Data

Resolution data is included in the market response from the API:

Next Steps

Disputes

Learn how to challenge AI resolutions.

Architecture

Understand how components interact.