truth-anchor-agent
Integrates with the Ethereum ecosystem via the Base Layer 2 network to verify on-chain USDC micro-payments, enabling a pay-per-verification model for validating URL status and content accessibility.
⚓️ Truth Anchor Agent
Truth Anchor Agent is an MCP (Model Context Protocol) server for citation attestation. Before an agent cites a source, it can verify that the URL resolves, record the final destination, capture lightweight page metadata, and return a content hash of what was fetched.
The Problem: AI agents often cite dead, redirected, or changed URLs without checking what the source looked like at the time of use. The Solution: A paid verification step that records source availability and lightweight attestation metadata before the agent relies on a citation.
What It Guarantees
The URL was fetched at verification time.
The service reports the final URL, HTTP status, redirect behavior, and basic HTML metadata.
The response includes a
content_sha256hash so downstream systems can anchor what was observed.Optional claim matching is a simple substring check.
Related MCP server: Predicate
What It Does Not Guarantee
It is not a semantic fact-checking engine.
It does not prove a page is trustworthy, only what the service observed when it fetched it.
It does not replace search, RAG, or human review for complex claims.
🛠 Model Context Protocol (MCP) Integration
This server exposes a verify_url tool that any MCP-compliant LLM (Claude Desktop, ChatGPT, IDEs) can use autonomously.
Registration in Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"truth-anchor": {
"command": "npx",
"args": ["-y", "truth-anchor-agent"],
"env": {
"MY_WALLET_ADDRESS": "0x367B9193D4F9cb4877Ca58E6F3ce944d761d8009"
}
}
}
}Interfaces
MCP tool
The MCP tool uses a two-step flow:
Call
verify_urlwith a URL.Receive payment instructions if no payment proof is provided.
Retry with
tx_hashafter sending the payment.
HTTP API
The HTTP API uses an API key plus x402-style signed payments:
POST /auth/provisionto get a free API key.Use the first 50 requests for free.
After that, attach
X-PaymenttoPOST /verify.
💳 The Payment Flow
The HTTP API implements a 402 Payment Required flow for paid requests after the free tier is exhausted.
Request: Agent calls
/verifywith a URL.Challenge: Server returns
402 Payment Requiredwith payment instructions.Payment: Agent signs a Base USDC payment authorization.
Verification: Agent retries with the
X-Paymentheader.Attestation: Server verifies the payment and returns the source check.
⚡️ API Reference
POST /verify
Verifies that a source resolves and returns attestation metadata. Requires:
Authorization: Bearer <api_key>X-Paymentafter the free tier is exhausted
Headers:
Header | Description |
| API key returned by |
| Signed x402/EIP-3009 payment payload after the free tier |
Request Body:
{
"url": "https://base.org",
"claim": "Base is an Ethereum L2"
}Success Response (200 OK):
{
"url": "https://base.org",
"final_url": "https://base.org/",
"is_live": true,
"status_code": 200,
"redirected": false,
"ssl_valid": true,
"checked_at": "2026-04-02T12:00:00Z",
"content_type": "text/html",
"content_length_bytes": 31245,
"title": "Base",
"description": "Base is a secure, low-cost, builder-friendly Ethereum L2.",
"content_sha256": "9d72c4...",
"claim": "Base is an Ethereum L2",
"claim_found": true,
"claim_match_method": "substring",
"paid": false,
"free_requests_remaining": 49
}🏗 Tech Stack
FastAPI — High-performance Python API framework.
Web3.py — Real-time on-chain verification (Base RPC).
SQLite — Replay attack prevention and transaction indexing.
Fly.io — Global edge deployment.
Base — L2 Ethereum for fast, low-cost USDC payments.
Positioning Notes
Primary wedge:
citation attestation for agentsRejected for now: broad
truth layer, general fact-checking, and multi-tool expansionProduct gap and validation notes live in
docs/product-positioning.md,docs/user-validation.md, anddocs/user-validation-proxy.md
🛠 Local Development
# 1. Clone and Install
git clone https://github.com/cristiano-c1/truth-anchor-agent
cd truth-anchor-agent
pip install -r requirements.txt
# 2. Configure
echo "MY_WALLET_ADDRESS=0x367B9193D4F9cb4877Ca58E6F3ce944d761d8009" > .env
# 3. Run
uvicorn main:app --reload📜 License
Distributed under the MIT License. See LICENSE for more information.
This server cannot be installed
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cristiano-c1/truth-anchor-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server