Skip to content
Conduit

mcp server

automaton-onchain-tools

Pay-per-call onchain + URL safety APIs for AI agents via x402 (USDC on Base) and MCP

povrouyre-wq/automaton-onchain-toolscommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 21, 2026

Automaton Onchain Tools

M8ven Score

Pay-per-call crypto and security APIs for AI agents. You pay with x402: $0.005 to $0.01 per call in USDC on Base (eip155:8453). There's no signup and no API key. An MCP server is included.

Live: https://automaton-tx-explainer.vercel.app · OpenAPI · llms.txt · x402 discovery

Not an agent? /check is a web page where anyone can buy the $0.25 wallet or token report, or the $1.50 token deep scan, with a browser wallet (MetaMask, Coinbase Wallet, etc.) using the same x402 flow. Page sources are in check-src/; node check-src/build.mjs (needs esbuild) regenerates check-assets.js.

Endpoints

{chain} is one of base, ethereum or bsc. With the Solana token check that gives 21 paid tools.

ToolEndpointPriceWhat it does
Tx ExplainerGET /v1/{chain}/tx?hash=0x…$0.01Status, fee, decoded method + args, ERC-20 transfers
Token Approval CheckGET /v1/{chain}/approvals?address=0x…$0.005Allowances of major tokens to common spenders; flags unlimited
Address InspectorGET /v1/{chain}/address?address=0x…$0.005EOA / contract / EIP-7702, balance, proxy impl, ERC-20 metadata
Contract Risk HeuristicsGET /v1/{chain}/contract-risk?address=0x…$0.01Sourcify verification, proxy/admin, owner type, mint/pause/blacklist/fee selectors
URL Safety CheckGET /v1/url-safety?url=…$0.005Phishing blocklists, domain age (RDAP), punycode/lookalikes, HTTPS
Multi-chain Gas SnapshotGET /v1/gas?chain=all$0.005Gas price, base fee, utilization, est. cost of transfer/ERC-20/swap
ENS / Basename ResolverGET /v1/ens?name=vitalik.eth$0.005Name to address + text records, or reverse lookup
Calldata DecoderGET /v1/decode?data=0x…$0.005Decode calldata before signing, with plain-English warnings
Wallet PortfolioGET /v1/portfolio?address=0x…$0.01Native + 8 major token balances on Base, Ethereum, BNB
Wallet Security ReportGET /v1/wallet-report?address=0x…$0.25One-call wallet report across 3 chains: balances, approvals, 7702 delegation, plain-English summary
Token Due-Diligence ReportGET /v1/token-report?address=0x…&chain=base$0.25Metadata, proxy, owner/admin, owner holdings, Sourcify, mint/pause/blacklist/fee flags
Solana Token CheckGET /v1/solana/token?address=<mint>$0.005SPL / Token-2022 / pump.fun mint: mint + freeze authority, metadata mutability (Metaplex isMutable / Token-2022 metadata), risky Token-2022 extensions (transfer fee, permanent delegate, transfer hook, pausable, default-frozen), top-holder concentration with pools and the bonding curve excluded where identifiable, pump.fun curve progress or PumpSwap LP burn share. Free public Solana RPC only; lists what it couldn't determine
Token Deep ScanGET /v1/token/deep-scan?address=0x…&chain=base$1.50Simulated buy + sell against the main DEX pool (honeypot and buy/sell tax), main pool liquidity in USD, V2 LP burned/locked share, top-holder concentration, owner powers, and a list of what it couldn't determine

How the deep scan works

  • Honeypot / tax test: a small simulator contract (sim-src/Sim.sol) is injected with an eth_call state override, wraps native coin, buys from the deepest WETH/WBNB pool (Uniswap V2/V3, Aerodrome, SushiSwap, PancakeSwap V2/V3), then approves + transferFroms the tokens back into the pool and sells. Nothing is ever sent onchain. Buy tax = requested vs received tokens; sell tax = sent vs what the pool received.
  • Liquidity: pools are found onchain via the DEX factories; USD value uses the onchain native/stable price.
  • LP lock: for V2-style pools, share of LP at 0x0/0x…dEaD, held by the token contract, or by Blockscout-labeled lockers. V3 positions are NFTs, so lock status is reported as not determinable.
  • Holders: Blockscout's public API where it answers (Ethereum; Base when reachable). Otherwise a clearly-marked partial list built from recent Transfer logs + live balanceOf.
  • Tests: node --test tests/ runs against real tokens (Base USDC, BRETT, DEGEN, Ethereum PEPE, BNB CAKE) plus synthetic honeypot and 10%-tax tokens built with state overrides.

How the Solana check works

  • Reads the mint with getAccountInfo (jsonParsed) for authorities and Token-2022 extensions, the Metaplex metadata PDA for name/symbol/update authority/isMutable, and getTokenLargestAccounts (top 20 accounts, grouped by owner) for holders.
  • Owners that are off the ed25519 curve are program accounts. If the owning program is a known AMM (PumpSwap, Raydium, Orca, Meteora DLMM) or the pump.fun bonding curve, it's labeled and excluded from the top-10 wallet figure; unknown program owners are excluded and labeled uncertain.
  • pump.fun: the bonding-curve PDA tells whether the coin is still on the curve (with approximate progress) or graduated. For graduated coins the PumpSwap pool's LP mint supply is compared with the LP originally minted to get the burned share. LP lock for non-pump.fun tokens is not determined. There is no sell simulation on Solana.
  • RPC: SOLANA_RPC (comma-separated), default api.mainnet-beta.solana.com then public.rpc.solanavibestation.com as fallback. Tests: tests/solana.test.mjs (BONK, USDC, Fartcoin, a PumpSwap-graduated coin and a fresh on-curve pump.fun coin).

A bare request with no payment returns 402 Payment Required along with the payment requirements. If the input is invalid, you get a 400 and are not charged.

Use over HTTP (x402)

import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);
console.log(await (await pay("https://automaton-tx-explainer.vercel.app/v1/gas?chain=all")).json());

The buyer signs an EIP-3009 USDC authorization, so no gas is needed.

Use over MCP

The server speaks streamable HTTP (stateless) at POST https://automaton-tx-explainer.vercel.app/mcp. Paid tools use the @x402/mcp payment flow, and a free ping tool is also available.

{ "mcpServers": { "automaton-onchain-tools": { "type": "http", "url": "https://automaton-tx-explainer.vercel.app/mcp" } } }

Run your own

npm install
PAY_TO=0xYourAddress node server.js   # Base Sepolia + x402.org facilitator by default

Environment variables: SOLANA_RPC, PAY_TO, X402_NETWORK (eip155:8453 for mainnet), FACILITATOR_URL (cdp uses CDP_API_KEY_ID / CDP_API_KEY_SECRET), PRICE, PRICE_SMALL, PUBLIC_ORIGIN, BASE_RPC, ETH_RPC, BSC_RPC. Deploys to Vercel as-is (api/index.js).

Data sources

All data comes from free public sources: public RPCs, openchain.xyz signatures, Sourcify, ENS, MetaMask eth-phishing-detect, Phishing.Database and RDAP.

Risk and safety outputs are heuristics. They are not audits, security advice or financial advice.

License

MIT

Deployed automatically to Vercel from main.

↑↓ navigate openesc close