Pay-per-request AI — chat, image, video, music, speech — plus live data
(web/X search, prediction markets, Pyth prices, 40+ chain RPC) and any x402-paid endpoint,
all billed from one local USDC wallet. No API keys. No accounts. No subscriptions.
npm install -g @blockrun/cli
blockrun status # wallet auto-detected / created
blockrun fund # top up with USDC on Base
blockrun run nvidia/deepseek-v4-flash "hello" # free model — $0
blockrun --json api POST v1/chat/completions --data '{…}' --quote # price a call WITHOUT payingAgents can't sign up for accounts — but they can sign transactions. Every BlockRun tool bills x402 USDC micropayments from a local wallet (~/.blockrun/.session); this repo is the shared kernel + umbrella entry point that ties the family together:
| Package | What it is |
|---|---|
@blockrun/core |
The kernel every product depends on: single-source wallet resolution, the agent-native {ok,data|error} output contract, config/paths. |
@blockrun/cli |
The blockrun umbrella: ~40 commands (wallet, inference, multimodal, data, generic x402 api/pay, spending guardrails, agent skills) plus gh-style prefix discovery — any blockrun-<x> on PATH becomes blockrun <x>. |
blockrun (umbrella CLI)
route→ClawRouter · agent→Franklin · mcp→BlockRun MCP · codex→clawrouter-codex
│ prefix discovery (blockrun-*)
ClawRouter │ Franklin │ MCP │ codex │ SDKs ← independently installable
└───── all depend on ─────┘
@blockrun/core (one wallet · one payment path · one contract)
- Agent-native: every command emits
{"ok":true,"data":…}/{"ok":false,"error":…}with--format json|table|ndjson|csv;blockrun skills addteaches Claude Code the whole CLI in one step. - Money safety:
--quoteprices any x402 call without paying; per-call cap (default $1) pluslimits/policy/spendguardrails enforced against the real cost ledger. - Composable: sub-products stay independent —
clawrouter,franklin,blockrun-mcpkeep working unchanged; the umbrella is an extra door, not a new lock.
pnpm install
node --import tsx --test packages/*/test/*.test.ts # 39 unit tests
pnpm cli status --json # run the CLI from sourceMIT