ground_truth_info
GroundTruth Info
Get info about the GroundTruth ASP — what it does, pricing, and how to call it
Takes no parameters.

io.github.unspecifiedcoderPublished by GitHub account unspecifiedcoderv1.0.0Updated Oct 25, 2026
Verified location-bound retail evidence for AI agents, delivered by human field workers.
The publisher's own server: Ground
Remote MCP server that lets an assistant dispatch paid real-world field checks to human workers and poll for verified photo or form evidence.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.unspecifiedcoder%2Fgroundtruth/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"groundtruth-field-evidence": {
"type": "http",
"url": "https://groundtruth-oracle.vercel.app/api/mcp"
}
}
}Dispatch a field check and receive fresh photographic evidence, structured observations, and an auditable verification receipt.
[Live Demo] [ASP] [X Layer] [Arbitrum] [Robinhood] [x402]
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 and A2A, photo and form proof, AI-assisted verification, freshness challenges, and x402 payment in USDC on Arbitrum One and Base or USD₮0 on X Layer. Privacy-preserving evidence receipt hashes can be anchored to the deployed Arbitrum Sepolia registry.
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.
For the Arbitrum Open House build, GroundTruth also demonstrates an end-to-end USDG escrow and evidence-receipt flow on Robinhood Chain Testnet: fund a verification, anchor its private evidence digest, and release USDG only after a verdict. This is a protocol demonstration, not customer revenue.
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)
Robinhood + USDG proof: /robinhood (public, account-free, live onchain reads)
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, inspect the service before requesting a paid task:
The unpaid call returns a machine-readable HTTP 402 challenge. A compatible wallet may select one advertised rail, authorize the exact amount and recipient, and replay the request. Coverage and fulfillment remain asynchronous.
The hackathon demonstration also runs a USDG escrow plus receipt registry on Robinhood Chain Testnet (46630).
1. Autonomous x402 Payment (agent-initiated)
human_do via HTTP or MCP.2. Human Oracle Flow
/tasks — sees mission board3. Payment Verification (fail-closed)
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.
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 the legacy X Layer worker-payout path. It is not described as buyer escrow.
EvidenceReceiptRegistry.sol — deployed on Arbitrum Sepolia
Stores only the immutable hashes of the task key, evidence manifest, proof specification, and verdict plus capture/record timestamps. Raw photos, precise coordinates, and personal data remain offchain.
GroundTruthUSDGTaskEscrow.sol — deployed on Robinhood Chain Testnet
The public demonstration funded and settled exactly 1.000000 test USDG. The app reads both contracts live and links the funding, receipt, and settlement transactions. It does not claim that test USDG is revenue or that a test transaction is customer adoption.
Copy .env.example to .env.local:
Fill in:
Run database migrations:
Start dev server:
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
Source: README.md at commit da27c44
GroundTruth Info
Get info about the GroundTruth ASP — what it does, pricing, and how to call it
Takes no parameters.
Human Do
Create a task for a human oracle to complete in the real world. Requires x402 payment. Returns a task_id to poll with task_status.
intentrequiredproof_typerequiredinstructionsrequiredservice_tiertarget_locationtimeout_secondsTask Status
Check the status and result of a GroundTruth task by its task_id
task_idrequiredReview Task
Review a submitted proof and accept or reject it. Accept releases the on-chain payout to the human oracle; reject fails the task with no payout. Call this after task_status shows the proof.
reasontask_idrequireddecisionrequired90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare a license in the repository or the registry entry.
fyi.groundOfficial publisher
Ground is a remote MCP endpoint that gives an assistant reference data on classification systems, real-time world data, and unit conversions.
ai.licklider
SciGround MCP (public beta) is a remote or local MCP server that gives an assistant tools to create and inspect studies, with Google sign-in required.

Published by GitHub account Surface-ops
GroundLock is a remote MCP server whose single tool checks a factual claim against public web pages and returns a verdict with sources.

