---
title: "Bitcoin mempool stress index"
method: GET
path: "/v1/network/mempool/stress"
tags: ["market"]
---

# Bitcoin mempool stress index

`GET /v1/network/mempool/stress`

## Request

- Base URL: `https://satoshidata.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://satoshidata.ai/v1/network/mempool/stress`
- Auth: none declared

Free current mempool stress index, with Premium components and hourly history available through Wallet+ or the mempool_stress_history x402 capability.

## Query parameters

- `include_components` boolean
- `history_hours` integer, nullable
- `as_of` string, nullable: Optional ISO 8601 timestamp. Returns the nearest retained mempool-stress snapshot at or before this time; future or out-of-retention timestamps are rejected.

## Headers

- `authorization` string, nullable

## Response `200`

Bitcoin mempool stress index

- union
  - MempoolStressResponse
    - `stress_index` integer, required: Composite stress index. 0=calm, 50=normal, 100=spike.
    - `stress_index_unclamped` number, required: Raw composite stress score before the public 0-100 stress_index clamp is applied.
    - `tier` 'calm' | 'normal' | 'elevated' | 'spike', required: Current mempool-stress severity band derived from stress_index; not a deprecated wallet-risk tier.
    - `anomaly_zscore` number, required: Z-score of current state vs 30-day rolling baseline. Positive = elevated, negative = calmer than baseline.
    - `as_of` string, date-time, required
    - `_meta` ResponseMeta, required
      - `endpoint` string, required
      - `freshness` string, nullable
      - `freshness_semantics` 'internal_refresh' | 'source_poll' | 'claim_made', nullable
      - `source` string, required
      - `price_sats` integer, nullable
      - `price_usd` string, nullable
      - `docs` string, nullable
      - `warnings` ResponseWarning[]
        - `code` string, required
        - `message` string, required
      - `pagination` ResponsePagination
        - `offset` integer, required
        - `limit` integer, required
        - `total_alerts` integer, required
        - `next_offset` integer, nullable, required
        - `has_more` boolean, required
      - `view` 'compact', nullable
      - `bitcoin_backend` string, nullable
      - `beta` boolean, nullable
      - `cache_seconds` integer, nullable
      - `cache_ttl_seconds` integer, nullable
      - `cache_status` string, nullable
      - `cache_age_seconds` number, nullable
      - `cache_cached_at` string, nullable
      - `cached` boolean, nullable
      - `cache_policy` string, nullable
      - `compute_ms` integer, nullable
      - `warning` string, nullable
      - `refresh_warning` string, nullable
      - `last_refresh_started_at` string, nullable
      - `last_refresh_completed_at` string, nullable
      - `last_refresh_status` string, nullable
      - `last_refresh_error` string, nullable
      - `last_refresh_duration_ms` integer, nullable
      - `feature_flag` string, nullable
      - `rollout_state` string, nullable
      - `schema_version` string, nullable
      - `methodology_version` string, nullable
      - `materialized_source` string, nullable
      - `max_hops` integer, nullable
      - `retention` string, nullable
      - `not_compliance_advice` boolean, nullable
      - `future_native_price_mode` string, nullable
      - `future_native_price_note` string, nullable
      - `future_native_quote_endpoint` string, nullable
      - `overview_activity_cache` object, nullable
      - `attribution_confidence` string, nullable
      - `generated_at` string, nullable
      - `last_computed` string, nullable
      - `snapshot_generated_at` string, nullable
      - `snapshot_age_seconds` number, nullable
      - `snapshot_stale_after_seconds` integer, nullable
      - `snapshot_status` string, nullable
      - `history_window_basis` string, nullable
      - `total_blocks_last_24h` integer, nullable
      - `field_semantics` object, nullable
      - `semantic_completeness` object, nullable
    - `beta` true
    - `access` AccessBlock, required
      - `access_tier` 'free' | 'wallet_plus' | 'x402', required
      - `premium_features_included` boolean, required
      - `capability_id` 'mempool_stress_history', nullable
      - `rate_limit` RateLimitState, required
        - `bucket` 'mempool-stress-free' | 'mempool-stress-premium' | 'x402-paid-call', required
        - `limit` integer, nullable, required: Null only for x402 per-call paid path.
        - `remaining` integer, nullable, required: Null only for x402 per-call paid path.
        - `reset_at` string, date-time, nullable, required: Null only for x402 per-call paid path.
      - `upgrade_url` string, uri, nullable
  - MempoolStressPremiumResponse
    - `stress_index` integer, required: Composite stress index. 0=calm, 50=normal, 100=spike.
    - `stress_index_unclamped` number, required: Raw composite stress score before the public 0-100 stress_index clamp is applied.
    - `tier` 'calm' | 'normal' | 'elevated' | 'spike', required: Current mempool-stress severity band derived from stress_index; not a deprecated wallet-risk tier.
    - `anomaly_zscore` number, required: Z-score of current state vs 30-day rolling baseline. Positive = elevated, negative = calmer than baseline.
    - `as_of` string, date-time, required
    - `_meta` ResponseMeta, required
      - `endpoint` string, required
      - `freshness` string, nullable
      - `freshness_semantics` 'internal_refresh' | 'source_poll' | 'claim_made', nullable
      - `source` string, required
      - `price_sats` integer, nullable
      - `price_usd` string, nullable
      - `docs` string, nullable
      - `warnings` ResponseWarning[]
        - `code` string, required
        - `message` string, required
      - `pagination` ResponsePagination
        - `offset` integer, required
        - `limit` integer, required
        - `total_alerts` integer, required
        - `next_offset` integer, nullable, required
        - `has_more` boolean, required
      - `view` 'compact', nullable
      - `bitcoin_backend` string, nullable
      - `beta` boolean, nullable
      - `cache_seconds` integer, nullable
      - `cache_ttl_seconds` integer, nullable
      - `cache_status` string, nullable
      - `cache_age_seconds` number, nullable
      - `cache_cached_at` string, nullable
      - `cached` boolean, nullable
      - `cache_policy` string, nullable
      - `compute_ms` integer, nullable
      - `warning` string, nullable
      - `refresh_warning` string, nullable
      - `last_refresh_started_at` string, nullable
      - `last_refresh_completed_at` string, nullable
      - `last_refresh_status` string, nullable
      - `last_refresh_error` string, nullable
      - `last_refresh_duration_ms` integer, nullable
      - `feature_flag` string, nullable
      - `rollout_state` string, nullable
      - `schema_version` string, nullable
      - `methodology_version` string, nullable
      - `materialized_source` string, nullable
      - `max_hops` integer, nullable
      - `retention` string, nullable
      - `not_compliance_advice` boolean, nullable
      - `future_native_price_mode` string, nullable
      - `future_native_price_note` string, nullable
      - `future_native_quote_endpoint` string, nullable
      - `overview_activity_cache` object, nullable
      - `attribution_confidence` string, nullable
      - `generated_at` string, nullable
      - `last_computed` string, nullable
      - `snapshot_generated_at` string, nullable
      - `snapshot_age_seconds` number, nullable
      - `snapshot_stale_after_seconds` integer, nullable
      - `snapshot_status` string, nullable
      - `history_window_basis` string, nullable
      - `total_blocks_last_24h` integer, nullable
      - `field_semantics` object, nullable
      - `semantic_completeness` object, nullable
    - `beta` true
    - `access` AccessBlock, required
      - `access_tier` 'free' | 'wallet_plus' | 'x402', required
      - `premium_features_included` boolean, required
      - `capability_id` 'mempool_stress_history', nullable
      - `rate_limit` RateLimitState, required
        - `bucket` 'mempool-stress-free' | 'mempool-stress-premium' | 'x402-paid-call', required
        - `limit` integer, nullable, required: Null only for x402 per-call paid path.
        - `remaining` integer, nullable, required: Null only for x402 per-call paid path.
        - `reset_at` string, date-time, nullable, required: Null only for x402 per-call paid path.
      - `upgrade_url` string, uri, nullable
    - `components` MempoolStressComponents, required
      - `top_fee_sat_vb` integer, required: Vault Bitcoin Core 6-block target fee estimate; not the maximum next-block fee bid.
      - `mempool_size_mb` number, required: Vault Bitcoin Core getmempoolinfo bytes divided by 1,000,000.
      - `fee_distribution_p99_sat_vb` integer, required: High-fee stress proxy derived from the 6-block fee target; not an empirical raw-mempool p99.
      - `fee_distribution_p50_sat_vb` integer, required: Stress-model midpoint proxy pinned to at least the 6-block fee target; not an empirical median.
      - `fee_distribution_p10_sat_vb` integer, required: Vault Bitcoin Core mempool minimum fee rounded to sat/vB.
      - `blocks_since_last_clear` integer, required: Estimated blocks worth of pending mempool from simple size/count heuristics; legacy name, not elapsed blocks since an empty mempool.
      - `tx_count_pending` integer, required: Vault Bitcoin Core getmempoolinfo size.
    - `history` MempoolStressHistoryPoint[], required
      - `hour_ts` string, date-time, required
      - `stress_index` integer, required
      - `stress_index_unclamped` number, required
      - `tier` 'calm' | 'normal' | 'elevated' | 'spike', required: Current mempool-stress severity band for this hourly point.
      - `anomaly_zscore` number, required
    - `history_hours` integer, required

## Other responses

- `400`: Bad request.
- `402`: Premium access requires Wallet+ or x402 payment.
- `404`: Resource not found.
- `405`: Method not allowed.
- `422`: Request validation failed.

---

[API](https://skmtc.dev/satoshidata/apis/satoshidata-agent-api.md) · [All operations](https://skmtc.dev/satoshidata/apis/satoshidata-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/satoshidata/apis/satoshidata-agent-api/revisions/9fc9edc41ac4?raw)
