← The evidence ledger
Evidence row 2202002
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://data-calc.x402tookit.com/storage-growth
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 607d418a43bb1a63fb2dc3d338aa6a4c7bccc48a1771caa856c692aa1f3e9f91
- Leaf
- 0xeee65bd3038c5ab02ee67d373bb3f705a04b04b766d0dc7b73403fb46145969b
What was observed
{
"endpoints": [
[
"x402",
"https://data-calc.x402tookit.com/storage-growth"
]
],
"name": "Systems Capacity Calculators",
"owner_address": "0xb531320805c5bed1d46aeadcf4f008fdf172dbda",
"raw": {
"accepts": [
{
"amount": "20000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:8453",
"payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
"scheme": "exact"
},
{
"amount": "20000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM",
"transactionVersions": [
0
]
},
"maxTimeoutSeconds": 300,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "DUPiupXtuox38dcGoXUKer5mAydCzmaHjrbQ66qeEm8s",
"scheme": "exact"
},
{
"amount": "20000",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:137",
"payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
"scheme": "exact"
},
{
"amount": "20000",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:42161",
"payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
"scheme": "exact"
}
],
"description": "Compound storage growth: size after N months, raw capacity with replication and overhead, months to double, months until full.",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"capacity": 500,
"current": 100,
"growthPercentPerMonth": 5,
"months": 12
},
"type": "http"
},
"output": {
"example": {
"asOf": "2026-10-11T20:19:40.759Z",
"atHorizon": {
"logical": 179.585632602213,
"months": 12,
"rawNeeded": 179.585632602213
},
"capacity": {
"installedRaw": 500,
"maxUtilizationPercent": 80,
"monthsUntilFullAt100Percent": 32.99,
"monthsUntilLimit": 28.41,
"usableLimit": 400,
"utilizationAtHorizonPercent": 35.92,
"utilizationNowPercent": 20
},
"degraded": false,
"disclaimer": "Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting.",
"equivalentAnnualGrowthPercent": 79.59,
"growthPercentPerMonth": 5,
"monthsToDouble": 14.21,
"notChecked": [
"real growth, which is rarely smooth (launches, migrations, retention changes)",
"compression and deduplication ratios",
"…2 more"
],
"rawMultiplier": 1,
"reasons": [
"size(t) = current x (1 + g)^t; months to double = ln 2 / ln(1 + g); months to limit = ln(limit / start) / ln(1 + g).",
"Raw capacity multiplies logical size by the replication factor and by (1 + overhead)."
],
"source": "computed locally (compound growth)",
"summary": "100 growing 5% per month reaches 179.59 after 12 months (179.59 raw with replication x1); about 80% per year, doubling every 14.2 months. Reaches 80% of 500 in 28.4 months.",
"timeline": [
{
"logical": 105,
"month": 1,
"rawNeeded": 105
},
{
"logical": 115.7625,
"month": 3,
"rawNeeded": 115.7625
}
],
"verdict": "FITS_HORIZON"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"capacity": {
"description": "Installed raw capacity (same unit): adds months until it is full",
"type": "number"
},
"current": {
"description": "Current data size (any unit, e.g. TB); results use the same unit",
"type": "number"
},
"growthPercentPerMonth": {
"description": "Compound growth per month in percent, -50 to 500",
"type": "number"
},
"maxUtilizationPercent": {
"description": "Fill level you will not exceed, 10 to 100 (default 80)",
"type": "number"
},
"months": {
"description": "Planning horizon in months, 1 to 600 (default 12)",
"type": "integer"
},
"overheadPercent": {
"description": "Extra space for snapshots, indexes and filesystem overhead, in percent (default 0)",
"type": "number"
},
"replication": {
"description": "Copies kept (replication factor, default 1; RAID or erasure-coding overhead can be given as 1.5, and so on)",
"type": "number"
}
},
"required": [
"current",
"growthPercentPerMonth"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"asOf": {
"type": [
"null",
"string"
]
},
"atHorizon": {
"properties": {
"logical": {
"type": [
"null",
"number"
]
},
"months": {
"type": [
"null",
"number"
]
},
"rawNeeded": {
"type": [
"null",
"number"
]
}
},
"type": [
"null",
"object"
]
},
"capacity": {
"properties": {
"installedRaw": {
"type": [
"null",
"number"
]
},
"maxUtilizationPercent": {
"type": [
"null",
"number"
]
},
"monthsUntilFullAt100Percent": {
"type": [
"null",
"number"
]
},
"monthsUntilLimit": {
"type": [
"null",
"number"
]
},
"usableLimit": {
"type": [
"null",
"number"
]
},
"utilizationAtHorizonPercent": {
"type": [
"null",
"number"
]
},
"utilizationNowPercent": {
"type": [
"null",
"number"
]
}
},
"type": [
"null",
"object"
]
},
"degraded": {
"type": [
"boolean",
"null"
]
},
"disclaimer": {
"type": [
"null",
"string"
]
},
"equivalentAnnualGrowthPercent": {
"type": [
"null",
"number"
]
},
"growthPercentPerMonth": {
"type": [
"null",
"number"
]
},
"monthsToDouble": {
"type": [
"null",
"number"
]
},
"notChecked": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"rawMultiplier": {
"type": [
"null",
"number"
]
},
"reasons": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"source": {
"type": [
"null",
"string"
]
},
"summary": {
"type": [
"null",
"string"
]
},
"timeline": {
"items": {
"properties": {
"logical": {
"type": [
"null",
"number"
]
},
"month": {
"type": [
"null",
"number"
]
},
"rawNeeded": {
"type": [
"null",
"number"
]
}
},
"type": "object"
},
"type": [
"array",
"null"
]
},
"verdict": {
"type": [
"null",
"string"
]
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"lastUpdated": "2026-11-01T22:47:25.786Z",
"quality": {
"l30DaysTotalCalls": 2,
"l30DaysUniquePayers": 2,
"lastCalledAt": "2026-11-01T22:47:25.59Z"
},
"resource": "https://data-calc.x402tookit.com/storage-growth",
"serviceName": "Systems Capacity Calculators",
"tags": [
"storage",
"growth",
"capacity-planning",
"compound"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Compound storage growth: size after N months, raw capacity with replication and overhead, months to double, months until full."
}What the leaf hashes
{"body":"607d418a43bb1a63fb2dc3d338aa6a4c7bccc48a1771caa856c692aa1f3e9f91","id":2202002,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793646811301069,"prev":null,"subject":"x402_bazaar:https://data-calc.x402tookit.com/storage-growth","subject_kind":"source_record"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (444186 rows).
- 0xeee65169f9e5690604e9eddb39f88f00369c3c7e7eb4856b988b197b7a021b4a
- 0xce698e3d1508e10b8aab74845445d32fb39ca81927396b7b06ae111d5e2175da
- 0x7797d97fde0e300beeab95a8ffc896ad3fc175704d171f8f6f55c38fb6fd3083
- 0xcaad6ff4ec8b46783a7bee9138e6585e6ea53109751f36025992d32d66b6e3ed
- 0x548d0de1bcdff09683ec51d93ffa4fb4c6dd0c3ba6b1cb1527b7c37994095d76
- 0x1e003c1a7dc55a2fe9e04808edba8d7f0af6580b559c31cf888b9d2bdcd2e5dd
- 0x1406cedccc7f3bf9b1e231ba918722e2c8260cba95c80802a9dac9a78ff2cc58
- 0x949df56441451ac568ef835d4e0ed90e233b120fbdba5f0770d7acf906e8320d
- 0x6f56fd53aecc07b95a34e256965f4e1044f29a1b9952b19509a3c81c1d26a7ca
- 0x4da9a5dbf003ee1fdff69e60ff1f4c792cee23e61388ff323af54db26d74260c
- 0x40ff1fdcd3023ebf3a2d65350c5559fb9898da453610ee6cd3fd3b146a2aa2c3
- 0x244e5498c1a18cb79272c8888907c216b04d0ef4381a107b2d329eb22383048b
- 0x6a66db154e32d45aa1f1ce72719d9372fd5cdf4add16d249006bd3cdb0f7c074
- 0xbb465466dac90179fd91fd4d3b6985e80736d1ab4662dc57a78b5e5098d6f074
- 0xde6a8fd6590b70565baa6078cbc8add8d94950fe959ebaf8c3716adcdbd78aa8
- 0x6dd7e4db65395e8670c7c2747d44fec79e03305934ef4746bf5dbca04ec6ec49
- 0xec5d643575d83c9e07e65deeef71943b53cbf3007e7e2b9a6ef414081509b0cc
- 0x252cce55f1a3d5391c16f82d7f62494429a5f69b03486d4cfcfb7b2c96d6c884
- Day root
- 0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
- Chained
- 0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
- Published
- On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af