get-bitcoin-fees

bitcoinsapi.com/get-bitcoin-fees-ahpurb · updated May 21, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$browse install bitcoinsapi.com/get-bitcoin-fees-ahpurb
0 commentsdiscussion
summary

Fetch current Bitcoin fee-rate recommendations (fastest, halfHour, hour, economy, minimum) in sat/vB from the Satoshi API's free /api/v1/fees/recommended endpoint. Read-only HTTP GET — no API key, wallet, or signup required.

skill.md
name
get-bitcoin-fees
title
Get Bitcoin Fee Recommendations (Satoshi API)
description
>- Fetch current Bitcoin fee-rate recommendations (fastest, halfHour, hour, economy, minimum) in sat/vB from the Satoshi API's free /api/v1/fees/recommended endpoint. Read-only HTTP GET — no API key, wallet, or signup required.
website
bitcoinsapi.com
category
crypto-data
tags
- bitcoin - fees - mempool - satoshi-api - x402 - api
source
'browserbase: agent-runtime 2026-05-19'
updated
'2026-05-19'
recommended_method
api
alternative_methods
- method: api rationale: >- Paid /api/v1/fees/now ($0.001 USDC via x402 on Base) returns the same five fee rates plus a 'recommendation' verdict string and 'mempool_pressure' label. Use only when the verdict text is required and an x402 wallet is funded. - method: browser rationale: >- Not useful — the bitcoinsapi.com landing page is marketing only, fee data is exposed only via the JSON endpoint. Skip browser entirely.
verified
false
proxies
false

Get Bitcoin Fee Recommendations from Satoshi API

Purpose

Return current Bitcoin fee-rate recommendations (sat/vB) for five confirmation horizons — next block, half hour, hour, economy, and minimum — by calling the Satoshi API's free /api/v1/fees/recommended endpoint. Backed by a live Bitcoin Core node's estimatesmartfee output. Read-only HTTP GET; no API key, wallet, signup, or cookies required.

When to Use

  • An agent needs a fee-rate snapshot to decide what feerate to attach to an outgoing Bitcoin transaction.
  • "Should I send Bitcoin now or wait?" / "How fast will this confirm at N sat/vB?" / "What's the current mempool fee floor?" questions.
  • Periodic polling for fee-monitoring dashboards or send-or-wait alerts (rate limit is 30 req/min anonymous; register for a free key for 10K/day).
  • As a substitute for mempool.space /api/v1/fees/recommended when you want a second source — Satoshi API uses Bitcoin Core's estimator rather than mempool-block-based heuristics, so values can differ during congestion.

Workflow

