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/bortlesboat/bitcoin-api/claude-mdgit clone --depth 1 https://github.com/Bortlesboat/bitcoin-apiWhat 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.03483 | $0.03483 |
| Opus 5 | $0.01741 | $0.01741 |
| Sonnet 5 | $0.00697 | $0.00697 |
| Haiku 4.5 | $0.00348 | $0.00348 |
Grade A, and why
bitcoin-api 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 — 184 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Satoshi API -- Project Instructions
Messaging (MANDATORY — Any-Limit Filter)
Every customer-facing claim must answer: "Does it make money, save money, or save time?"
- NEVER lead with endpoint counts ("78 endpoints") in headlines, taglines, or selling points
- NEVER use "analyzed data" or "production-grade" as a primary value proposition
- ALWAYS lead with outcomes: "save money on fees", "know when to send", "stop watching block explorers"
- Product positioning: "Bitcoin fee intelligence that saves you money on every transaction"
- Endpoint counts are fine in technical reference sections (sprint tables, API surface docs)
scripts/marketing_sync.pyenforces this — it flags endpoint-count selling points and "analyzed data" usage
Source: Reddit u/Any-Limit-7282 feedback, adopted as company strategy Mar 8, 2026.
Scope of Work (MANDATORY)
docs/SCOPE_OF_WORK.md is the canonical project document. It MUST be updated with every change.
After any code change, documentation update, or architectural decision:
- Update the relevant section(s) in
docs/SCOPE_OF_WORK.md - If adding/removing endpoints: update Section 3 (API Surface)
- If adding/removing files: update Section 6 (Deliverables)
- If fixing bugs or addressing review findings: update Section 5.2 (Critical Issues Fixed)
- If changing security controls: update Section 4 (Security Model)
- If test count changes: update Section 6.1 (sprint table totals)
- If adding known limitations: update Section 5.3
- If deployment steps change: update Section 7
The SOW is the single source of truth for what this project is, what it does, and what state it's in. Treat it like a living design doc, not a one-time artifact.
Architecture
- Stack: FastAPI + bitcoinlib-rpc + SQLite (WAL mode)
- Entry point:
src/bitcoin_api/main.py - Config: Pydantic Settings from env vars (
config.py), RPC password isSecretStr - Auth: API key via
X-API-Keyheader, tier-based (anonymous/free/pro/enterprise). Anonymous: lightweight GET only. Free+: expensive GET (mining/stats/whale-stream). Block caps: anon/free=144, pro=1008, enterprise=2016. Helpers:require_api_key(),cap_blocks_param()inauth.py. - Rate limiting: Sliding window (in-memory or Upstash Redis) + daily (DB-backed)
- Caching: Per-cache locks, reorg-safe depth awareness, bounded LRU for hash mappings
- External services (all optional, default disabled): Upstash Redis (rate limit persistence), Resend (transactional email), PostHog (landing page analytics). API functions fully without any of them.
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 · 184 lines · 3,483 tokens per session scan A 30e518eadb02
bitcoin-api CLAUDE.md is an instructions file published in the GitHub repository Bortlesboat/bitcoin-api (5 stars, last pushed 25d ago), licensed Apache-2.0. It adds 3,483 tokens to every session, about $0.0174 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
ccxt CLAUDE.md
Claude Code instructions for ccxt/ccxt, covering ccxt — repository guide for contributors and ai agents, 1. architecture, rest vs pro (websocket), per-language model and two transpilers.
Get-Started-with-Web3 AGENTS.md
Instructions for beihaili/Get-Started-with-Web3, covering get started with web3 agent notes, 项目定位, ceo 运营目标, 常用命令 and ai-native 内容层.
raspibolt CLAUDE.md
Instructions for raspibolt/raspibolt, covering raspibolt: development guidelines, working rules, autonomy model, level 0: autonomous and level 1: inform.
ccxt AGENTS.md
AGENTS.md instructions for ccxt/ccxt, a project described as: A unified trading API with more than 100 crypto exchanges and prediction markets in JavaScript / TypeScript / Python / C# / PHP / Go / Java.
bitcoin-mcp copilot-instructions.md
Instructions for Bortlesboat/bitcoin-mcp, covering bitcoin-mcp copilot instructions, rules, satoshi api reference and verification.
bitcoin-mcp AGENTS.md
Instructions for Bortlesboat/bitcoin-mcp, covering bitcoin-mcp — mcp server for bitcoin, what this is, key files, tool categories (all in server.py) and development rules.