base-tx-explain
base-tx-explain
Una herramienta MCP: explain_transaction(tx_hash) → explicación JSON estricta de cualquier transacción de la red principal de Base.
Pásale un hash de transacción. Obtén qué ocurrió, en lenguaje sencillo, además de los datos estructurados: qué se movió, quién participó, qué debes tener en cuenta y cuánto costó. Decodificación onchain determinista — sin LLM en ningún punto de la ruta de respuesta, por lo que la misma entrada siempre produce la misma salida, no hay nada que alucinar y el contrato JSON es lo bastante estable como para analizarlo a ciegas.
Solo red principal de Base (chain id 8453).
Enlaces: Endpoint en vivo · Documentación · OpenAPI · Registro MCP: io.github.0200project/base-tx-explain · Sitio
Para agentes
// tools/call → explain_transaction
{ "tx_hash": "0x0c84b951051f779903b57af9225ca570c77cd5531195968dd78106a69d6c4d8c" }devuelve (tanto como structuredContent como JSON en formato cadena en 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
}Contrato de campos
action_type— uno de: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— uno de:unverified_contract,first_time_counterparty,approval_for_all,unlimited_approval,known_drainer,nonstandard_token_symbol,impersonated_token,transaction_reverted. Una marca siempre significa que se encontró evidencia; una búsqueda fallida nunca genera una marca.status—successoreverted. Las transacciones revertidas se clasifican por intención (lo que se intentó) y llevan una marca de riesgotransaction_reverted.partial: true— no se pudo establecer el significado completo de la transacción;summaryindica exactamente qué se sabe y qué no. En caso de error, la herramienta devuelveisError: truecon{ "error": "...", "code": "invalid_hash" | "not_found" | "pending" | "upstream_error" }.Los importes son cadenas decimales (no flotantes). Las direcciones se emiten tal cual en onchain; compara sin distinguir mayúsculas y minúsculas.
provenance.untrusted_fields— enumera los campos cuyo contenido de cadena proviene de fuentes controlables por el atacante (símbolos de token, nombres de contrato/colección, nombres de eventos/funciones): hoysummary,assets_moved[].tokenycounterparties[].label. Si alimentas esta salida a un LLM, trata esos campos como datos, nunca como instrucciones. Un token que se nombra a sí mismo con texto similar a instrucciones o promocional es una señal de estafa, no un comando. Los símbolos se normalizan (se eliminan caracteres de control, separadores de línea, emojis y homoglifos) y un token cuyo símbolo autodeclarado no es un ticker plausible se muestra como su dirección de contrato en lugar de su nombre elegido — así un nombre hostil no puede suplantar a uno real ni colar texto en el contexto de un agente.
Cómo decodifica
Transacción bruta + recibo del RPC de Base → decodificadores integrados para ~40 formatos de eventos (ERC-20/721/1155, Uniswap V2/V3/V4, Aerodrome/Solidly, Seaport, Aave V3, Compound V3, puentes OP-stack, ERC-4337 EntryPoint, EAS, Basenames, WETH, gestores de posición LP) → clasificación determinista ordenada por reglas → etiquetas de una tabla verificada de contratos principales de Base. Los eventos específicos de aplicaciones se nombran mediante el ABI verificado en Sourcify del contrato cuando está disponible. Las marcas de riesgo provienen del estado de verificación de Sourcify/Basescan, las listas negras públicas de ScamSniffer y MyEtherWallet, y la semántica de aprobaciones. gas_paid_usd incluye la tarifa de datos L1 de OP-stack y valora el ETH a partir del feed Chainlink ETH/USD en el bloque de la transacción.
Related MCP server: Base Network MCP Server
Precios
10 llamadas gratuitas por cliente, sin registro.
Después: $0.02 por llamada en USDC en Base mediante x402 — la respuesta que requiere pago contiene todo lo que un agente compatible con x402 necesita para pagar y reintentar de forma autónoma. Sin cuenta, sin clave API.
También disponible alojado en marketplace (la facturación del marketplace se aplica allí en su lugar).
Conectar
{
"mcpServers": {
"base-tx-explain": {
"type": "streamable-http",
"url": "https://base-tx-explain.fly.dev/mcp"
}
}
}Autohospedaje
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 startEntorno (ver .env.example): PAYMENT_MODE (none | x402), X402_PAY_TO (tu dirección receptora — usa una billetera nueva), X402_PRICE_USD, X402_FACILITATOR_URL (por defecto usa el facilitador PayAI sin clave; el facilitador de Coinbase CDP también funciona y sus claves API no conllevan exposición de gasto), FREE_CALLS_PER_IP, BASE_RPC_URLS, ETHERSCAN_API_KEY opcional.
El servidor no tiene estado (servidor MCP nuevo por solicitud), por lo que escala horizontalmente y se ejecuta en cualquier cosa que soporte Docker — se incluyen un Dockerfile y una configuración de Apify .actor/.
npm test # unit tests
npm run validate # decode 100 recent live Base txs, print grades (ship gate: >=90% clean, 0 crashes)Garantías y límites
Determinista: mismo hash de transacción → misma decodificación. Sin llamadas a modelos, nunca.
Las transferencias ETH internas (movimientos de valor entre contratos) no son visibles sin APIs de rastreo; los eventos WETH cubren los casos comunes. Cuando algo no se puede decodificar, la salida lo indica en lugar de adivinar.
Las listas negras se consumen en tiempo de ejecución desde sus fuentes públicas y se actualizan dos veces al día; la ausencia de una marca
known_drainerno es una garantía de seguridad.No es asesoramiento financiero; esta herramienta informa qué hizo una transacción, no si algo es una buena idea.
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