The Satoshi API exposes a public, no-auth HTTP/JSON endpoint. Use the API path directly — there is no browser-driving step worth doing, and the response is canonical JSON behind Cloudflare with a 10-second Cache-Control window. The endpoint accepts no query parameters or headers (besides standard Accept: application/json).

  1. Send the request.

    GET https://bitcoinsapi.com/api/v1/fees/recommended
    Accept: application/json
    

    No body, no auth, no cookies. Anonymous tier permits 30 req/min (see X-RateLimit-Limit / X-RateLimit-Remaining response headers). For higher limits register a free key via POST /api/v1/register and send X-API-Key on subsequent calls (10K req/day free tier).

  2. Parse the JSON envelope. The response is wrapped in a top-level { "data": {...}, "meta": {...} } shape:

    {
      "data": {
        "recommendation": "Fees are very low. 1.0 sat/vB should confirm within a day.",
        "estimates": { "1": 1.087, "3": 1.087, "6": 1.0, "25": 1.0, "144": 1.0 },
        "savings_estimate": { "...": "..." }
      },
      "meta": {
        "timestamp": "2026-05-19T04:10:28.815158+00:00",
        "node_height": 950030,
        "chain": "main",
        "syncing": false,
        "cached": true,
        "cache_age_seconds": 0
      }
    }
    
  3. Map the data.estimates object (keyed by Bitcoin Core confirmation target in blocks) onto the requested field names. The numeric values are fee rates in sat/vB:

    • fastestFeedata.estimates["1"] (next block, ~10 min)
    • halfHourFeedata.estimates["3"] (~30 min, 3 blocks)
    • hourFeedata.estimates["6"] (~1 hour, 6 blocks)
    • economyFeedata.estimates["25"] (~4 hours, 25 blocks)
    • minimumFeedata.estimates["144"] (~1 day, 144 blocks)
  4. Fill the meta fields.

    • units"sat/vB" (constant; the API contract is satoshis per virtual byte and is not stated in the response body — the unit is implied by the recommendation text and Bitcoin Core's estimatesmartfee output convention).
    • source"bitcoin-core-estimates" (this is the canonical source string the paid /api/v1/fees/now endpoint advertises for the same upstream; alternatively "bitcoinsapi.com" if you want a provider-level attribution).
    • timestampdata.meta.timestamp (ISO 8601 with microseconds and +00:00 offset).
  5. (Optional) Sanity-check the node is healthy before relying on the result: meta.syncing must be false and meta.node_height should be within ~6 blocks of the current chain tip (https://bitcoinsapi.com/api/v1/status returns full node state if you want a second check).

  6. (Optional, paid) Upgrade to /api/v1/fees/now for richer send-or-wait context (verdict string, mempool-pressure label, plus the same five fee rates already named fastest_fee_sat_vb etc.). This endpoint returns HTTP 402 Payment Required without payment — settle $0.001 USDC on Base via the x402 protocol and resend with a PAYMENT-SIGNATURE header (or just shell out to npx agentcash@latest fetch "https://bitcoinsapi.com/api/v1/fees/now" --payment-network base --max-amount 0.001). The free /fees/recommended endpoint is sufficient for the field set in this skill — only escalate to the paid path when the caller specifically needs the recommendation / mempool_pressure verdict strings or has an x402 wallet ready.

Site-Specific Gotchas

  • Response shape is wrapped in {data, meta} — the five fee rates are NOT top-level fields. Naïvely reading response.fastestFee returns undefined. The actual rates live under data.estimates, keyed by string-encoded block confirmation targets ("1", "3", "6", "25", "144").
  • The confirmation-target keys are strings, not numbers. response.data.estimates[1] works in JavaScript via implicit coercion but fails in strictly-typed languages. Use response["data"]["estimates"]["1"].
  • fastestFee and halfHourFee are frequently equal during low-mempool periods — Bitcoin Core's estimatesmartfee clamps multiple short horizons to the same floor (observed 1.087 sat/vB for both targets 1 and 3 during validation). This is expected behavior, not a bug; do not de-duplicate fields based on equal values.
  • Values are floats, not integers. Free-tier output rounds to ~3 decimal places (e.g. 1.087, not 1). When constructing actual Bitcoin transactions, round up with Math.ceil(rate * 100) / 100 or use the integer floor (1) — paying below the network minrelayfee of 1 sat/vB causes transaction rejection.
  • No units field in the response. The API does not echo a units string; sat/vB is the implicit, hard-coded Bitcoin Core convention. Do not invent a data.units field — hard-code the string "sat/vB" in your output.
  • No source field on the free endpoint either. Only the paid /api/v1/fees/now response carries "source": "bitcoin-core-estimates". For the free endpoint, set source to "bitcoin-core-estimates" (upstream) or "bitcoinsapi.com" (provider) as a constant — the API itself does not declare it.
  • Cloudflare caches the response for 10 s (Cache-Control: public, max-age=10, meta.cached: true). Polling faster than every 10 seconds returns the same payload. Use the meta.timestamp to detect refresh boundaries; do not rely on Date header for freshness.
  • Rate limit is 30 req/min on the anonymous tier. Headers X-RateLimit-Limit: 30 and X-RateLimit-Remaining: N indicate burst capacity; X-RateLimit-Reset is the Unix epoch when the window resets. Exceeding the limit returns HTTP 429. For sustained polling register a free API key (POST /api/v1/register) which grants 10K req/day.
  • X-RateLimit-Daily-Limit: 0 on anonymous calls means "no separate daily cap", not "you're throttled". The per-minute cap is the only constraint without a key.
  • The site responds with an X-Data-Disclaimer header ("For informational purposes only. Not financial advice.") — surfacing this in agent output is polite but not required.
  • /api/v1/fees/now returns 402, not 401 or 403, when unpaid. Treating 402 as an auth error and switching to API-key headers does not help — this is a Coinbase x402 micropayment paywall ($0.001 USDC on Base, eip155:8453), not a key-auth gate. The response body includes the complete PAYMENT-REQUIRED envelope and an agentcash_fetch_command that performs the payment. The free /fees/recommended endpoint provides the same five fee rates; only escalate to /fees/now when the verdict / mempool-pressure verbiage is needed.
  • Don't waste time scraping bitcoinsapi.com HTML — the landing page is a marketing site with no fee data in the DOM; everything useful is at the JSON endpoints. The https://bitcoinsapi.com/api/v1/agent-context and https://bitcoinsapi.com/.well-known/satoshi-agent-context.json URLs return well-structured discovery documents listing every endpoint and recipe.
  • The endpoint is served via Cloudflare with no anti-bot or stealth-detection layer. A residential proxy, captcha solver, or --verified Browserbase session is unnecessary. Plain fetch / curl / requests works from any IP.
  • meta.node_height lags the chain by ~0–2 blocks. During the validation run the node reported height 950030 and syncing: false; if syncing: true ever appears, the estimates may reflect a pre-sync state — fall back to another source.

Expected Output

{
  "fastestFee": 1.087,
  "halfHourFee": 1.087,
  "hourFee": 1.0,
  "economyFee": 1.0,
  "minimumFee": 1.0,
  "units": "sat/vB",
  "source": "bitcoin-core-estimates",
  "timestamp": "2026-05-19T04:10:28.815158+00:00"
}

JSON schema:

{
  "type": "object",
  "required": ["fastestFee", "halfHourFee", "hourFee", "economyFee", "minimumFee", "units", "source", "timestamp"],
  "properties": {
    "fastestFee":  { "type": "number", "description": "Fee rate for next-block confirmation (~10 min), in sat/vB." },
    "halfHourFee": { "type": "number", "description": "Fee rate for ~30-min confirmation (3 blocks), in sat/vB." },
    "hourFee":     { "type": "number", "description": "Fee rate for ~1-hour confirmation (6 blocks), in sat/vB." },
    "economyFee":  { "type": "number", "description": "Fee rate for economy confirmation (~25 blocks, ~4 h), in sat/vB." },
    "minimumFee":  { "type": "number", "description": "Fee rate for minimum-priority confirmation (~144 blocks, ~1 day), in sat/vB." },
    "units":       { "type": "string", "enum": ["sat/vB"], "description": "Constant — Satoshi API does not echo a units field; sat/vB is the Bitcoin Core convention." },
    "source":      { "type": "string", "description": "Upstream estimator, e.g. \"bitcoin-core-estimates\" (preferred) or \"bitcoinsapi.com\" (provider)." },
    "timestamp":   { "type": "string", "format": "date-time", "description": "ISO 8601 UTC timestamp from response meta.timestamp; reflects cache-tick freshness, not wall-clock request time." }
  }
}

When the node reports syncing: true or meta is missing, return the same object with timestamp set to the HTTP Date response header as a fallback, and add an extra "warning": "node syncing" field so the caller can decide whether to retry against a secondary source.

how to use get-bitcoin-fees

How to use get-bitcoin-fees on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add get-bitcoin-fees
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$browse install bitcoinsapi.com/get-bitcoin-fees-ahpurb

The skills CLI fetches get-bitcoin-fees from GitHub repository bitcoinsapi.com/get-bitcoin-fees-ahpurb and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/get-bitcoin-fees

Reload or restart Cursor to activate get-bitcoin-fees. Access the skill through slash commands (e.g., /get-bitcoin-fees) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

Exploratory Data Analysis

Quickly understand datasets, identify patterns, and generate insights

Example

Analyze CSV with 100K rows, identify outliers, visualize correlations, suggest hypotheses

Reduce EDA time from hours to minutes, uncover insights faster

Data Cleaning & Transformation

Write scripts to clean messy data, handle missing values, normalize formats

Example

Generate Python/SQL to fix date formats, impute missing values, remove duplicates

Automate 80% of data preprocessing work

Statistical Analysis

Perform hypothesis testing, regression, and statistical modeling

Example

Run A/B test analysis, calculate confidence intervals, interpret p-values

Get statistically sound analysis without PhD in statistics

Data Visualization

Create charts, dashboards, and visual reports

Example

Generate matplotlib/seaborn code for time series plots, distribution charts, heatmaps

Build presentation-ready visualizations 3x faster

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Python environment (pandas, numpy, matplotlib) or SQL database access
  • Basic understanding of data analysis concepts
  • Sample datasets for testing skill capabilities

Time Estimate

20-40 minutes to set up and run first analysis

Installation Steps

  1. 1.Install data analysis skill using provided command
  2. 2.Prepare a sample dataset (CSV, JSON, or database connection)
  3. 3.Start with descriptive statistics: 'Summarize this dataset'
  4. 4.Progress to visualization: 'Create a scatter plot of X vs Y'
  5. 5.Advanced analysis: 'Run linear regression and interpret results'
  6. 6.Validate outputs: check calculations, verify visualizations make sense
  7. 7.Document analysis workflow for reproducibility

Common Pitfalls

  • Not validating statistical assumptions before applying tests
  • Accepting visualizations without checking data accuracy
  • Overlooking data quality issues (missing values, outliers)
  • Misinterpreting correlation as causation
  • Using wrong statistical test for data distribution
  • Not considering sample size and statistical power

Best Practices

✓ Do

  • +Always validate data quality before analysis
  • +Check statistical assumptions (normality, independence, etc.)
  • +Visualize data before running statistical tests
  • +Document analysis steps for reproducibility
  • +Cross-validate findings with domain experts
  • +Use skill for initial exploration, then dive deeper manually
  • +Save generated code for reuse on similar datasets

✗ Don't

  • Don't trust analysis without verifying data quality
  • Don't apply statistical tests without checking assumptions
  • Don't make business decisions solely on AI-generated analysis
  • Don't ignore outliers without investigating cause
  • Don't skip data validation and sanity checks
  • Don't use for mission-critical financial or medical analysis without expert review

💡 Pro Tips

  • Describe data context: 'This is user behavior data from e-commerce site'
  • Ask for interpretation: 'What does this correlation mean for business?'
  • Request multiple approaches: 'Show 3 ways to handle missing data'
  • Combine AI analysis with domain expertise for best insights
  • Use for rapid prototyping, then refine analysis manually

When to Use This

✓ Use When

Use for exploratory data analysis, data cleaning, statistical testing, visualization prototyping, and learning new analysis techniques. Best for initial exploration and rapid insights.

✗ Avoid When

Avoid for mission-critical financial analysis, medical research requiring regulatory compliance, production ML models, or when deep statistical expertise is required for nuanced interpretation.

Learning Path

  1. 1Basic: descriptive statistics, data cleaning, simple visualizations
  2. 2Intermediate: hypothesis testing, regression, correlation analysis
  3. 3Advanced: time series analysis, clustering, predictive modeling
  4. 4Expert: causal inference, experimental design, advanced statistical methods

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.562 reviews
  • Hana Desai· Dec 28, 2024

    Registry listing for get-bitcoin-fees matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Hana Jain· Dec 28, 2024

    get-bitcoin-fees has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Shikha Mishra· Dec 16, 2024

    Solid pick for teams standardizing on skills: get-bitcoin-fees is focused, and the summary matches what you get after install.

  • Hana Kapoor· Dec 12, 2024

    I recommend get-bitcoin-fees for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Valentina Liu· Dec 12, 2024

    get-bitcoin-fees reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Chinedu White· Dec 8, 2024

    Solid pick for teams standardizing on skills: get-bitcoin-fees is focused, and the summary matches what you get after install.

  • Charlotte Iyer· Dec 4, 2024

    Keeps context tight: get-bitcoin-fees is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Tariq Jain· Nov 27, 2024

    We added get-bitcoin-fees from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Hana Khanna· Nov 19, 2024

    Useful defaults in get-bitcoin-fees — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Hana Smith· Nov 19, 2024

    get-bitcoin-fees fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

showing 1-10 of 62

1 / 7