# Mempool Space — Zapi reference > Recommended fee tiers in sat/vB, as mempool.space's own estimator sees them. **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ content, message, errors }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/finance/mempool-space - Endpoint catalog: https://zpi.web.id/category/finance - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## Mempool Space **Category:** finance · **Slug:** `mempool-space` **Detail page:** https://zpi.web.id/api/finance/mempool-space Recommended fee tiers in sat/vB, as mempool.space's own estimator sees them. **Tags:** finance, mempool-space ### Fees Recommended fee tiers in sat/vB, as mempool.space's own estimator sees them. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:mempool-space/fees` - **Cache TTL:** 60s **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:mempool-space/fees" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:mempool-space/fees", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:mempool-space/fees", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "unit": "sat/vB", "dataset": "fees", "hourFee": 1, "provider": "mempool-space", "economyFee": 1, "fastestFee": 1, "minimumFee": 1, "halfHourFee": 1 } ``` --- ### Blocks The last 15 blocks, decorated with mempool.space's own per-block analysis. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:mempool-space/blocks` - **Cache TTL:** 120s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `height` | number | query | no | Start height. Returns that block and the 14 below it. Omit for the chain tip. | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:mempool-space/blocks?height=963330" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:mempool-space/blocks?height=963330", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:mempool-space/blocks?height=963330", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 15, "items": [ { "bits": 386020669, "date": "2026-08-20T16:13:55.000Z", "hash": "000000000000000000012494c7465e63c75e19b5ea6fac791a9e17deb9b9821b", "size": 1692049, "time": 1787242435, "nonce": 4184907309, "stale": false, "avgFee": 494, "height": 963330, "poolId": 44, "reward": 314443642, "weight": 3994084, "txCount": 3932, "version": 637640704, "feeRange": [ 0, 0, 1, 1, 2, 3, 163 ], "poolName": "AntPool", "poolSlug": "antpool", "avgTxSize": 430.19, "matchRate": 91.02, "medianFee": 1, "totalFees": 1943642, "avgFeeRate": 1, "difficulty": 127479855693691.4, "medianTime": 1787240341, "merkleRoot": "3a862f73950ada239a23900a5af2c1b096897c212c7c9c42af055837f65b1fce", "similarity": null, "totalInputs": 8803, "virtualSize": 998521, "expectedFees": 1983549, "totalOutputs": 8787, "utxoSetChange": -16, "expectedWeight": 3991925, "segwitTotalTxs": 3127, "totalOutputAmt": 916989493513, "coinbaseAddress": "37jKPSmbEGwgfacCr2nayn1wTaqMAbA94Z", "segwitTotalSize": 1554524, "previousBlockHash": "000000000000000000010b9a7c4cd90b904ae75d8a58b7583d24f8546bc3094d", "segwitTotalWeight": 3444092 }, { "bits": 386020669, "date": "2026-08-20T16:10:10.000Z", "hash": "000000000000000000010b9a7c4cd90b904ae75d8a58b7583d24f8546bc3094d", "size": 1687761, "time": 1787242210, "nonce": 497520903, "stale": false, "avgFee": 960, "height": 963329, "poolId": 115, "reward": 315138459, "weight": 3994731, "txCount": 2747, "version": 537919488, "feeRange": [ 0, 0, 1, 2, 2, 4, 74 ], "poolName": "MARA Pool", "poolSlug": "marapool", "avgTxSize": 614.29, "matchRate": 97.92, "medianFee": 2, "totalFees": 2638459, "avgFeeRate": 2, "difficulty": 127479855693691.4, "medianTime": 1787240064, "merkleRoot": "3b8f723ecb4bc3f5f47e8bab0964479c726633d78bf0db82bf9583ffa1cf197b", "similarity": null, "totalInputs": 9417, "virtualSize": 998682.75, "expectedFees": 2860693, "totalOutputs": 6595, "utxoSetChange": -2822, "expectedWeight": 3991950, "segwitTotalTxs": 2474, "totalOutputAmt": 880748033230, "coinbaseAddress": "32i1m6gNcSHwiPX9nfTNXVjme9j5DU8y5g", "segwitTotalSize": 1521952, "previousBlockHash": "000000000000000000007f37c59f2281d657b83257db8788a26572c5e7369b29", "segwitTotalWeight": 3331603 }, { "bits": 386020669, "date": "2026-08-20T16:05:37.000Z", "hash": "000000000000000000007f37c59f2281d657b83257db8788a26572c5e7369b29", "size": 1548015, "time": 1787241937, "nonce": 3099071765, "stale": false, "avgFee": 906, "height": 963328, "poolId": 73, "reward": 315854966, "weight": 3993615, "txCount": 3703, "version": 699105280, "feeRange": [ 0, 1, 2, 3, 3, 5, 105 ], "poolName": "ViaBTC", "poolSlug": "viabtc", "avgTxSize": 417.92, "matchRate": 97.2, "medianFee": 3, "totalFees": 3354966, "avgFeeRate": 3, "difficulty": 127479855693691.4, "medianTime": 1787239225, "merkleRoot": "36fbc55f29dad244a6578994f499d3ce0b39b7990fdcfb5bc61b3056468c243c", "similarity": null, "totalInputs": 7719, "virtualSize": 998403.75, "expectedFees": 3406355, "totalOutputs": 8437, "utxoSetChange": 718, "expectedWeight": 3991908, "segwitTotalTxs": 3301, "totalOutputAmt": 1463544994069, "coinbaseAddress": "1PuJjnF476W3zXfVYmJfGnouzFDAXakkL4", "segwitTotalSize": 1358046, "previousBlockHash": "00000000000000000001ae083ea48f0a77511d01b73c4b27e8e7b77bd4363223", "segwitTotalWeight": 3233847 }, { "bits": 386020669, "date": "2026-08-20T15:59:03.000Z", "hash": "00000000000000000001ae083ea48f0a77511d01b73c4b27e8e7b77bd4363223", "size": 1576510, "time": 1787241543, "nonce": 3391365394, "stale": false, "avgFee": 1085, "height": 963327, "poolId": 111, "reward": 317434742, "weight": 3993112, "txCount": 4547, "version": 537460736, "feeRange": [ 0, 2, 3, 4, 5, 6, 301 ], "poolName": "Foundry USA", "poolSlug": "foundryusa", "avgTxSize": 346.65000000000003, "matchRate": 98.92, "medianFee": 4, "totalFees": 4934742, "avgFeeRate": 4, "difficulty": 127479855693691.4, "medianTime": 1787239084, "merkleRoot": "bead81fc0127a59fda9b9366f2a9c22c5502d368f8f72a3166ab73dc7e8bb38f", "similarity": null, "totalInputs": 7362, "virtualSize": 998278, "expectedFees": 4980508, "totalOutputs": 11810, "utxoSetChange": 4448, "expectedWeight": 3991883, "segwitTotalTxs": 4285, "totalOutputAmt": 1263242911274, "coinbaseAddress": "bc1qwzrryqr3ja8w7hnja2spmkgfdcgvqwp5swz4af4ngsjecfz0w0pqud7k38", "segwitTotalSize": 1494062, "previousBlockHash": "00000000000000000000cb181d3340ebcc9bb3def8fd21e71a8fc5e6e500c2b6", "segwitTotalWeight": 3663428 }, { "bits": 386020669, "date": "2026-08-20T15:39:27.000Z", "hash": "00000000000000000000cb181d3340ebcc9bb3def8fd21e71a8fc5e6e500c2b6", "size": 1715125, "time": 1787240367, "nonce": 2187032938, "stale": false, "avgFee": 372, "height": 963326, "poolId": 73, "reward": 313786694, "weight": 3993529, "txCount": 3457, "version": 536944640, "feeRange": [ 0, 0, 1, 1, 1, 1, 60 ], "poolName": "ViaBTC", "poolSlug": "viabtc", "avgTxSize": 496, "matchRate": 94.59, "medianFee": 1, "totalFees": 1286694, "avgFeeRate": 1, "difficulty": 127479855693691.4, "medianTime": 1787238880, "merkleRoot": "35142a559442b7c4a1bb0d8b55edebe3cfa506ba36997421a03983d2c12bebfe", "similarity": null, "totalInputs": 8966, "virtualSize": 998382.25, "expectedFees": 1303252, "totalOutputs": 6963, "utxoSetChange": -2003, "expectedWeight": 3991896, "segwitTotalTxs": 3196, "totalOutputAmt": 671518441880, "coinbaseAddress": "1PuJjnF476W3zXfVYmJfGnouzFDAXakkL4", "segwitTotalSize": 1570440, "previousBlockHash": "00000000000000000001cf93d5567acdbcf00d32bc9e160dffc625949774b9b2", "segwitTotalWeight": 3414897 }, { "bits": 386020669, "date": "2026-08-20T15:39:01.000Z", "hash": "00000000000000000001cf93d5567acdbcf00d32bc9e160dffc625949774b9b2", "size": 1600039, "time": 1787240341, "nonce": 1935619878, "stale": false, "avgFee": 897, "height": 963325, "poolId": 102, "reward": 315722504, "weight": 3993655, "txCount": 3592, "version": 536936448, "feeRange": [ 0, 1, 2, 2, 3, 5, 200 ], "poolName": "SpiderPool", "poolSlug": "spiderpool", "avgTxSize": 445.3, "matchRate": 99.03, "medianFee": 2, "totalFees": 3222504, "avgFeeRate": 3, "difficulty": 127479855693691.4, "medianTime": 1787238429, "merkleRoot": "c539da26f745fd83c905ef7220a51812f8f89abd9977f4886fa2df3c79290255", "similarity": null, "totalInputs": 8655, "virtualSize": 998413.75, "expectedFees": 3223292, "totalOutputs": 7943, "utxoSetChange": -712, "expectedWeight": 3991764, "segwitTotalTxs": 3174, "totalOutputAmt": 921523360758, "coinbaseAddress": "1BM1sAcrfV6d4zPKytzziu4McLQDsFC2Qc", "segwitTotalSize": 1390155, "previousBlockHash": "000000000000000000022f062782ab666902fda1b880ec7ce12b76193b622ccc", "segwitTotalWeight": 3154227 }, { "bits": 386020669, "date": "2026-08-20T15:34:24.000Z", "hash": "000000000000000000022f062782ab666902fda1b880ec7ce12b76193b622ccc", "size": 1598037, "time": 1787240064, "nonce": 2501336116, "stale": false, "avgFee": 1105, "height": 963324, "poolId": 44, "reward": 317507570, "weight": 3994074, "txCount": 4532, "version": 544079872, "feeRange": [ 0, 2, 3, 4, 5, 6, 302 ], "poolName": "AntPool", "poolSlug": "antpool", "avgTxSize": 352.49, "matchRate": 98.35, "medianFee": 4, "totalFees": 5007570, "avgFeeRate": 5, "difficulty": 127479855693691.4, "medianTime": 1787235905, "merkleRoot": "bd851bfe999ca91f8e9064a7600ca82ce686aa658d261505a3bbabc37d8cf0de", "similarity": null, "totalInputs": 7660, "virtualSize": 998518.5, "expectedFees": 5102042, "totalOutputs": 11360, "utxoSetChange": 3700, "expectedWeight": 3991893, "segwitTotalTxs": 4211, "totalOutputAmt": 1566054329974, "coinbaseAddress": "37jKPSmbEGwgfacCr2nayn1wTaqMAbA94Z", "segwitTotalSize": 1515137, "previousBlockHash": "00000000000000000001bb8da6308e5994a943ca1dfb30bfbc7575a487d736c0", "segwitTotalWeight": 3662582 }, { "bits": 386020669, "date": "2026-08-20T15:20:25.000Z", "hash": "00000000000000000001bb8da6308e5994a943ca1dfb30bfbc7575a487d736c0", "size": 1548415, "time": 1787239225, "nonce": 3459762381, "stale": false, "avgFee": 894, "height": 963323, "poolId": 44, "reward": 314996382, "weight": 3993928, "txCount": 2793, "version": 638132224, "feeRange": [ 0, 2, 2, 2, 2, 3, 106 ], "poolName": "AntPool", "poolSlug": "antpool", "avgTxSize": 554.19, "matchRate": 93.59, "medianFee": 2, "totalFees": 2496382, "avgFeeRate": 2, "difficulty": 127479855693691.4, "medianTime": 1787235519, "merkleRoot": "e92af7ac9ccddfe04261334686fd3eb35fd25b653cd5b28c8dd3df3c2a08bf66", "similarity": null, "totalInputs": 8457, "virtualSize": 998482, "expectedFees": 2617355, "totalOutputs": 6300, "utxoSetChange": -2157, "expectedWeight": 3991687, "segwitTotalTxs": 2548, "totalOutputAmt": 754662897109, "coinbaseAddress": "37jKPSmbEGwgfacCr2nayn1wTaqMAbA94Z", "segwitTotalSize": 1240188, "previousBlockHash": "00000000000000000001b526d9c88a240b124f0b2e406b413627ac76cbe4973a", "segwitTotalWeight": 2761128 } ], "height": 963330, "dataset": "blocks", "provider": "mempool-space" } ``` --- ### Mempool Pending transactions and the fee-rate histogram behind them. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:mempool-space/mempool` - **Cache TTL:** 60s **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:mempool-space/mempool" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:mempool-space/mempool", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:mempool-space/mempool", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 226, "items": [ { "vsize": 93728, "feeRate": 5.0099845 }, { "vsize": 51246, "feeRate": 2.8633094 }, { "vsize": 54421, "feeRate": 2 }, { "vsize": 62099, "feeRate": 1.005336 }, { "vsize": 50137, "feeRate": 0.70642203 }, { "vsize": 50840, "feeRate": 0.5343321 }, { "vsize": 52056, "feeRate": 0.5043951 }, { "vsize": 52014, "feeRate": 0.500987 } ], "vsize": 43778589, "dataset": "mempool", "txCount": 84482, "provider": "mempool-space", "totalFee": 8637374 } ``` --- ### Difficulty Adjustment Retarget progress and the difficulty change mempool.space projects from it. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:mempool-space/difficulty-adjustment` - **Cache TTL:** 120s **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:mempool-space/difficulty-adjustment" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:mempool-space/difficulty-adjustment", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:mempool-space/difficulty-adjustment", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "dataset": "difficulty-adjustment", "provider": "mempool-space", "timeOffset": 0, "previousDate": "2026-08-08T19:35:55.000Z", "previousTime": 1786217755, "expectedBlocks": 1768.8733333333332, "timeAvgSeconds": 609, "progressPercent": 86.5079365079365, "remainingBlocks": 272, "difficultyChange": -1.3496349842272548, "previousRetarget": 0.9889358055576736, "remainingSeconds": 165528, "nextRetargetHeight": 963648, "estimatedRetargetDate": "2026-08-23T00:23:26.504Z", "estimatedRetargetTime": 1787444607, "adjustedTimeAvgSeconds": 609 } ``` --- ### Fee Projection The blocks mempool.space projects from the current mempool, by fee band. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:mempool-space/fee-projection` - **Cache TTL:** 60s **Parameters:** _No parameters._ **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:mempool-space/fee-projection" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:mempool-space/fee-projection", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:mempool-space/fee-projection", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "unit": "sat/vB", "count": 8, "items": [ { "txCount": 5458, "feeRange": [ 0.5004868549172347, 0.5029596412556053, 0.5058749663646964, 0.5320310255673657, 0.5946145333825157, 1.019225839528326, 30.54054054054054 ], "blockSize": 1605900, "medianFee": 0.5322800718132853, "totalFees": 1153306, "blockIndex": 0, "blockVsize": 997950 }, { "txCount": 3215, "feeRange": [ 0.41651705565529623, 0.41759319816873774, 0.41759319816873774, 0.43198191835004945, 0.452189949285385, 0.4853376378800108, 0.5008757456530016 ], "blockSize": 2082583, "medianFee": 0.4320060088865006, "totalFees": 444893, "blockIndex": 1, "blockVsize": 997999 }, { "txCount": 7165, "feeRange": [ 0.3838383838383838, 0.41651705565529623, 0.41651705565529623, 0.41651705565529623, 0.41651705565529623, 0.41656104773975494, 0.41756594724220625 ], "blockSize": 1583481, "medianFee": 0.4165170556552962, "totalFees": 415722, "blockIndex": 2, "blockVsize": 997993.5 }, { "txCount": 6938, "feeRange": [ 0.3832752613240418, 0.38640236792537447, 0.3962703962703963, 0.4022266115999282, 0.41651705565529623, 0.41651705565529623, 0.41651705565529623 ], "blockSize": 1590664, "medianFee": 0.4096576576576578, "totalFees": 403880, "blockIndex": 3, "blockVsize": 997987 }, { "txCount": 419, "feeRange": [ 0.3487544483985765, 0.3700719424460432, 0.3700719424460432, 0.3700719424460432, 0.3817427385892116, 0.3861945316001793, 0.38626378552855734 ], "blockSize": 1037107, "medianFee": 0.3749687560752076, "totalFees": 374388, "blockIndex": 4, "blockVsize": 997973.5 }, { "txCount": 60, "feeRange": [ 0.21212121212121213, 0.3314805457301668, 0.34197333333333335, 0.34197333333333335, 0.3493603881782091, 0.37402867234573034, 0.37490628384194596 ], "blockSize": 1048847, "medianFee": 0.37402867234573034, "totalFees": 372841, "blockIndex": 5, "blockVsize": 997991.75 }, { "txCount": 252, "feeRange": [ 0.2949852507374631, 0.2966292134831461, 0.2980618124672603, 0.3000475963826749, 0.30205949656750575, 0.3143631436314363, 0.350679931712486 ], "blockSize": 2999333, "medianFee": 0.30007109045827335, "totalFees": 313519, "blockIndex": 6, "blockVsize": 997893.5 }, { "txCount": 60988, "feeRange": [ 0.09973274888411843, 0.10364055970076447, 0.10500230998134744, 0.12021287065004276, 0.12021287065004277, 0.13023565659089015, 0.13023565659089018, 0.13023565659089018 ], "blockSize": 112784000, "medianFee": 0.13023565659089015, "totalFees": 5163610, "blockIndex": 7, "blockVsize": 36822692.75 } ], "dataset": "fee-projection", "provider": "mempool-space" } ``` --- _Generated: 2026-08-21T07:37:47.636Z_