The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the GroundTruth Field Evidence listing page.
Dispatch a field check and receive fresh photographic evidence, structured observations, and an auditable verification receipt.
GroundTruth is a field-evidence API. Its first commercial workflow is retail verification: current shelf availability, prices, promotions, and display compliance that cannot be answered reliably from an existing database.
An operations team or AI agent creates a funded task, a field operator completes it, and GroundTruth returns structured results with an evidence trail. The existing prototype supports MCP, photo and form proof, AI-assisted verification, freshness challenges, x402 payment, and settlement on X Layer.
The product is currently in focused-pilot mode. Coverage and turnaround are confirmed before a field campaign begins; the project does not claim universal geographic coverage.
The application includes crawler and agent discovery (robots.txt, sitemap.xml, JSON-LD, llms.txt, OpenAPI, MCP, A2A, /.well-known/agent.json, and /.well-known/agent-card.json), private campaign sessions, redacted public task views, signed worker claims, upload validation, persistent rate limiting, audit events, legal/safety pages, hardened browser headers, and /api/health readiness reporting.
Before enabling real public traffic:
supabase/migrations in order, including 004_campaigns.sql and 005_production_hardening.sql..env.example with separate high-entropy admin, pilot, and claim-signing secrets./api/health, and verify database backups and evidence retention./api/health intentionally returns HTTP 503 until required configuration and migrations are present. A successful website build is not treated as proof of operational readiness.
Live app: https://groundtruth-oracle.vercel.app
Interactive retail campaign: /campaigns/demo (local or deployed)
Campaign builder: /campaigns/new (requires the configured pilot access key)
Video demo: https://x.com/0xBejini/status/2078065892659958215
The public activity page includes development, demo, and testnet usage. It is not presented as customer traction.
The complete demo sequence and production prerequisites are documented in docs/RETAIL-DEMO.md.
Add the MCP server to Claude Code:
Then in a Claude session:
Claude will autonomously check its wallet, drip from the faucet if needed, transfer mUSDT on X Layer testnet, and create the task — no human approval required.
1. Autonomous x402 Payment (agent-initiated)
human_do via MCPlib/agent-pay.ts checks mUSDT balance on X Layer testnet/api/v1/human-do with X-PAYMENT header2. Human Oracle Flow
/tasks — sees mission board3. Payment Verification (fail-closed)
https://www.okx.com/web3/build/ai/verify)lib/onchain-verify.ts) — reads the tx receipt, re-derives the ERC-20 Transfer log, and confirms token, recipient, amount, and sender. Never trusts the header; a forged/replayed payment is rejected (tx hash bound to one payment).4. Proof Verification — the semantic notary (lib/notary.ts)
Proof is checked on two levels, not just "a file was uploaded":
Integrity gate — correct type, image decodes, required form fields present, not a duplicate. Blatant fraud fails instantly.
Semantic notary — an AI judges whether the proof actually satisfies the task intent:
A confident mismatch is rejected with no payout (a photo of a wall, a gibberish form). When the model is unsure, it errs toward paying the worker — GroundTruth never denies an honest oracle over an AI hiccup. The verdict (decision · confidence · reason) is stored on the task and shown to both the oracle and the calling agent.
This makes "proof" mean verified content, not a decodable JPEG.
| Layer | Technology |
|---|---|
| Frontend | Next.js 14, React, Tailwind CSS |
| MCP Server | mcp-handler, SSE transport |
| Blockchain | viem v2, X Layer (chainId 196/1952) |
| Smart Contract | Solidity, Foundry, GroundTruthPayroll.sol |
| Database | Supabase (PostgreSQL + RLS) |
| Payments | x402 protocol, MockUSDT (testnet) |
| AI Marketplace | OKX AI (ASP #6282, A2MCP service) |
| Deployment | Vercel |
ground_truth_infoReturns service info, pricing, and endpoint details.
human_doReturns task_id, board_url, poll_url, and full payment audit trail including faucet_tx and payment_tx.
task_statusReturns status (pending → claimed → submitted → verified), result, proof_available.
GroundTruthPayroll.sol — deployed on X Layer testnet
Handles worker payouts, proof hash recording, and settlement finality.
Copy .env.example to .env.local:
Fill in:
Run database migrations:
Start dev server:
| Endpoint | Method | Description |
|---|---|---|
/api/mcp | GET/POST | MCP server (SSE transport) |
/api/v1/human-do | POST | Create task (x402 payment required) |
/api/v1/tasks/:id | GET | Get task status + proof |
/api/faucet | POST | Drip 10 mUSDT to address (testnet) |
/api/faucet | GET | Check mUSDT balance |
/api/pulse | GET | Network stats |
Base64-encode and send as X-PAYMENT header.
Every payment GroundTruth processes is verifiable on OKX's X Layer explorer:
Example transaction:
OKX AI Agent Hackathon 2026
MIT