Rules
Deterministic clocks. Soulbound eggs. Three replication attempts per wallet per 15-minute window.
Objects
$EGGLY is the liquid token. EGG is the gameplay unit (Nest Power). USDG (Global Dollar) is the quote asset and the Yolk currency — eggs pay dollars. Eggs are not transferable in V1.
Clocks
- Replication window = floor(timestamp / 15 minutes). Shared by everyone.
- Yolk epoch = floor(timestamp / 30 minutes). Anomaly rotation and aging happen here.
- Default life = 12 cycles × 30 minutes = 6 hours. Aging applies when an epoch is settled, not when you Replicate. Eggs born in epoch N first age at the settle of N+1 — 12/12 until then is expected.
Origin mint
Pay $EGGLY (population-tiered price, optionally discounted by Cheap Shells). The payment goes to the Egg Vault. Origin mint always creates a NORMAL egg — higher tiers only appear on a successful replication's child roll. The egg becomes reward-active at the next epoch — no last-second sniping of the current pool.
Replication
Chance = min(70%, 25% + 5% × floor(log2(activeEggs))), then Anomaly modifiers, then clamp 10–90%. You tap Replicate on one parent in the nest — not a batch. Dice Protocol supplies randomness (~0.000025 ETH per try). Three attempts per wallet per 15-minute window. Pending requests cannot be doubled. Failed rolls still consume one of the three. One hundred origins is still three rolls per window, not one hundred.
A child starts at 12/12 life regardless of the parent. New eggs earn from the next epoch. Default one child; Double Yolk / Eggnomaly can lay two.
Tiers
Normal 1 · Mutant 2 · Evolved 4 · AGI 8 · Singularity 16. Parent upgrade modifiers 1.0× → 2.0×. Tunable, not sacred.
Epoch order
- Close replication windows for the ending epoch.
- Account eligible creator-tax revenue.
- Settle Yolk using active Nest Power.
- Apply end-of-epoch Anomaly (aging 0 / 1 / 2).
- Crack expired eggs.
- Select the next Anomaly.
- Open the new window.
Settlement is lazy — any interaction can catch up missed epochs. A keeper may call settleEpochs() and harvestYolk() for snappy UI.
Player-facing walkthrough: /play.