ChainPulse
15 minutes of manual research → 5 seconds in your terminal.
ChainPulse is an AI-powered CLI that answers questions about the Bitcoin network using real-time on-chain data. Ask in plain English, get structured analysis.
$ chainpulse "What's happening with fees right now?"
╭─────────────────────── ⚡ ChainPulse ────────────────────────╮
│ │
│ ## Current Fee Rates │
│ │
│ | Priority | Target | Fee Rate | │
│ |-------------|---------|------------| │
│ | Next block | 1 block | 12.3 sat/vB| │
│ | Normal | 3 block | 8.1 sat/vB | │
│ | Economy | 6 block | 4.2 sat/vB | │
│ | Low | 25 block| 2.0 sat/vB | │
│ │
│ **Recommendation:** Fees are moderate. A typical 1-in/2-out │
│ SegWit transaction costs ~1,700 sats ($1.80) at normal │
│ priority. The mempool is clearing — waiting 2-3 blocks │
│ could save ~40%. │
│ │
╰────────────── Data: bitcoinsapi.com · block 939,462 ─────────╯
Install
pip install chainpulse
Setup
You need an Anthropic API key:
export ANTHROPIC_API_KEY=sk-ant-...
Verify everything works:
chainpulse --check
# ✓ API key valid, Satoshi API reachable (block 939,462)
Usage
Single Query
chainpulse "Should I send my transaction now or wait?"
chainpulse "Give me a complete network health check"
chainpulse "How congested is the mempool?"
Interactive Mode
chainpulse -i
╭─── ⚡ ChainPulse Interactive Mode ───╮
│ Ask anything about the Bitcoin │
│ network. Type quit to exit. │
╰──────────────────────────────────────╯
chainpulse> What's the current hashrate?
→ Fetching Mining Info...
→ Analyzing...
[response panel]
chainpulse> quit
How It Works
- You ask a question in plain English
- An AI agent selects the right on-chain data sources
- Real-time data is fetched from the Bitcoin network
- The agent synthesizes a structured analysis
- Rich terminal output makes it screenshot-worthy
10 built-in data sources: fee estimates, fee recommendations, fee landscape analysis, mempool stats, mempool analysis, latest block, BTC price, mining stats, supply data, and network info.
Configuration
| Variable | Required | Default | Description |
|---|---|---|---|
ANTHROPIC_API_KEY |
Yes | — | Your Anthropic API key |
CHAINPULSE_API_URL |
No | https://bitcoinsapi.com |
Custom API endpoint |
CHAINPULSE_MODEL |
No | claude-sonnet-4-20250514 |
Anthropic model to use |
Example Queries
Fees & Timing
- "What are current fee rates?"
- "Should I send now or wait?"
- "How much would a 2-input transaction cost?"
Network Health
- "Full network health check"
- "Current hashrate and difficulty"
- "When is the next halving?"
Mempool
- "How congested is the mempool?"
- "What's the next-block minimum fee?"
Market + On-Chain
- "Bitcoin price with network context"
- "Is this a good time to consolidate UTXOs?"
Development
git clone https://github.com/Bortlesboat/chainpulse
cd chainpulse
pip install -e ".[dev]"
pytest
ruff check src/ tests/
License
MIT
For informational purposes only. Not financial advice.
Metadata
Release files for chainpulse 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| chainpulse-0.1.0.tar.gz | 12.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chainpulse-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.7 kB
Release files / chainpulse-0.1.0.tar.gz
| Download URL | chainpulse-0.1.0.tar.gz |
|---|---|
| Size | 12.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
26d5654e0c3be1203b5423216ba13b000209858fa532db9ebaebfac5c1889482
|
|
BLAKE2b-256 checksum How to use checksums |
c8316929c8877eb8274d95776483a75ff4a50b55331f25e504303ccd776b1b04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / chainpulse-0.1.0-py3-none-any.whl
| Download URL | chainpulse-0.1.0-py3-none-any.whl |
|---|---|
| Size | 11.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
380bb9f650887a68a36e95c50cc783a19837ff38d5dc41fa28ba4361fe6f53d7
|
|
BLAKE2b-256 checksum How to use checksums |
11147a08e18df799d661d49a57063c943c7963eb974b8b22323dfd43176abc93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for chainpulse 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.