The engine

Rules & formulas

Every number the tower runs on — altitude permanence, the growth cap, burial mechanics, and the season reset.

Constants

DOUBLE_EVERY_K = 500 # thousand views per rate doubling
MAX_GROWTH = 8 # hard cap on growth multiplier
R0 = 1.0 # metres per dollar at season start
G0 = 0.65 # ground metres at season start (tuned for ~1.5M view burial)
MIN_ENTRY_USD = $5.00
MIN_SPEND_USD = $2.00
SEASON_DAYS = 90 # season length
CEIL_PER_HOUR = 40,000 # qualified view ceiling per hour

Growth & rate

V = cumulative qualified views (thousands)
λ = ln(2) / DOUBLE_EVERY_K
growth = min( exp(λ · V), MAX_GROWTH ) ← capped at 8 (non-negotiable)
rate = R0 · growth # metres per dollar
ground = G0 · growth # burial threshold (m)

Altitude (payments)

metres = dollars · rate # altitude added per dollar
altitude += metres # additive only; never decreases

Altitude is monotonically increasing. No code path can decrease it. The database has a CHECK constraint enforcing altitude ≥ 0.

Burial & amber edge

buried = altitude < ground
clearance = altitude − ground
amber_edge = clearance < 1.6 · ground # warning zone

Buried blocks remain in the tower and are still clickable, but they're greyed out. A $5 entry at season start stays above ground for approximately 1.5 million views.

Pricing a climb

target_alt = altitude_of_target_rank · 1.02
delta = target_alt − my_altitude
cost = max(delta / rate, MIN_SPEND_USD)

The 2% buffer means you beat the target block by a small margin. Positions are live; your rank is calculated when payment completes.

Season reset (90 days)

Each season runs for 90 days. At rollover:

  • The current tower is archived to a permanent standings page
  • V resets to 0 (rate drops back to R0 = $1 = 1m)
  • New blocks start at altitude 0
  • Record pages at /b/[slug] remain permanent and show all seasons
  • The exchange rate caps, holds, then resets — creating a recurring launch moment

Qualified view definition

A qualified view is one server-rendered homepage load that passes:

  • Not a known bot or headless browser
  • Session not counted in the last 30 minutes (per cookie)
  • IP not exceeding 20 views per hour
  • Global ceiling not exceeded (max 40,000 credits per hour)

View counting is server-side only. No client beacons.