Frequently asked questions
Straight answers about decoding Base transactions, MCP, x402 pay-per-call, and what this tool does and doesn’t promise.
What is base-tx-explain?
base-tx-explain is a Base transaction decoder API built for AI agents. It exposes one MCP tool, explain_transaction(tx_hash): you send a Base mainnet transaction hash and get back strict JSON — a plain-English summary, a classified action type, every asset that moved, counterparties labeled where known, evidence-based risk flags, and the gas cost in USD. It is built by 0200project and the source is public.
What is an MCP server?
MCP — the Model Context Protocol — is an open standard that lets AI assistants and agents discover and call external tools in a uniform way. An MCP server exposes one or more tools over a standard transport; the client (Claude, an agent framework, or your own code) lists the tools and calls them with structured arguments. base-tx-explain is a deliberately minimal MCP server: one tool, explain_transaction, served over streamable HTTP and listed in the official MCP registry as io.github.0200project/base-tx-explain.
Are there MCP blockchain tools for Base?
Yes — base-tx-explain is an MCP blockchain tool built specifically for Base: it turns any Base mainnet transaction into strict JSON over the Model Context Protocol. The official MCP registry lists other blockchain servers too, mostly for raw chain data — balances, logs, blocks. base-tx-explain is the explanation layer: one call that says what a transaction did, with risk flags attached. The two kinds compose well — raw-data servers for lookups, base-tx-explain for understanding.
How do I decode a Base transaction programmatically?
Connect any MCP client to the hosted endpoint at https://base-tx-explain.fly.dev/mcp (streamable HTTP), or send a plain JSON-RPC tools/call request with curl. The response is strict JSON with a stable schema, so software can parse it blind. The quickstart has the exact config and curl command, and the playground decodes hashes live in your browser.
Do I need an API key or an account?
No. There are no accounts, no signup, and no API keys. Every client gets 10 free calls; after that, each call costs $0.02 in USDC on Base, paid through the x402 protocol. The payment challenge arrives inside the response, so an autonomous agent can pay and retry without a human ever filling in a form.
What is x402 and how does pay-per-call work?
x402 is an open protocol that puts the HTTP 402 Payment Required status to work: when a call needs payment, the response carries the exact price, asset, and recipient. The caller pays in USDC on Base from its own wallet, attaches proof of payment, and retries — the whole loop is machine-to-machine. Settlement is verified by a non-custodial facilitator that cannot move or redirect funds, and the server never holds assets or asks for keys. Details in the payment docs.
What kinds of transactions can it decode?
The decoder classifies 30 action types from ~40 builtin event formats: swaps on Uniswap V2, V3, and V4 and Aerodrome; ERC-20, ERC-721, and ERC-1155 transfers; NFT mints, transfers, and Seaport sales; OP-stack bridge deposits and withdrawals; Aave V3 and Compound V3 lending; staking, wrapping, and claims; ERC-4337 account-abstraction bundles; EAS attestations; Basename registrations; and contract deployments. When a transaction can’t be fully decoded, the output says so honestly instead of guessing. The full enum is in the response schema.
What are the risk flags — and are they a safety guarantee?
Six flags, each raised only when evidence was found: unverified_contract, unlimited_approval, approval_for_all, known_drainer (matched against the ScamSniffer and MyEtherWallet public blocklists), first_time_counterparty, and transaction_reverted. A failed lookup never produces a flag — and the absence of a flag is not a safety guarantee. The tool reports what a transaction did, not whether it was a good idea; it is not financial advice.
Why is the decode deterministic — where’s the LLM?
There is no LLM anywhere in the response path, by design. Every response is produced by deterministic onchain decoding: the same transaction decoded against the same chain state yields the same JSON. Nothing can hallucinate, the schema never drifts, and your agent doesn’t burn tokens reasoning over raw event logs when the decode is mechanical.
How is this different from the Etherscan or Blockscout APIs?
Different jobs. Etherscan and Blockscout are excellent block explorers that return raw or lightly enriched data — logs, traces, token balances — and Etherscan moved Base API access to its paid plans in 2026. Blockscout’s transaction summary is display-oriented prose with an LLM fallback, so it isn’t guaranteed deterministic and doesn’t carry a stable schema contract or risk flags. base-tx-explain does one narrow thing those don’t: a single call that turns a transaction into an explanation-level, deterministic, strict-JSON answer with risk signals — no account, no key, priced per call. If you need raw chain data, use an explorer API; if your agent needs to know what a transaction did, that’s what this is for.
Which chains are supported?
Base mainnet (chain id 8453) only, today. More machine-native tools are in development — new releases are announced on the changelog.
Can I self-host it?
Yes. The server is open source, stateless, and runs anywhere Docker runs — clone the repository, npm install, and start it in free mode with public Base RPCs. Self-hosting instructions and every environment variable are in the docs.
Can AI agents really pay for API calls by themselves?
Yes — that is the point of this whole stack. An x402-capable agent holds its own wallet, reads the 402 payment challenge from the response, pays $0.02 in USDC on Base, and retries with proof of payment attached. No card on file, no subscription, no human in the loop. You can watch the loop replayed on the home page, or decode transactions live in the playground.
Is there a blockchain JSON API an AI agent can pay for per call?
That is exactly what base-tx-explain is: a blockchain JSON API priced per call for autonomous agents. Every response is deterministic strict JSON, and payment happens in-band through x402 — the agent hits the paywall, pays $0.02 in USDC on Base from its own wallet, and retries, with no account or API key anywhere in the loop. Among crypto tools for AI agents, the design goal here is to be the one your agent can rely on blind: stable schema, evidence-based risk flags, and honest partials when something can’t be decoded.