Documentación
Mempool and fees
The node's mempool as btcintel mirrors it, the projected next blocks, replacements and fee estimates — projection and node figures kept apart — and the live stream of all of them.
Generated from openapi.yaml (Btcintel native API 0.1.0). Every hash is canonical display order; every answer carries the index and node heights; errors use one envelope — see Semantics.
- GET
/v1/mempool— Recent mempool transactions - GET
/v1/mempool/txids— Txids of the mempool sample - GET
/v1/mempool/stats— Whole-mempool statistics - GET
/v1/mempool/projected— Projected blocks (mempool engine, ADR-0003) - GET
/v1/mempool/replacements— Recent RBF replacements (mempool engine, ADR-0003) - GET
/v1/fees/estimates— Fee recommendations (mempool engine, ADR-0003) - GET
/v1/stream— Live updates (server-sent events, spec M1)
GET /v1/mempool
Recent mempool transactions
Newest 500 entries with fee, vsize and first sighting; totals live in /v1/mempool/stats.
Response 200
Mempool sample.
schema
txidstring — Canonical display byte order.fee_satintegervsizeintegerfee_ratenumber — sat/vB, 2 decimals.first_seenstring (date-time)
Example
curl y jq, en cualquier shell.
curl -s https://api.btcintel.io/v1/mempool | jqGET /v1/mempool/txids
Txids of the mempool sample
Response 200
Canonical txids.
schema
Example
curl y jq, en cualquier shell.
curl -s https://api.btcintel.io/v1/mempool/txids | jqGET /v1/mempool/stats
Whole-mempool statistics
Response 200
Count, vsize, total fee and fee-rate histogram over the full mirrored mempool.
schema
countintegervsizeintegertotal_feeintegerfee_histogramarray of array of number — [fee_rate_bucket_floor_satvb, vsize] pairs, high to low.
Example
curl y jq, en cualquier shell.
curl -s https://api.btcintel.io/v1/mempool/stats | jq '{count, vsize, total_fee}'GET /v1/mempool/projected
Projected blocks (mempool engine, ADR-0003)
The mempool packed into template-sized blocks by effective (ancestor package) fee rate — the getblocktemplate approach. Up to 8 blocks described individually; the rest aggregated under remaining.
Response 200
Projection snapshot (recomputed every ~2 s).
schema
blocksarray of ProjectedBlockntxintegervsizeintegerweightintegertotal_fee_satintegerfee_rangearray of number — [lowest, highest] effective sat/vB in this slice.median_ratenumber — vsize-weighted median of package rates; absent onremaining.
remainingone of — Aggregate past the detailed horizon; fee_range uses base rates there.- ProjectedBlock
ntxintegervsizeintegerweightintegertotal_fee_satintegerfee_rangearray of number — [lowest, highest] effective sat/vB in this slice.median_ratenumber — vsize-weighted median of package rates; absent onremaining.
- null
- ProjectedBlock
remaining_blocksinteger — ceil(remaining weight / block budget).tx_countintegeras_ofstring (date-time)
Errors
501— The mempool engine is not enabled on this deployment (BITCOIN_ZMQ_SEQUENCEunset).503— Engine bootstrapping; retry shortly.
Example
curl y jq, en cualquier shell.
curl -s https://api.btcintel.io/v1/mempool/projected | jq '{remaining_blocks, tx_count, as_of}'GET /v1/mempool/replacements
Recent RBF replacements (mempool engine, ADR-0003)
Replacements observed by outpoint conflict — independent of BIP125 signaling, so full-RBF replacements are included. Newest first.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
limit | query | integer · ≤ 200 · default 25 | — |
Response 200
Replacement events.
schema
txidstring — Canonical display byte order.fee_satintegervsizeintegerratenumber — sat/vB.replacedarray of objecttxidstring — Canonical display byte order.fee_satintegervsizeintegerratenumber
atstring (date-time)
Errors
501— The mempool engine is not enabled on this deployment (BITCOIN_ZMQ_SEQUENCEunset).503— Engine bootstrapping; retry shortly.
Example
curl y jq, en cualquier shell.
curl -s 'https://api.btcintel.io/v1/mempool/replacements?limit=25' | jqGET /v1/fees/estimates
Fee recommendations (mempool engine, ADR-0003)
Derived from the projection's vsize-weighted medians, floored at the node's mempool minimum and monotonic (fastest ≥ half_hour ≥ hour ≥ economy ≥ minimum). The node's estimatesmartfee (targets 1/3/6) rides along under node for comparison — never blended in.
Response 200
Recommendations in sat/vB.
schema
fastestnumber — Median of projected block 1, sat/vB.half_hournumber — Median of projected block 3.hournumber — Median of projected block 6.economynumber — Median of the last detailed block.minimumnumber — Node mempool floor (mempoolminfee).nodeobject — estimatesmartfee sat/vB by target ("1", "3", "6"), for comparison.basisobjecttx_countintegervsizeinteger
as_ofstring (date-time)
Errors
501— The mempool engine is not enabled on this deployment (BITCOIN_ZMQ_SEQUENCEunset).503— Engine bootstrapping; retry shortly.
Example
curl y jq, en cualquier shell.
curl -s https://api.btcintel.io/v1/fees/estimates | jq '{fastest, half_hour, hour}'GET /v1/stream
Live updates (server-sent events, spec M1)
One server-sent event stream of the tip, the mempool, the projection, the fees and the state of up to 16 transactions, from the mempool engine (ADR-0003). Each event's data is one JSON object (the Stream* schemas) whose at is when the engine applied the change. - The stream opens with retry: 3000 and one snapshot per topic and per transaction whose state is known. A transaction the engine does not know (never seen, or in a block before the stream opened) has none: read GET /v1/tx/{txid}. - Then block, mempool, projected and fees (each only when it changed, at most one per reprojection) and tx. - Every event has an id of <boot>-<seq>. There is no replay: Last-Event-ID is ignored and a reconnect gets a fresh snapshot. - A comment line goes out every 15 s. The stream closes after six hours, or once the client falls 16 events behind, and the client reconnects. - Concurrent streams per caller: t0 2, t1 4, t2 and t3 10, t4 50, under a server-wide cap. Opening a stream counts as one request of the quota; events do not.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
topics | query | string | Comma-separated: block, mempool, projected, fees. A stream needs topics or tx (400 otherwise). |
tx | query | string | Up to 16 comma-separated txids. |
Response 200
The stream. Events: snapshot (StreamSnapshot), block (StreamBlockEvent), mempool (StreamMempoolEvent), projected (StreamProjectedEvent), fees (StreamFeesEvent), tx (StreamTxEvent).
Headers: Cache-Control, X-Accel-Buffering
schema
Errors
400— Malformed input (invalid_input).429—quota_exceeded: the caller or the server holds as many streams as allowed (Retry-After: 30), or the caller's request quota ran out.501—not_configured: the mempool engine is not enabled (BITCOIN_ZMQ_SEQUENCEunset), or the stream is off (STREAM_MAX_CLIENTS=0).503— Engine bootstrapping; retry shortly.
Example
Solo curl: -N imprime cada evento según llega. Detenlo con Ctrl-C.
curl -sN 'https://api.btcintel.io/v1/stream?topics=block,fees'