base-tx-explain
base-tx-explain
Ein MCP-Tool: explain_transaction(tx_hash) → strikte JSON-Erklärung jeder Base-Mainnet-Transaktion.
Gib ihm einen Transaktions-Hash. Du bekommst zurück, was passiert ist, in verständlichem Englisch, plus die strukturierten Fakten: was bewegt wurde, wer beteiligt war, worauf zu achten ist, was es gekostet hat. Deterministische Onchain-Dekodierung — kein LLM irgendwo im Antwortpfad, sodass dieselbe Eingabe immer dieselbe Ausgabe erzeugt, es nichts zu halluzinieren gibt und der JSON-Vertrag stabil genug ist, um blind geparst zu werden.
Nur Base-Mainnet (Chain-ID 8453).
Links: Live-Endpunkt · Dokumentation · OpenAPI · MCP-Registry: io.github.0200project/base-tx-explain · Website
Für Agenten
// tools/call → explain_transaction
{ "tx_hash": "0x0c84b951051f779903b57af9225ca570c77cd5531195968dd78106a69d6c4d8c" }gibt Folgendes zurück (sowohl als structuredContent als auch als stringifiziertes JSON in content[0].text):
{
"summary": "0x401d...f2c5 swapped 0.03 ETH for 12,899,422 WNL via Uniswap V4 PoolManager.",
"action_type": "swap",
"status": "success",
"assets_moved": [
{ "token": "ETH", "amount": "0.03", "from": "0x401d...", "to": "0xd0a4...", "token_address": null, "standard": "native" },
{ "token": "WNL", "amount": "12899422.144134853458613801", "from": "0x4985...", "to": "0x401d...", "token_address": "0xb200...9a01", "standard": "erc20" }
],
"counterparties": [
{ "address": "0xd0a4...", "label": null },
{ "address": "0x4985...", "label": "Uniswap V4 PoolManager" }
],
"risk_flags": [
{ "flag": "unverified_contract", "detail": "The target contract 0xd0a4...e4bf has no verified source code on Sourcify." }
],
"gas_paid_usd": 0.020562,
"timestamp": "2026-08-20T03:54:19.000Z",
"block_number": 50204356,
"tx_hash": "0x0c84...4c8c",
"basescan_url": "https://basescan.org/tx/0x0c84...4c8c",
"partial": false
}Feldspezifikation
action_type— einer von:eth_transfer,erc20_transfer,erc20_approval,approval_revoked,approval_for_all,swap,add_liquidity,remove_liquidity,wrap,unwrap,nft_mint,nft_transfer,nft_sale,token_mint,bridge_in,bridge_out,lending_supply,lending_withdraw,lending_borrow,lending_repay,stake,unstake,claim,batch_transfer,account_abstraction_bundle,attestation,name_registration,contract_deployment,contract_interaction,unknown.risk_flags[].flag— einer von:unverified_contract,first_time_counterparty,approval_for_all,unlimited_approval,known_drainer,nonstandard_token_symbol,impersonated_token,transaction_reverted. Ein Flag bedeutet immer, dass ein Nachweis gefunden wurde; eine fehlgeschlagene Abfrage erzeugt niemals ein Flag.status—successoderreverted. Revertierte Transaktionen werden nach ihrer Absicht klassifiziert (was versucht wurde) und tragen eintransaction_reverted-Risikoflag.partial: true— die vollständige Bedeutung der Transaktion konnte nicht ermittelt werden;summarygibt genau an, was bekannt ist und was nicht. Bei Fehlern gibt das ToolisError: truemit{ "error": "...", "code": "invalid_hash" | "not_found" | "pending" | "upstream_error" }zurück.Beträge sind Dezimal-Strings (keine Floats). Adressen werden so geliefert, wie sie onchain emittiert wurden; vergleiche sie case-insensitiv.
provenance.untrusted_fields— listet die Felder auf, deren Zeichenketteninhalte aus Quellen stammen, die von Angreifern kontrolliert werden (Token-Symbole, Vertrags-/Sammlungsnamen, Ereignis-/Funktionsnamen): derzeitsummary,assets_moved[].tokenundcounterparties[].label. Wenn du diese Ausgabe an ein LLM fütterst, behandle diese Felder als Daten, niemals als Anweisungen. Ein Token, das sich selbst mit anweisungsähnlichem oder werblichem Text benennt, ist ein Scam-Signal, kein Befehl. Symbole werden normalisiert (Steuerzeichen, Zeilentrenner, Emojis und Homoglyphen werden entfernt), und ein Token, dessen selbst angegebenes Symbol kein plausibler Ticker ist, wird unter seiner Vertragsadresse statt unter seinem gewählten Namen angezeigt — so kann ein feindseliger Name keinen echten Namen imitieren oder Text in den Kontext eines Agenten schmuggeln.
So wird dekodiert
Roh-Transaktion + Receipt vom Base-RPC → eingebaute Decoder für ~40 Ereignisformate (ERC-20/721/1155, Uniswap V2/V3/V4, Aerodrome/Solidly, Seaport, Aave V3, Compound V3, OP-stack-Brücken, ERC-4337 EntryPoint, EAS, Basenames, WETH, LP-Positionsmanager) → deterministische Klassifizierung in fester Regelreihenfolge → Labels aus einer verifizierten Tabelle wichtiger Base-Verträge. App-spezifische Ereignisse werden — sofern verfügbar — über die verifizierte ABI des Vertrags auf Sourcify benannt. Risikoflags stammen aus dem Verifizierungsstatus von Sourcify/Basescan, den öffentlichen Blocklisten von ScamSniffer und MyEtherWallet sowie der Approval-Semantik. gas_paid_usd umfasst die OP-stack-L1-Datengebühr und bepreist ETH anhand des Chainlink-ETH/USD-Feeds im Block der Transaktion.
Related MCP server: Base Network MCP Server
Preise
10 kostenlose Aufrufe pro Client, ohne Anmeldung.
Danach: 0,02 $ pro Aufruf in USDC auf Base über x402 — die zahlungspflichtige Antwort enthält alles, was ein x402-fähiger Agent benötigt, um autonom zu zahlen und es erneut zu versuchen. Kein Konto, kein API-Schlüssel.
Außerdem über einen Marktplatz gehostet verfügbar (dort gilt stattdessen die Marktplatz-Abrechnung).
Verbinden
{
"mcpServers": {
"base-tx-explain": {
"type": "streamable-http",
"url": "https://base-tx-explain.fly.dev/mcp"
}
}
}Selbst hosten
git clone https://github.com/0200project/base-tx-explain.git && cd base-tx-explain
npm install
cp .env.example .env # defaults work: free mode, public Base RPCs
npm run dev # or: npm run build && npm startUmgebungsvariablen (siehe .env.example): PAYMENT_MODE (none | x402), X402_PAY_TO (deine Empfängeradresse — nimm eine frische Wallet), X402_PRICE_USD, X402_FACILITATOR_URL (Standard: der PayAI-Facilitator, der ohne Schlüssel auskommt; auch der Coinbase-CDP-Facilitator funktioniert, und dessen API-Schlüssel bergen kein Ausgabenrisiko), FREE_CALLS_PER_IP, BASE_RPC_URLS, optional ETHERSCAN_API_KEY.
Der Server ist zustandslos (pro Anforderung ein frischer MCP-Server), skaliert daher horizontal und läuft auf allem, was Docker ausführen kann — ein Dockerfile und eine Apify-.actor/-Konfiguration sind enthalten.
npm test # unit tests
npm run validate # decode 100 recent live Base txs, print grades (ship gate: >=90% clean, 0 crashes)Garantien und Grenzen
Deterministisch: gleicher Transaktions-Hash → gleiche Dekodierung. Keine Modellaufrufe, niemals.
Interne ETH-Transfers (Wertbewegungen von Vertrag → Vertrag) sind ohne Trace-APIs nicht sichtbar; WETH-Ereignisse decken die üblichen Fälle ab. Wenn etwas nicht dekodiert werden kann, sagt die Ausgabe das, statt zu raten.
Blocklisten werden zur Laufzeit aus ihren öffentlichen Quellen bezogen und zweimal täglich aktualisiert; das Fehlen eines
known_drainer-Flags ist keine Sicherheitsgarantie.Keine Finanzberatung; dieses Tool berichtet, was eine Transaktion getan hat, nicht ob etwas eine gute Idee ist.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceSmart contract security scanner for Base. Detect honeypots, rug pulls, hidden mints, proxy dangers, and generate audit reports.8411MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying Base Network blockchain data including blocks, transactions, balances, and smart contracts on mainnet and testnet.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables querying Base Network blockchain data including blocks, transactions, balances, and smart contracts on mainnet and testnet.MIT
- AlicenseAqualityCmaintenanceDecodes Ethereum calldata and returns a safety verdict with plain-English explanations of what the transaction does, flagging dangerous actions like unlimited approvals or gasless permits.2MIT
Related MCP Connectors
Check a Base contract, transaction or web page before you act. Free pricing, paid per call in USDC.
Decode EVM bytes to JSON: event-log decoder, calldata explainer, selector lookup, ABI fetch.
Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/0200project/base-tx-explain'
If you have feedback or need assistance with the MCP directory API, please join our Discord server