provePossession gas model — logarithmic fit (R²=0.99)
gas = 158.67M + 8.485M × log₂(pieces)
Fit from 630 real datasets on mainnet · MAE = 3.2M gas · R² = 0.9899
Each doubling of piece count adds ~8.5M gas. A dataset with 1M pieces costs ~169M gas more to prove than one with 1 piece — because each challenge traverses a Merkle tree that is log₂(N) levels deep.
nextProvingPeriod is flat at ~124M gas (does not depend on piece count).
How costs are calculated
1
Gas units × base fee ÷ 10¹⁸ = FIL cost. Gas units measure computation. Base fee (attoFIL per gas unit) is the market price, fetched live from Glif.
2
All gas values queried live from FOC Observer on page load via REST API.
createDataSet, addPieces, nextProvingPeriod, and terminateService use empirical averages from real mainnet transactions.3
provePossession uses a logarithmic model fitted to 630 real datasets. Gas grows with log₂(pieces) because each PDP challenge traverses a Merkle tree — more pieces = deeper tree = more computation per challenge. The model has R²=0.99 and MAE=3.2M gas.4
The PDP protocol samples exactly 5 pieces per proof (hardcoded). So proving cost is not proportional to piece count — it grows logarithmically, not linearly. An SP proves a 1M-piece dataset for only ~2× the gas of a 1-piece dataset.
Gas values — source per operation
Operations marked LIVE use fresh averages from FOC Observer. MODEL uses the logarithmic fit, updated with your piece count.
Loading...
Base fee — live & historical
Current value from Glif's Lotus node. Historical averages from FOC Observer transaction data — actual gas prices paid by FWSS users.
Current (Glif live)
—
attoFIL · latest block
Historical low
—
attoFIL · min observed
24h avg
—
attoFIL · FOC Observer
30d avg
—
attoFIL · FOC Observer
90d avg
—
attoFIL · FOC Observer
High spike
—
attoFIL · observed max
Select scenario
Custom base fee (attoFIL)
FIL price
Live from CoinGecko. Override manually to model different price scenarios.
FIL price (USD)
—
Minimum floor price — computed from live data & model
$—
Minimum a client must pay per dataset per 30 days to cover SP daily proving gas. Calculated as:
where
(provePossession(N) + nextProvingPeriod) × base_fee ÷ 10¹⁸ × FIL_price × 30where
provePossession(N) = 158.67M + 8.485M × log₂(N) pieces. Updates automatically.
Usage parameters
Observation period = time window to model.
Total pieces in dataset = used by the model to compute
Total pieces to add = pieces uploaded during the period (for
Batching = pieces per
Proving cost scales logarithmically with dataset piece count — not linearly.
Total pieces in dataset = used by the model to compute
provePossession gas dynamically.Total pieces to add = pieces uploaded during the period (for
addPieces cost).Batching = pieces per
addPieces transaction. Transactions = ceil(pieces ÷ batch_size).Proving cost scales logarithmically with dataset piece count — not linearly.
Observation period (days)
30 days
Number of datasets
1
Pieces in dataset (for proving model)
100
Total pieces to add (uploads)
100
Batching
= 100 addPieces transactions over 30 days
Cost breakdown — total for the period
daily SP paid every day per dataset. upload paid when adding data. one-time once per dataset lifecycle.
| Operation | Txns | Gas/tx | Total gas | FIL cost | USD | Type |
|---|---|---|---|---|---|---|
| Total | ||||||
Summary metrics
Total cost
—
for 30 days
Cost per piece (upload)
—
USD · amortised
Batching saving
—
gas per piece vs ×1
SP daily proving cost
—
per dataset · per day
SP 30-day proving cost
—
per dataset
provePossession gas (model)
—
for — pieces
USD cost by operation type
Hover bars for exact values. Useful for understanding which operations dominate at different usage levels.
provePossession gas vs piece count — model curve
The logarithmic model fitted to 630 real datasets. The dashed line shows the model prediction; dots show the actual data used for fitting.