ABCDE · protocol parameter

MINFREE

minPoolCost is not a transaction fee. It is a flat ₳ charge taken from every pool’s rewards before delegators see a lovelace. One number. Every pool. Every epoch. Raise it, and the smallest pools get worse. Saturated pools barely notice.

A 1M ₳ pool mints about one block an epoch. A saturated pool mints about forty-three. Zero min does not change that. It only stops the floor from eating most of the one-block pool’s reward. Delegators in the big pool still receive far more ₳ — because that pool still minted far more blocks.

Protocol floor
170 ₳ current
Race every pool to this floor
075170340
1M ₳ pool
Saturated pool
If YOU delegate 10k ₳
The formula

Same epoch. Far fewer blocks.

If you put the same 10k ₳ in either pool, you do not earn 43× more on the big one. The big pool mints 43× the blocks because it has 43× the stake — your 10k is 43× smaller a slice, so at a 0 ₳ floor your personal rate matches. The floor is a flat 170 ₳ taken off the whole pot. That barely nicks 12,674 ₳. It takes most of a 295 ₳ pot. That is what makes your 10k earn less on the 1M pool.


  
1M
Sat
Parameter1M ₳ poolSaturated poolSat / 1M

The one-block epoch

When a small pool actually mints

The 1M ₳ pool’s typical epoch is one block. The floor is charged once per epoch that has rewards, not per block. Mint one block, and 170 ₳ is more than half the reward. The saturated pool’s typical epoch is forty-three blocks. Same ₳ tax.

Lucky epoch · 1 block

1M ₳ pool · 293 ₳ gross
Operator floor Margin Delegators
Operator takes
Delegators keep

Same epoch · saturated

Saturated · ~43 blocks
Operator floor Margin Delegators
Operator takes
Delegators keep
Delegator yield vs pool size

The floor is a size tax

This chart is yield per ₳ you delegated, not total ₳ the pool paid out. At a 0 ₳ floor that rate is flat for unsaturated pools — 43× the blocks on 43× the stake is the same ₳ per ₳. Drag the floor up and the 1M rate falls off a cliff while the saturated rate barely moves. The mint gap stays 43× the whole time.

This floor 170 ₳ now 0 ₳ rate per ₳
Real-sized pools

Six shapes, one parameter

Tickers are size references from epoch 652, not a vote ledger and not an accusation. Click a card to load it into the custom builder. With race off, pools that already declare 340 ₳ do not move when the floor drops — only pools pinned to the floor get a new choice.

Your pool

Put your own numbers in

Stake, pledge, margin, declared cost. The floor still wins if you try to declare below it — that is the whole point of a protocol minimum.

Long-run expected

Delegator ROA
Expected blocks / epoch
Operator / epoch
Effective cost

If you mint exactly one block

293 ₳ gross
Operator
Delegators

The costume

A No vote can look like charity.

Small operators are the ones most likely to defend the floor. The 170 ₳ looks like the only paycheck a one-block epoch will ever write. That feeling is real. It is also the trap. Delegators do not pay you that 170. They leave. The stake goes to the pool where 170 ₳ is a rounding error.

A large operator can say they are protecting little pools from a race to the bottom, vote No, and keep the only protocol parameter that does not scale. They can already declare 340. Many do. Lowering the floor does not force them to earn less. It only lets the pools stuck on 170 become competitive.

We want the floor at zero. Not because operator income is a sin — because a flat 170 ₳ tax on a 1M ₳ pool is how you keep the network looking like a few saturated machines and a long tail that cannot compete on yield.

Method

What this is actually computing

Expected blocks per epoch = 21,600 × min(stake, saturation) / active_stake. Gross ₳ = blocks × 293.38 (epoch 650 average block reward). Then cost = max(floor, declared) unless race-to-floor is on, in which case cost = floor. Operator takes min(cost, gross), then margin of the remainder; delegators share what is left, including the owner’s pledge. Sub-saturated pools use a Poisson over block count so empty epochs are empty — the floor cannot tax a pool that minted nothing. Saturation cap is active_stake / k = 43.02M ₳ with k = 500 and epoch-650 active stake 21.51B ₳. Pledge influence a0 = 0.3 is omitted so the slider isolates the floor. Real rewards also move with fees, reserves, and luck. This is a model, not a wallet forecast.

Live action on chain: Intersect Parameter Committee “Reduce minPoolCost to 75 ada and increase Plutus Memory Limits (Part 2)”, ab474223…#0, expires epoch 653. SPOs vote because the bundle includes execution-unit limits. The slider is about the floor, not Plutus. Not financial advice. Unofficial and unsponsored.