verifiable execution-proof MCP for Base
rsynth-mcp
the execution-proof MCP for Base. query and verify on-chain ExecutionLog anchors from any MCP client. public, independent verifiability - anyone can check anchored proofs via the contract, not just this server.
tools
-
verify_execution· paid · $0.01 USDC via x402- verify an ExecutionLog anchor by tx hash. recovers EIP-191 signer.
- returns payload hash, block, timestamp.
- optional
payloadarg for local hash-match check.
-
query_signers· free- list addresses that have anchored ExecutionLog records, with anchor counts and first-seen block.
install
with claude code:
claude mcp add rsynth https://<vercel-host>/api/mcp
primitive
ExecutionLog on base mainnet
· contract · 0xd5A9DAF8F2134b61b73cEfaF5c9094EA162f1a1c
· basescan · https://basescan.org/address/0xd5A9DAF8F2134b61b73cEfaF5c9094EA162f1a1c
· event · ExecutionRecorded(signer, payloadHash, timestamp)
why on-chain
cryptographic (EIP-191) + base mainnet finality. alternatives anchor where only their server can read (off-chain stat boards, in-memory hash chains, TEE attestations). this one anchors where anyone can read - the same verification works from a contract call, not just this server.
stack
- next.js 15 app router · vercel deploy
- x402-mcp v0.1 · paid MCP tool primitive
- viem · base mainnet rpc + EIP-191 recovery
- verify code vendored from r402
(see
src/r402/README.mdfor sync procedure)
config
copy .env.example to .env.local and fill:
BASE_RPC_URL· base mainnet rpcPAYMENT_RECIPIENT_ADDRESS· x402 USDC payeeX402_FACILITATOR_URL· optional, defaults to openx402
dev
pnpm install
pnpm typecheck
pnpm test
pnpm dev
dev server at http://localhost:3000 · MCP endpoint at /api/mcp.
roadmap
- v0.1 ·
verify_execution+query_signers - v0.2 ·
anchor_execution(write tx via self-hosted relayer) - v0.2 · ERC-8004 signer -> agent_id resolution
- v0.2 · upstash KV cache on
query_signers(when load demands)