Franklin Agent
A wallet-backed CLI that spends USDC on models and tools to execute research, coding, and trading tasks.
- Source repo
- BlockRunAI/Franklin
- Stars
- ★ 563
- Last updated
- today
- License
- Apache-2.0
- Primary language
- TypeScript
- FA score
- 56/100 · Major gaps
At a glance
- How it runs
- Works with
- Platform-specific
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A crypto trader at a terminal wants a BTC or SOL signal based on CoinGecko data and locally calculated RSI, MACD, Bollinger bands, and volatility before reviewing a trade plan.
- Not a fit if
- Teams unwilling to route model and paid-tool calls through the BlockRun Gateway and a USDC wallet.
- Users who need fully offline or local-model operation without USDC on Base or Solana.
- Developers stuck on Node below 20.19 who cannot upgrade their runtime.
- Source review
- 56/100 · Major gaps
What does this agent do, and when should you use it?
Franklin Agent is a TypeScript command-line agent from BlockRun built around a wallet-funded execution loop. Its Smart Router selects among multiple models, while the BlockRun Gateway supplies model, search, image, and other paid services that settle through x402 USDC micropayments. The CLI includes persistent sessions, session search, cost insights, MCP auto-discovery, and a plugin SDK; its wallet configuration and session history can also be used by its VS Code extension and Telegram entry point. Trading is a primary workflow: it retrieves CoinGecko market data, calculates technical indicators locally, and requires approval of structured plans before trades on Jupiter, 0x, or Polymarket. It fits terminal users who want wallet-bounded spending across models and tools and are willing to use the BlockRun gateway.
After a user states an outcome in the franklin CLI, the runtime follows Intent → Smart Router → Tool Use → Spend Control → Result. It can use Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task, ImageGen, MemoryRecall, AskUser, SubAgent, and Trading* tools to inspect and modify files, run commands, retrieve web material, create images, delegate work, and operate trading workflows. TradingSignal fetches market data from CoinGecko and computes RSI, MACD, Bollinger bands, and volatility locally; a real trade first becomes a trade plan with venue, asset, size, slippage, stop condition, rationale, and total spend, then waits for approval. Sessions stream to disk and can be restored or searched with /history, /resume, and /session-search, while /cost and franklin insights report spending. Paid actions settle through wallet-signed x402 micropayments and stop when the wallet balance is exhausted.
- A crypto trader at a terminal wants a BTC or SOL signal based on CoinGecko data and locally calculated RSI, MACD, Bollinger bands, and volatility before reviewing a trade plan.
- A developer wants one command-line session to read src/auth.ts, edit code, run npm test, and expose the cost of each step.
- A researcher needs /goal to compare x402-compatible data APIs within turn and --max-spend limits, with adversarial reviewers checking the evidence behind a completion claim.
- An independent creator wants to generate a startup logo from the CLI through a funded wallet rather than configure an OpenAI API key.
- A user running an always-on machine needs owner-locked Telegram access to resume sessions and send work requests from a phone.
How do you install or deploy this agent?
Node.js 20.19+ is required; the project recommends Node 22 LTS. Install and start:
npm install -g @blockrun/franklinfranklin
Or run without a global installation:
npx @blockrun/franklinFree NVIDIA models are available by default. For paid models and paid tools, run franklin setup base or franklin setup solana, then fund the created wallet address with USDC; use franklin balance to display the address and balance.
How do you use this agent?
Start with franklin, or explicitly select the free profile:
franklin --model freeEnter a task such as “what's BTC looking like today?” or ask it to refactor a file and run tests. Use /model to choose a model, /plan for read-only planning, /execute for execution, and /cost for the session spend; use /goal for longer objectives and /loop for scheduled work. Real trades require review and approval of a trade plan, and approved budgets expire after 15 minutes. For remote access, set TELEGRAM_BOT_TOKEN and TELEGRAM_OWNER_ID, then run franklin telegram.
What are this agent's strengths and limitations?
- Uses wallet balance as a hard budget cap and settles paid actions with x402 USDC micropayments; the documentation describes no monthly fee or overdraft.
- The Smart Router offers auto, eco, premium, and free profiles, and reports model selection, cost, and savings in responses.
- Real-money trading has a non-bypassable trade-plan approval gate, with lifecycle hooks available for daily caps, token blocklists, and spend-ledger vetoes.
- The CLI, VS Code extension, and Telegram channel can share ~/.blockrun/ configuration and session history; sessions persist, resume, and support full-text search.
- Core model and paid-service access runs through the BlockRun Gateway and its wallet flow, so adoption entails that gateway and payment path.
- Paid capabilities depend on USDC on Base or Solana; paid models and tools cannot continue when the balance is empty.
- Node.js 20.19+ is required; the documentation says older Node releases can crash in the Solana dependency path with ERR_REQUIRE_ESM.
- Although trades require approval, the documented execution venues include Jupiter, 0x, and Polymarket, so users still bear responsibility for assessing each proposed trade.
How does this agent compare with similar options?
The project contrasts itself with subscription coding agents, editor IDEs, and chatbots by claiming wallet-native USDC/x402 payments, outcome-based pricing, automatic model routing, and the ability to buy data, search, and image services. Its comparison also names the OpenAI API as a pay-per-call alternative where each attempt is charged.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Franklin Agent This agent | 56 · Major gaps | CLIFreemium | ★ 563 | today | TypeScript | — |
| Codewhale Terminal Coding Agent | 79 · Good | CLIFree + model costs | ★ 41k | today | Rust | OpenAI API · Claude API |
| OMA Open Multi-Agent Runtime | 79 · Good | CLIFree + model costs | ★ 7.1k | 2d ago | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
| Puppetmaster | 73 · Some gaps | CLIFree + model costs | ★ 471 | 1d ago | Python | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
The README and phone-call skill state the call price, wallet charge, intended action, and explicit confirmation requirement; the README also says real trades require approval. Deductions: the supplied source excerpt does not establish general tool permissions, the scope of funds access, or rollback. The claimed trade-plan gate in CLAUDE.md is not backed by implementation evidence in this packet. The README says API keys are stored with mode 0600, but the storage implementation is not supplied, and credential redaction appears only as a problem identified in the design document.
The entry point installs unhandled-error handlers and flushes stats on exit; the README gives a Node version requirement and troubleshooting steps for common startup failures. Deductions: the README's key/wallet fallback description does not fully align with the design document's explicit fallback decisions. Dependencies include a gateway, an external model catalog, and GitHub tarballs, with no availability commitment or offline alternative shown.
Documentation covers CLI, VS Code, desktop beta, research, trading, and content scenarios, and distinguishes wallet from prepaid-key payment. Deductions: the packet does not provide an overall permission matrix despite the broad capability set; some skill triggers such as “plan review” and “wallet analysis” are broad, with no disambiguation guidance.
The README provides quick-start, troubleshooting, payment options, examples, and limitations; LICENSE and package metadata both identify Apache-2.0. Deductions: the supplied material has no complete changelog, and version evidence is limited to the package version and a dated design document. SECURITY.md gives a reporting channel, response targets, and supported-version scope, though publisher identity remains unverified.
Examples show readable research summaries, cost breakdowns, market data, and trade plans, and budget-aware charging could provide practical value. Deductions: these outcomes and model-router savings are primarily product claims without independent results evidence in the packet; the cost-benefit of wallet and pay-per-action use depends on workload and actual usage.
Several README product descriptions are corroborated by the CLI entry point, package configuration, skills, and security policy; the design document labels itself as an implemented design record. Deductions: claims about model count, router training scale, savings, and trade approval lack corresponding implementation or independent corroboration in the supplied source. The design document's recorded probes and decisions are not equivalent to verification of the current implementation.
- This is a static packet review; no code was executed. Verify the claimed trade approvals, spend caps, key storage, and credential redaction against implementation files not included here.
- The phone-call skill places paid calls to real people; check the number, script, local time, and recipient consent before confirming.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
v3.49.25 Franklin Agent 3.49.25
Release notes excerpt
What's Changed * chore(brand): refresh numbers — 117 models, 91 chat, 8 free by @VickyXAI in https://github.com/BlockRunAI/Franklin/pull/239 * chore: bump @blockrun/router-core to 273c2af, release 3.49.25 by @VickyXAI in https://github.com/BlockRunAI/Franklin/pull/243 Full Changelog: https://github.com/BlockRunAI/Franklin/compare/v3.49.24...v3.49.25View on GitHub ↗ -
v3.49.24 Franklin Agent 3.49.24
Release notes excerpt
Upgrade if you use Modal sandboxes. - The price follows the size. The gateways now bill a sandbox above 1 CPU or 1024 MB by the hour for its whole lifetime, never below the flat rate. ModalCreate looked its price up by GPU type alone, so an 8-core T4 would have confirmed and reserved $0.05 and then signed about $0.33. The confirm dialog, the reservation and the usage record now use the same rule. - Correct defaults in the tool text. cpu defaults to 1 and memory to 512 MB. The text said 0.125 and 128.View on GitHub ↗ -
v3.49.23 Franklin Agent 3.49.23
Release notes excerpt
Security fix. Upgrade if you run franklin proxy, franklin daemon or franklin init. - The proxy needs a token. franklin proxy signs a USDC payment from your wallet for every request it forwards, and until now it accepted any request that reached 127.0.0.1. Any other account on the machine, any local program, and any web page served from a local dev server could spend from your wallet through it. The proxy now refuses requests without its token with a 401. The token is created once in ~/.blockrun/proxy-token (owner-only) and is accepted as …View on GitHub ↗
FAQ
Can I start free without a wallet or API key?
Will Franklin place real trades automatically?
How are costs controlled, and what happens when funds run out?
Can I control it from my phone?
Thanks — we use this to improve the page.