ProofCheck
Free x402 offer/receipt checker: verifies signatures and whether the signer fits the host.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"proofcheck": {
"url": "https://proofcheck.something-agent.workers.dev/mcp"
}
}
}Remote endpoints
https://proofcheck.something-agent.workers.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
⚪verify_offer(offer, accepts, resource_url, trusted_pay_to)
Verify an x402 signed offer (EIP-712 or JWS): signature, expiry, match to accepts[], and signer-authorization evidence (payTo, did:web, DNS _controllers, ERC-8004). Free.
Input Schema
{
"type": "object",
"properties": {
"offer": {
"type": "object",
"description": "The offer object: {format, payload?, signature, acceptIndex?}"
},
"accepts": {
"type": "array",
"description": "Optional accepts[] from the live 402 to match against",
"items": {
"type": "object"
}
},
"resource_url": {
"type": "string"
},
"trusted_pay_to": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"offer"
]
}⚪verify_receipt(receipt, resource_url, payer, transaction, network, ...)
Verify an x402 signed receipt (EIP-712 or JWS) returned in the settlement response: signature, freshness, payer/resource/transaction match, signer-authorization evidence. Free.
Input Schema
{
"type": "object",
"properties": {
"receipt": {
"type": "object"
},
"resource_url": {
"type": "string"
},
"payer": {
"type": "string"
},
"transaction": {
"type": "string"
},
"network": {
"type": "string"
},
"max_age_seconds": {
"type": "number"
},
"trusted_pay_to": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"receipt"
]
}⚪verify_payment_required(payment_required, resource_url)
Verify every signed offer inside a PaymentRequired object (pass the decoded JSON, or the raw base64 PAYMENT-REQUIRED header). Free.
Input Schema
{
"type": "object",
"properties": {
"payment_required": {
"description": "Object or base64/JSON string"
},
"resource_url": {
"type": "string"
}
},
"required": [
"payment_required"
]
}🟢preflight_x402_endpoint(url, method)
Unpaid preflight of an x402 URL: fetch its 402, summarise accepts[]/extensions, verify any signed offers and report who can vouch for the signer. Never pays. Free.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"method": {
"type": "string",
"enum": [
"GET",
"POST"
]
}
},
"required": [
"url"
]
}🟢lookup_erc8004_agent(chain_id, agent_id)
Read-only ERC-8004 identity lookup (owner, agentWallet, registration file, endpoint-domain verification) on Ethereum, Base, Optimism, Arbitrum, Polygon, BNB, Avalanche, Gnosis, Celo, Linea or Scroll.
Input Schema
{
"type": "object",
"properties": {
"chain_id": {
"type": "integer"
},
"agent_id": {
"type": "string"
}
},
"required": [
"chain_id",
"agent_id"
]
}Community
Evidence