Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/apegurus/web3agent/claude-mdgit clone --depth 1 https://github.com/Apegurus/web3agentWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.01977 | $0.01977 |
| Opus 5 | $0.00988 | $0.00988 |
| Sonnet 5 | $0.00395 | $0.00395 |
| Haiku 4.5 | $0.00198 | $0.00198 |
Grade A, and why
web3agent CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md — web3agent
Web3 MCP proxy server that gives AI agents (Claude Code, Cursor, Windsurf, OpenCode) blockchain capabilities through a single install.
Quick Commands
pnpm run lint # Biome check
pnpm run lint:fix # Biome auto-fix
pnpm run typecheck # tsc --noEmit
pnpm run build # tsup (ESM + DTS)
pnpm test # vitest run (580+ tests)
pnpm test -- --run tests/path/file.test.ts # single test file
All four must pass before committing: pnpm run lint && pnpm run typecheck && pnpm run build && pnpm test
Key Conventions
- ESM only — all imports use
.jsextension (import { foo } from "./bar.js") - stdout is reserved for MCP protocol messages. All logging goes to
process.stderr.write()with module prefix:[module-name] message. Neverconsole.log. - Type safety —
catch (e: unknown)always. No@ts-ignoreor@ts-expect-error.as anyonly with biome-ignore explaining the SDK constraint. - Import style — prefer
import type { Foo }for type-only imports. Group: Node builtins, external packages, internal modules.
Two-Layer Architecture
This package serves two audiences and every feature must work for both:
- MCP tool layer (
src/tools/) — AI agents (Claude Code, Cursor, etc.) discover and call tools via the MCP protocol. Tools are registered insrc/tools/<group>/index.ts. - Programmatic SDK layer (
src/api/,src/index.ts) — downstream projects (e.g. Orbzy)import { ... } from "web3agent"and call functions directly. SDK functions invoke tools viagetRuntime()+invokeAndRequireData(runtime, toolName, params)fromsrc/api/shared.ts.
SDK entry points by domain:
| Domain | File | Pattern | Example |
|---|---|---|---|
| Swaps & bridge | src/api/swaps.ts |
Runtime → tool invocation | getSwapQuote(), executeSameChainSwap() |
| Intents (external signing) | src/api/intents.ts |
Wraps operations.ts |
prepareSwapIntent(), prepareOrderIntent() |
| Orders | src/api/orders.ts |
Runtime → tool invocation | listOrders(), placeOrder(), cancelOrder() |
| Operations (staged) | src/api/operations.ts |
Multi-integration dispatch | prepareOperation(), resumeOperation() |
| Chains | src/api/chains.ts |
Direct + runtime | getChain(), listSupportedChains() |
| Tokens | src/api/tokens.ts |
Direct | resolveToken(), listChainTokens() |
| Simulation | src/api/simulation.ts |
Direct | simulateTransaction() |
| Explorer | src/api/explorer.ts |
Runtime → tool invocation | getAddressInfo(), getTransactionHistory() |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 110 lines · 1,977 tokens per session scan A d987dae4306f
web3agent CLAUDE.md is an instructions file published in the GitHub repository Apegurus/web3agent (1 stars, last pushed 6d ago), licensed MIT. It adds 1,977 tokens to every session, about $0.0099 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
pumpfun-bonkfun-bot CLAUDE.md
Instructions for chainstacklabs/pumpfun-bonkfun-bot, covering agent guide, ground rules, layout, naming inside learning-examples/ and commands.
evmole AGENTS.md
Instructions for cdump/evmole: EVMole extracts structured facts from deployed EVM runtime bytecode.
VaultysClaw CLAUDE.md
Instructions for vaultys/VaultysClaw, covering claude.md, commands, development, demo / simulator and build.
plamen CLAUDE.md
Instructions for PlamenTSV/plamen, covering plamen — security auditor, execution model, reference files and shared.
solana-developer-platform AGENTS.md
Instructions for solana-foundation/solana-developer-platform, covering solana developer platform, repo layout, source of truth, generated files and public vs internal surfaces.
behavioral-prediction-mcp AGENTS.md
Instructions for ChainAware/behavioral-prediction-mcp, covering chainaware subagent index, agent directory, chainaware-wallet-auditor, chainaware-fraud-detector and chainaware-rug-pull-detector.