← All strategies
Orestack

Estimated Runway Calculations

How the Strategy panel estimates how many successful Autodeploy fires your SOL bankroll can still fund — after ORE #167 recycling — and why a tiny net burn must never look like 0 SOL.

In plain English

Your miner keeps SOL in its Autodeploy balance. Every successful fire sends some of that SOL onto the board. After each round, most of that SOL comes back and can be used again. Only a smaller permanent “haircut” — protocol burn plus your deployer/protocol fees — is gone forever.

Estimated runway answers one question:

The question

Roughly how many successful full-budget fires can this bankroll still support before it can no longer afford another fire at the current strategy settings?

It does not predict ORE earnings, Motherlode wins, USD profit, or how many minutes until you run dry if the strategy often skips.

Where you see it

  1. Open Mining and select your miner.
  2. Look at the STRATEGY card. Under the strategy summary you should see a line like ≈ 68 fires at 0.044 SOL and, when the net estimate is live, Net burn ≈ 0.0051 SOL per fire.
  3. Hover the line for a short tooltip. Unavailable / limited-history states are honest empty messages — the UI will not silently fall back to the old “balance ÷ gross send” count.
Rollout note

The net-burn line appears when the net estimate is live. Until then, a simpler gross helper may still be on screen while the net estimate is collected in the background for comparison.

Fires, not clock time

A fire is a successful Autodeploy that actually places SOL on tiles. Skipped rounds (EV Gate miss, Crowded-round skip, Motherlode range skip, low balance, and so on) spend zero bankroll and do not reduce the fire count — they only stretch calendar time.

So “≈ 100 fires” means about a hundred full deployments, not “100 minutes” or “100 wall-clock rounds.”

Why net burn, not gross send

Before ORE #167, it was tempting to estimate runway as:

spendable SOL ÷ configured SOL per fire

That treats every deploy as permanently spent. After #167, almost all of the SOL returns:

Returned SOL lands as claimable rewards and is recycled back into Autodeploy SOL before later fires. The old gross helper therefore understated runway by roughly an order of magnitude.

Important

Even though most SOL comes back later, you still need enough gross float now to place the next full fire (deploy + fees + checkpoint). The estimator preserves that threshold — it is not a naïve bankroll ÷ net burn quotient alone.

How the estimate is built

1. Forecast bankroll

The estimator starts from spendable Autodeploy float, not only the raw on-screen balance:

liquid = max(Autodeploy SOL − rent, 0) + claimable rewards SOL
forecast = liquid + expected return of pending current-round stake

2. Expected permanent burn per successful fire

expected protocol burn = gross × 10.504%
user fees = deployer bps on gross + flat fee + deploy fee + checkpoint fee
expected net burn = expected protocol burn + user fees

Fees come from the miner’s live on-chain deployer config, not product defaults. Wallet compute and Jito tips are not part of this runway.

3. Required float for the next full fire

Same affordability idea the crank uses: gross deploy + live fees + checkpoint, compared against forecast bankroll that already excluded rent.

The fire-count formula

if forecast < required float:
  fires = 0
else:
  fires = 1 + floor( (forecast − required float) / expected net burn )

The leading 1 is the next full fire you can place right now. The floor term is how many additional full fires the remaining float can fund after that burn loop.

All arithmetic is in the smallest SOL units (lamports, integer). Do not divide floating-point SOL strings — display rounding is separate from the math.

Which strategy gets which view

StrategyRunway view
Lotto, Fixed Tiles, X Random, EV Gate, V4 presets, OG Sniper, Custom EqualSingle expected fire count (fixed equal-N / fixed gross when it fires)
ShadowStandard / Best / Worst from recent same-config gross spends
Custom + OccupancyMatch sizingStandard / Best / Worst (same as Shadow)

Variable-spend scenarios use trailing successful fires from the same strategy config:

Fewer than 10 same-config successful fires → honest “need more history” state (no fake trio). 10–19 → three-case with a limited-history note. Skips and zero-deploy rounds are excluded from the spend distribution. A config change starts a new history window.

Example for lotto-mining strategy

On 2026-09-22 a miner’s Strategy card looked inconsistent:

SOL available ≈ 0.0308 SOL
Strategy: Lotto Mining
Gross deploy: 0.0001 SOL
UI runway≈ 814 fires at 0.0001 SOL
UI net burnNet burn ≈ 0 SOL per fire

Miner address (the public address shown on Mining): DKw9TC5VRfb3Sgw6q1EuqrFoNJhc6E8mnW4gQimYEDwX

What we proved

  1. The fire-count formula is correct. A live runway snapshot matched an independent recalculation.
  2. The screenshot’s 814 is exact for a 0.0001 SOL gross with this miner’s live fees — not a math bug.
  3. The displayed 0 SOL net burn was a 4-decimal formatting issue. The true net burn was 36,754 lamports (0.000036754 SOL).
  4. By the time of a later production capture, the miner’s configured gross had moved to 0.0005 SOL, so remaining fires were in the mid-300s and falling as the miner kept firing — still formula-exact at every snapshot.

Screenshot-class inputs (0.0001 SOL gross)

Live fee schedule for this miner (not product defaults):

bps fee25
flat fee15,000 lamports
deploy fee1,000 lamports
checkpoint fee10,000 lamports
gross100,000 lamports (0.0001 SOL)
protocol-side 10.504%10,504 lamports
bps on gross250 lamports
expected net burn36,754 lamports
required float126,250 lamports
forecast bankroll (reconciled)30,017,252 lamports
fires = 1 + floor( (30,017,252 − 126,250) / 36,754 )
      = 1 + floor( 29,891,002 / 36,754 )
      = 1 + 813
      = 814

At 4 decimal places, 36,754 lamports rounds to 0 — that is why the card said “Net burn ≈ 0 SOL per fire” next to hundreds of fires. With precise display it reads 0.000036754 SOL, and the two lines reconcile.

Live production snapshot (0.0005 SOL gross)

Captured 2026-09-22 ≈ 09:51 UTC:

gross500,000 lamports (0.0005 SOL)
expected net burn79,770 lamports
required float527,250 lamports
forecast bankroll29,063,763 lamports
remaining fires358
Independent recalculation1 + floor((29063763 − 527250) / 79770) = 358

A follow-up capture ~12 minutes later showed 347 fires with the same net and required float — the bankroll was still mining; the formula still matched exactly.

Verdict

814 was correct for the screenshot’s 0.0001 SOL configuration. The apparent contradiction was display rounding, not runway math. The fix ships precise formatting on the Strategy-panel gross/net lines without changing the estimator.

Limits and caveats

Things to know