intel_wallet
Aggregate wallet intelligence across Base, Ethereum, and Solana in a single call. Retrieve balances, USDC holdings, transaction count, ENS/SNS resolution, and sanctions verdict for KYB, counterparty research, or fraud detection.
Instructions
Unified wallet intelligence bundle. ONE call returns balances on Base + Ethereum + Solana, USDC across chains, transaction count, ENS/SNS reverse lookup, and sanctions verdict — all aggregated from 8–10 parallel free public sources. Replaces a wallet-investigation script with a single $0.005 call. Use for KYB pre-flight, counterparty research, fraud detection. $0.005 USDC.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| wallet | Yes | EVM 0x… address (40 hex) or Solana base58 pubkey. |
Implementation Reference
- index.js:188-199 (schema)Schema/definition of the intel_wallet tool: name, description, and inputSchema requiring a 'wallet' string (EVM 0x… address or Solana base58 pubkey).
{ name: "intel_wallet", description: "Unified wallet intelligence bundle. ONE call returns balances on Base + Ethereum + Solana, USDC across chains, transaction count, ENS/SNS reverse lookup, and sanctions verdict — all aggregated from 8–10 parallel free public sources. Replaces a wallet-investigation script with a single $0.005 call. Use for KYB pre-flight, counterparty research, fraud detection. $0.005 USDC.", inputSchema: { type: "object", properties: { wallet: { type: "string", description: "EVM 0x… address (40 hex) or Solana base58 pubkey." }, }, required: ["wallet"], }, }, - index.js:68-200 (registration)The TOOLS array where intel_wallet is registered alongside all other tools (line 189).
const TOOLS = [ { name: "anchor_hash", description: "Anchor a 32-byte hash to BOTH Base mainnet (as EIP-1559 calldata) and Solana mainnet (via the Memo program) in a single call. Returns both transaction hashes plus block-explorer URLs as cryptographic proof of when the hash existed. Pure infrastructure — no opinions about content. Use for DAO vote receipts, AI decision attestations, contract notarization, scientific data integrity, audit trails. $0.005 USDC.", inputSchema: { type: "object", properties: { hash: { type: "string", description: "Pre-computed 32-byte hex hash (64 chars, no 0x prefix). Mutually exclusive with `data`.", }, data: { description: "Arbitrary JSON to be canonicalized + SHA-256'd by the server. Mutually exclusive with `hash`.", }, note: { type: "string", description: "Optional 200-char note included in the response (NOT on-chain).", }, }, }, }, { name: "screen_wallet", description: "Sanctions + AML screening for any EVM or Solana wallet address. Returns sanctions match (boolean), specific OFAC SDN programs flagged (Tornado Cash, Lazarus Group, Hydra Market, Garantex, Blender.io etc.), inferred chain, and a low/medium/high risk verdict. Use for AML pre-flight checks before any treasury transfer, KYC onboarding, vendor diligence, payroll wallet verification, marketplace counterparty checks. $0.001 USDC.", inputSchema: { type: "object", properties: { wallet: { type: "string", description: "EVM 0x… address (40 hex) or Solana base58 pubkey.", }, }, required: ["wallet"], }, }, { name: "attest_decision", description: "Verify a wallet signature over (input_hash, output_hash, decision) with domain separation, then dual-chain anchor the resulting Merkle root on Base and Solana mainnet. Returns the verified signer plus on-chain proof URLs. Use when an AI agent's decision needs a cryptographic, auditable receipt — autonomous trade approvals, AI-assisted contract decisions, model-output attestation for liability records. $0.010 USDC.", inputSchema: { type: "object", properties: { input_hash: { type: "string", description: "64-char hex SHA-256 of the agent's input." }, output_hash: { type: "string", description: "64-char hex SHA-256 of the agent's output / decision payload." }, decision: { type: "string", description: 'Free-form short label, e.g. "APPROVED", "REJECTED", "CONFIDENCE=0.93" (max 64 chars).' }, scheme: { type: "string", enum: ["eip191", "ed25519"], description: "Signature scheme." }, signature: { type: "string", description: "0x-prefixed hex (eip191) or base58 (ed25519)." }, signer_pubkey: { type: "string", description: "Required for ed25519 (Solana base58 pubkey)." }, }, required: ["input_hash", "output_hash", "decision", "scheme", "signature"], }, }, { name: "decode_tx", description: "Structured decode of any mainnet transaction by hash. Supply chain ('base' | 'ethereum' | 'solana') and tx_hash. Returns from/to/value/gas/status/calldata for EVM, or slot/fee/signers/program_calls for Solana. Mined txs cached in-process. Use for tx inspection, audit, agent UX (rendering tx summaries to users). $0.001 USDC.", inputSchema: { type: "object", properties: { chain: { type: "string", enum: ["base", "ethereum", "solana"] }, tx_hash: { type: "string", description: "EVM 0x+64hex or Solana base58 signature." }, }, required: ["chain", "tx_hash"], }, }, { name: "resolve_name", description: "Cross-chain name resolution. Pass a name like 'vitalik.eth' or 'bonfida.sol' and get back the resolved address(es) across supported registries. Currently supports ENS (.eth) and Bonfida SNS (.sol). Cached 1h server-side. $0.001 USDC.", inputSchema: { type: "object", properties: { name: { type: "string", description: "Human-readable name, e.g. 'vitalik.eth' or 'bonfida.sol'." }, }, required: ["name"], }, }, { name: "token_price", description: "USD spot price for any major token. Pass either `symbol` (BTC, ETH, SOL, USDC, etc.) OR (chain + contract). Returns USD price, 24h change percent, market cap, fetched-at timestamp. CoinGecko-backed, cached 60s. $0.001 USDC.", inputSchema: { type: "object", properties: { symbol: { type: "string", description: "Token symbol like 'ETH'. Mutually exclusive with chain+contract." }, chain: { type: "string", description: "Chain slug: base, ethereum, solana, polygon, arbitrum, optimism, bsc, avalanche." }, contract: { type: "string", description: "Token contract address. Required with chain." }, }, }, }, { name: "decode_calldata", description: "Decode raw EVM calldata into a human-readable function name, canonical signature, and typed parameter values. Resolves the 4-byte selector against openchain.xyz's signature directory, then ABI-decodes the args. Use for tx inspection before signing, mempool analysis, debug. EVM-only (chain='ethereum'); 'solana' returns 400. $0.001 USDC.", inputSchema: { type: "object", properties: { chain: { type: "string", enum: ["ethereum", "solana"], description: "EVM-only; 'solana' returns 400." }, calldata_hex: { type: "string", description: "Raw EVM calldata (>=4 byte selector), with or without 0x prefix." }, contract_address: { type: "string", description: "Optional. Reserved for future on-chain ABI lookups." }, }, required: ["chain", "calldata_hex"], }, }, { name: "parse_datetime", description: "Parse any freeform datetime string ('tomorrow at noon', 'yesterday', '2026-05-13T15:30Z', 'in 2 hours') into a fully structured normalized form: ISO 8601, unix epoch, components (year/month/day/hour/min/sec/weekday), relative seconds + human form, confidence score. Saves agent LLM tokens on date parsing. $0.001 USDC.", inputSchema: { type: "object", properties: { input: { type: "string", description: "Freeform datetime string." }, base_time: { type: "string", description: "Optional ISO 8601 reference; defaults to now UTC." }, timezone: { type: "string", description: "Optional IANA tz name (e.g. 'America/New_York'); defaults to UTC." }, }, required: ["input"], }, }, { name: "intel_wallet", description: "Unified wallet intelligence bundle. ONE call returns balances on Base + Ethereum + Solana, USDC across chains, transaction count, ENS/SNS reverse lookup, and sanctions verdict — all aggregated from 8–10 parallel free public sources. Replaces a wallet-investigation script with a single $0.005 call. Use for KYB pre-flight, counterparty research, fraud detection. $0.005 USDC.", inputSchema: { type: "object", properties: { wallet: { type: "string", description: "EVM 0x… address (40 hex) or Solana base58 pubkey." }, }, required: ["wallet"], }, }, ]; - index.js:292-296 (handler)Handler in buildRequest: maps 'intel_wallet' to a GET request at /v1/intel/wallet?wallet={args.wallet}.
case "intel_wallet": return { url: `${BASE_URL}/v1/intel/wallet?${new URLSearchParams({ wallet: args.wallet })}`, opts: { method: "GET" }, }; - index.js:302-343 (handler)The CallToolRequestSchema handler that invokes buildRequest and sends the request via paidFetch, returning JSON or error.
server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args = {} } = request.params; let req; try { req = buildRequest(name, args); } catch (err) { return { content: [{ type: "text", text: `Error: ${err.message}` }], isError: true, }; } try { const res = await paidFetch(req.url, req.opts); if (res.status === 402) { const body = await res.text().catch(() => ""); const msg = paymentEnabled ? `Payment failed (402). The wallet may be out of USDC on Base, or the x402 facilitator rejected the payload.\n\nResponse body: ${body.slice(0, 300)}` : `Payment required (402). Set ANCHOR_WALLET_PRIVATE_KEY in your MCP config so this server can pay automatically:\n\n "env": {\n "ANCHOR_WALLET_PRIVATE_KEY": "0xYOUR_BASE_WALLET_PRIVATE_KEY"\n }\n\nFund the wallet with USDC on Base (any amount > $0.05 is plenty). The wallet pays $0.001–$0.010 per call.\n\nResponse body: ${body.slice(0, 300)}`; return { content: [{ type: "text", text: msg }], isError: true }; } if (!res.ok) { const body = await res.text().catch(() => ""); return { content: [{ type: "text", text: `anchor-x402 returned ${res.status}: ${body.slice(0, 500)}` }], isError: true, }; } const data = await res.json(); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }], }; } catch (err) { return { content: [{ type: "text", text: `anchor-x402 request failed: ${err.message}` }], isError: true, }; } });