Published by GitHub account theluckystrike
Remote MCP server that uses Qloo taste data to pick one movie, show, book, artist or restaurant a group agrees on, or to plan a dinner-to-live-music night out.
ai.taasky
Local Taasky node that lets two coding agent sessions meet in a room and reconcile what they agree on, dispute or leave open.
AI Agent → [MCP: human_do] → x402 Payment → Oracle Board ↓AI Agent ← [MCP: task_status] ← Verified Proof ← Human Oracleclaude mcp add groundtruth --transport http https://groundtruth-oracle.vercel.app/api/mcpCall ground_truth_info, then prepare a human_do request with:- intent: "Verify the nearest coffee shop is open and photograph the entrance"- service_tier: "quick_check"- proof_spec.type: "photo"- proof_spec.instructions: "Clear photo of the entrance showing it is open"┌─────────────────────────────────────────────────────────┐│ AI Agent (MCP) ││ ground_truth_info → human_do → task_status │└────────────────────────┬────────────────────────────────┘ │ x402 X-PAYMENT header ▼┌─────────────────────────────────────────────────────────┐│ GroundTruth API (Next.js) ││ /api/mcp MCP server (SSE transport) ││ /api/v1/human-do Task creation + payment verify ││ /api/v1/tasks/:id Task status + proof ││ /api/faucet mUSDT testnet faucet │└────────┬───────────────────────┬────────────────────────┘ │ │ ▼ ▼┌─────────────────┐ ┌──────────────────────────────────┐│ Supabase DB │ │ Onchain payment rails ││ tasks │ │ GroundTruthPayroll.sol ││ payments │ │ Arbitrum One USDC (42161) ││ workers │ │ Base USDC (8453) ││ proof_hashes │ │ X Layer USD₮0 (196) │└─────────────────┘ └──────────────────────────────────┘
Evidence receipt hashes are recorded separately in `EvidenceReceiptRegistry`on Arbitrum Sepolia (`0xaf712732bd2c8ef589bb9fff5421ed428e4207e1`).{ intent: string // What you want verified proof_type: "photo" | "form" instructions: string // Instructions for the human oracle budget_usdt?: string // Default: "2.00" timeout_seconds?: number // Default: 3600}{ task_id: string // UUID from human_do}Address: 0x430172985b21458d73576435D4aD4bEeA85F376CNetwork: X Layer testnet (chainId 1952)Address: 0xaf712732bd2c8ef589bb9fff5421ed428e4207e1Network: Arbitrum Sepolia (chainId 421614)Deployment: 0xaa1f82b0839f4242c49d14d12ed0c896d5250d89db2e59a57e41f80bb1ed5083Escrow: 0x725cce0916d2e8682438732fd9e79803b4fab2bdRegistry: 0x430172985b21458d73576435d4ad4beea85f376cUSDG: 0x7E955252E15c84f5768B83c41a71F9eba181802FNetwork: Robinhood Chain Testnet (chainId 46630)git clone https://github.com/unspecifiedcoder/groundtruthcd groundtruthpnpm installcp .env.example .env.local# SupabaseNEXT_PUBLIC_SUPABASE_URL=NEXT_PUBLIC_SUPABASE_ANON_KEY=SUPABASE_SERVICE_ROLE_KEY=
# X Layer wallet (testnet)SETTLEMENT_PRIVATE_KEY=
# AppNEXT_PUBLIC_APP_URL=http://localhost:3000ADMIN_SECRET=your-secret-key
# OKXOKX_PAYMENT_TOKEN=0x74b7F16337b8972027F6196A17a631aC6dE26d22OKX_PAYMENT_NETWORK=196ASP_PRICE_USDT=2.00ASP_FEE_BPS=1200pnpm supabase db pushpnpm dev{ "from": "0x...", "txHash": "0x...", "paymentReference": "unique-ref", "network": "xlayer-testnet", "token": "0x725cCe0916d2E8682438732fD9e79803B4fAB2BD", "amount": "2000000"}├── app/│ ├── api/│ │ ├── [transport]/ # MCP server│ │ ├── v1/human-do/ # Task creation + payment│ │ ├── v1/tasks/[id]/ # Task status│ │ └── faucet/ # mUSDT faucet│ ├── tasks/ # Oracle mission board│ ├── pulse/ # Network stats│ └── faucet/ # Faucet UI├── lib/│ ├── agent-pay.ts # Autonomous x402 payment│ ├── payment.ts # x402 verify + challenge│ ├── chain.ts # viem X Layer client│ ├── db.ts # Supabase queries│ └── planner.ts # Task planning├── contracts/│ └── src/│ ├── GroundTruthPayroll.sol│ ├── EvidenceReceiptRegistry.sol│ └── GroundTruthUSDGTaskEscrow.sol└── supabase/ └── migrations/https://www.okx.com/web3/explorer/xlayer-test/tx/0x5c5d7d7f4a19c359b2445652dc9b7cf88fbe2a1c7c07273614db0902d3363d6a