VOIDRIFT whitepaper
One fixed-supply token runs missions, the element market, fuel, base upgrades and the weekly leaderboard. Edition 3.0 replaces the short ROI target with a long-term earnings model: a 55% reward pool that releases 20% less every year, a lifetime cap on every ship, chest revenue that buys RIFT back, and a seven-sector galaxy to explore. Every figure is traced to the game constants, the contracts or the v4 simulation, and anything not built yet is marked as planned.
What changed in edition 3.0
Source · docs/EKONOMI-VE-GALAKSI-TASARIMI.md (design v1.2, 24 Oct 2026) · chip colour = status- UpdAllocation: 55% reward pool locked in
RewardReserve, team 6% inTeamVesting(90-day cliff, then 8 quarterly tranches). The deploy script refuses to leave any pool on the deployer key. 01 » - UpdEmission: B(y) = 110M × 0.8y−1, split 80 / 15 / 5. Each UTC day pays every claim at one rate, fixed from a demand forecast at the day's first claim; an overshoot is repaid by the next days and a breaker stops any day at 1.5 × its cap. No 0.25 floor, and the 72 h claim window starts when the mission is back. 02 »
- UpdRewards:
BASE_UNIT0.0056 → 0.00105 on the $100 fleet basis. Repairs, fuel packs and the Workshop fee fall to 40% of their old size and are fixed in USD × L. 03 » - UpdReactor core: 1.5 × basis (was 2 ×), recharges cost 0.35 / 0.70 / 1.05 × basis and stop after 3, so a ship earns at most 6 × basis and then retires. Basis = the price paid; a free-chest ship gets 30%. 03 »
- NewLong-term earnings model: the 7–21-day ROI target is gone. Target: median payback 100–140 days (simulated 129), p10 ≥ 60. In the simulation 43% of fleets pay back within a year. 04 »
- NewContracts:
RewardReserve,TeamVesting,RiftBuyback(per-call and daily caps, an admin price floor).ChestMinterquotes now sign the payment method, which closes a replay that made every chest free. The GUARDIAN key can pauseRiftVault. 05 » - NewChest revenue: 40% RIFT buyback (half burned, half to the reward reserve), 15% liquidity, 30% development, 15% marketing. Replaces 40 / 20 / 15 / 15 / 10. 15 »
- NewElement market in RIFT: seller fee 3% raw, 4% rare, 5% crafted, split 50% burn / 30% leaderboard / 20% treasury. The buyer sees the plain price. Market buys are locked for 7 days. 12 »
- NewGalaxy: 7 sectors and 40 locations, opened by Navigation research. Far sectors cost 10–30% more fuel. They pay about the same per flight hour, net of fuel. 07 »
- NewElements and recipes: Cryo Ice, Helium-3 and Plasma Shard; Repair Kit, Fusion Cell and Plasma Charge. The Fuel Cell recipe is cheaper (100 Crystal + 80 Ore). 06 »
- UpdWithdrawals: RIFT from market sales in the last 7 days leaves at the 12% tier, so wash trades between two accounts no longer beat the fee. 13 »
- UpdLeaderboard pool: 15% of emission, paid pro rata to gameplay emission, plus 30% of element fees. The 10% share of mint revenue is gone. 16 »
- UpdPayments: chests keep USD prices; native AVAX becomes the default (planned,
PAY_AVAXis reserved in the contract), USDC stays optional. Ships and crew trade in AVAX from a wallet; elements trade in RIFT. 05 » - UpdServer integration: the emission schedule, element fees, the market lock, fresh-proceeds seasoning, location launches and the payment method in chest quotes are implemented in the game server. The keeper jobs (reserve release, buybacks) are in place behind flags and off by default until they are switched on, on Fuji first; buybacks stay inside the contract's caps and floor and skip a quote far below the recent median. 18 »
Supply & allocation
Total supply is 1,000,000,000 $RIFT (MAX_SUPPLY), minted once when RiftToken is deployed. The deploy script splits it into eight pools in the same run: 55% to RewardReserve, 6% to TeamVesting and the rest to the address set for each pool. The token has no mint function.
Allocation of 1B $RIFT
final split · design §1.1| Pool | Share | Tokens | Purpose | Lock and release | Held by |
|---|---|---|---|---|---|
| Reward pool | 55% | 550M | Mission rewards, weekly leaderboard, events | B(y) = 110M × 0.8y−1, linear inside each year; never runs dry (02) | RewardReserve In code |
| Liquidity | 10% | 100M | RIFT/AVAX pool on a DEX | LP tokens locked 12 months | address set at deploy |
| Ecosystem & partnerships | 8% | 80M | Grants, creators, guild partnerships | 12 months linear | vesting contract Planned |
| Treasury (DAO) | 8% | 80M | Operations and governed spending | 6-month lock, then 36 months linear | vesting contract Planned |
| Early backers | 8% | 80M | Early supporters | 6-month lock, then 18 months linear | vesting contract Planned |
| Team | 6% | 60M | Core team | 90-day cliff, then 8 tranches of 12.5% (7.5M) every 90 days, days 180–810 | TeamVesting In code |
| Community & seasons | 3% | 30M | Community allocation | By season | address set at deploy |
| Public sale | 2% | 20M | Public sale | 25% at TGE, the rest 6 months linear | address set at deploy |
Outside local test networks, deploy.cjs refuses to run if any pool address or admin role would stay on the deployer key, and it checks that the eight shares add up to exactly 100% and to the full supply. Today only the reward pool and the team share are locked by a contract; the vesting contracts for the other 39% are not written yet. Open owner decision: if the early-backer or public-sale round does not happen, that share moves to the treasury or the ecosystem pool.
contracts/RiftToken.sol (MAX_SUPPLY 1,000,000,000) · RewardReserve.sol · TeamVesting.sol · scripts/deploy.cjs (allocation buckets, resolveConfig)TeamVesting · 60M
M RIFT vested · days after TGENothing unlocks during the 90-day cliff after TGE. After it, a 12.5% tranche unlocks at the end of each 90-day quarter: the first on day 180, the last on day 810 (27 months in all). The beneficiary is fixed at deploy (the team multisig, which can rotate its own signers), and anyone can call release() because it always pays the beneficiary.
RewardReserve · 550M
how the pool is released- The integer form is exact to the wei for the first 26 years; Σ B(y) is exactly 550M, so the pool only thins out.
- The game server's keeper releases what the schedule has unlocked, at most once a day. Emission to players still goes through the daily cap (02), so the reserve in RiftVault holds what has been released but not yet earned.
- No role can move RIFT out faster than the schedule. The schedule and its start cannot be changed, and there is no sweep or pause; RIFT sent here beyond what the schedule still owes can never leave.
- The admin (a multisig, with a 24–48 h timelock planned) can point releases at any non-zero address (it is meant for a redeployed RiftVault) and can grant the RELEASER role to anyone, itself included. So a compromised admin could take everything unlocked and not yet released, and every later release as it unlocks.
- The schedule does not bound what a compromised admin can take. The same admin holds RiftVault's admin role:
payFromReservesends any amount out of RiftVault, and the admin can also grant itself the signer role and raise the withdrawal caps. The keeper moves everything unlocked into RiftVault each day, so daily releases do not shrink the exposure; they move it into RiftVault, which holds the released but unearned rewards (about 60M after year 1 on the base path) and the RIFT behind every player's vault balance. Putting RiftVault's admin behind the timelock first, or releasing only what has been earned, is an open owner decision.
RewardReserve.sol (unlockedAt, release, setRecipient, trust note) · RiftVault.sol (payFromReserve, setCaps) · server/src/jobs.ts (keeper release)Emission schedule
The reward pool releases a yearly budget that shrinks by 20% every year: B(y) = 110M × 0.8y−1. The budgets add up to exactly 550M over all years: the schedule has unlocked 491M after ten years, and the rest keeps thinning out toward the 550M limit. Each year is split 80% gameplay, 15% leaderboard and 5% events.
Yearly budget, years 1–10
budget, M RIFTYear 1 in numbers
RIFT per day (88M ÷ 365)
RIFT per week (16.5M ÷ 52)
RIFT for the year
balanced fleets at $0.05 (year 2 ~4,500, year 3 ~3,600)
One rate per day
engine fixDayCoef · server emissionCoefs- Fixed once. The first claim charged to a day fixes its rate and stores it with the debt and forecast it came from; every later claim of that day reads it back. Two players who claim before and after the cap is crossed get the same rate; under the old first-come rule the later one got nothing.
- Overshoot is debt. When demand beats the forecast, a day can emit more than its cap. The excess lowers the next days' rates until it is paid back, so emission stays within the caps over 30 days. A day under its cap pays the debt off with what it left unspent.
- Shortfall is not carried. The forecast is 1.1 × the recent peak, so a day where the cap binds pays at most cap ÷ 1.1 (about 0.91 × the cap at steady demand), and what it leaves unspent never moves to a later day. If fleets react to the same day's rate, a forecast built from realised demand can cycle and pay well below the cap.
- No forecast yet (no demand on the 3 days before): the day pays in full while the debt leaves any of its cap, and nothing once the debt has taken all of it.
- Late claims. When day D is fixed, D−1 … D−5 can still receive claims: the 72 h window counts from the last run's return, and a T7 autopilot's first run returns 48 h before that (D−3 for a single-run mission). Their late emission enters the debt of the next day that is fixed: a day late, never lost.
Worked example
year 1 · cap 241k RIFT a day · k RIFT| Day | D | D+1 | D+2 |
|---|---|---|---|
| Forecast | 330k | 440k | 484k |
| Debt | 0 | 51k | 0 |
| Rate | 0.73 | 0.43 | 0.50 |
| Demand | 400k | 440k | 300k |
| Emitted | 292k | 190k | 149k |
Demand is the uncut reward charged to the day (what it would pay at rate 1). The three days before D peaked at 300,000 and stayed under the cap. D's demand beats its forecast, so D emits 51,142 over the cap; D+1 carries that as debt and pays it back. The forecast keeps the largest demand of the last three days, so the rate stays low until the spike leaves that window.
Live rate. GET /emission/today returns the day's cap, emitted RIFT, demand, rate (null until the first claim fixes it), debt and forecast. The game shows the rate whenever it is below 100%: in Fleet Telemetry, on the claim card and in each claim result.
Schedule
RewardReserve · engine yearBudget · M RIFT, RIFT| Year | Budget | Gameplay / day | LB / week | Still locked |
|---|---|---|---|---|
| 1 | 110.0M | 241,096 | 317,308 | 80.0% |
| 2 | 88.0M | 192,877 | 253,846 | 64.0% |
| 3 | 70.4M | 154,301 | 203,077 | 51.2% |
| 4 | 56.3M | 123,441 | 162,462 | 41.0% |
| 5 | 45.1M | 98,753 | 129,969 | 32.8% |
| 6 | 36.0M | 79,002 | 103,975 | 26.2% |
| 7 | 28.8M | 63,202 | 83,180 | 21.0% |
| 8 | 23.1M | 50,561 | 66,544 | 16.8% |
| 9 | 18.5M | 40,449 | 53,235 | 13.4% |
| 10 | 14.8M | 32,359 | 42,588 | 10.7% |
| All years | 550.0M | → 0% |
Years are 365 days counted from TGE; "still locked" is the share of the 550M the schedule has not unlocked by the end of the year (unlocked by year 10: 490.9M). Events get 5% of each budget (5.5M in year 1). Leaderboard and events pay out pro rata to the gameplay RIFT actually emitted (15/80 and 5/80 of it), up to their budget; what they do not pay stays in the pool (16).
The pool over 10 years
schedule floor vs simulationThe budget is a ceiling, not a target. In the v4 population model the pool still holds 44% after 10 years (243M) and never empties in 20 years: fleets earn less than the budget while the game is small, the daily cap holds later, and half of every buyback, half of RIFT chest payments, the reserve share of repairs and half of each withdrawal fee flow back. At the year-1 rate the pool would still last at least 6.7 years; the yearly decay is what carries it past ten.
constants.ts (EMISSION) · engine.ts (yearBudget, gameplayDailyCap, leaderboardWeeklyCap, EMISSION_COEF, fixDayCoef, dayCoefficient, emissionDebt, emissionForecast, breakerCoef, emissionCoefOf, emissionDay, claimCoef, proRataPayout) · server/src/store.ts (emissionCoefs, emissionOfDay) · routes/game.ts (GET /emission/today) · migrations/004_economy_v4.sql (emission_days coef, debt, forecast) · RewardReserve.sol · tools/roi_results_v4.md (years table, runway, finding 4)How rewards work
Every ship earns on the same $100 fleet basis; what changes the reward is how strong the team is and how risky the map is. What a ship cost decides only its reactor core: how much it can earn before a recharge, and how much it can earn in its life. The Planet Base does not change this formula; its research only shortens flights, trims damage, improves autopilot and opens sectors.
Locked rate L
Every NFT stores a locked rate at mint: L = 1 / TWAP₇(RIFT/USD), so at the $0.05 launch reference L = 20 RIFT per $1. Its rewards, core and recharge prices use that rate for life, so payback is measured in the RIFT that its basis bought at mint, whatever the price does later. Until a DEX TWAP is wired, the server prices quotes at a fixed $0.05.
Safety bands: L moves at most ±15% per week and is capped at 4× the launch rate. If the price falls past that cap, new mints simply pay back more slowly: prices are never auto-discounted, and mints can be paused if needed.
Reward and power
BASE_UNIT 0.00105 (was 0.0056), tuned by the v4 simulation. At L = 20 a success pays R × 2.1 RIFT at power 1.0. Crew size: 1 crew ×0.60 · 2 ×0.85 · 3 ×1.00 · full 2-slot ship ×0.95. Rarity power: Common 0.90 · Uncommon 1.00 · Rare 1.08 · Epic 1.18 · Legendary 1.32 · Mythic 1.55. Inside a rarity, hull models trade power for luck: ×1.04 on the hauler model to ×0.96 on the luckiest one. Autopilot repeats pay 80% (90% with Autopilot+).
Success odds: the map sets the range, the team sets the result
Team Score (0–80) = ship luck (hull model, 4–30) + crew luck (rolled at mint, 2–14 each, scaled to 3 seats) + role synergy (0–8). Supplies (0–20) = fed crew +6 · Nav Chart +4 · Targeting Array +6 · Shield Core +7 · Plasma Charge +8 · Void Stabilizer +10 (max 2 boosters). A hull below 30 costs 10 points. A galaxy location adds its own shift (−0.04 to +0.02, 0 at home), and the result is kept between 5% and 98%.
| Mission (home location) | Hours | Reward* | Map base | Average team | Map max | EP |
|---|---|---|---|---|---|---|
| T1 Patrol | 1 | 2.1 | 70% | 80% | 96% | 1 |
| T2 Asteroid Mining | 2 | 5.25 | 63% | 74% | 92% | 3 |
| T3 Convoy Escort | 4 | 12.6 | 56% | 68% | 87% | 8 |
| T4 Pirate Base Raid | 6 | 21 | 49% | 61% | 80% | 18 |
| T5 Deep Space Survey | 8 | 31.5 | 42% | 54% | 72% | 30 |
| T6 Event Horizon Run | 12 | 50.4 | 36% | 46% | 62% | 50 |
| T7 Leviathan Hunt | 24 | 126 | 30% | 38% | 50% | 140 |
*RIFT for a successful run of a fleet with power 1.0 at L = 20. "Average team" = the average Starter Chest team (Team Score 28.2) with fed crew and a Nav Chart. Team Score across 20,000 simulated Starter Chests: weakest valid team 6 · unlucky 10% 20 · average 28.2 · lucky 10% 37.5 · perfect 80.
Success stack · T4 example (average team, fed crew, Nav Chart)
Map base 49% · Team Score 28 → +8.7 · supplies 10 → +3.1 = 61%. A perfect team with full supplies reaches the map max of 80%. With an average team every home map pays about the same per flight hour (1.7–2.1 RIFT at power 1.0); a perfect team earns clearly more on the middle and risky maps (2.6–2.8 RIFT per hour on T3–T7) and far more EP.
packages/shared/src/constants.ts (TIERS, ECONOMY.BASE_UNIT, ODDS_FLOOR/CEIL, RARITIES, BOOSTERS) · engine.ts (rewardOf, odds) · tools/roi_results.json (team_score) · GDD §5.3, §6.1–6.2 · server/src/chain.ts (currentLockedRate)Reactor core: a lifetime cap on every ship
basis = what was paid for the shipThe basis is the USD price paid for the ship: Starter $100, Ship Mint $50, each Commander ship $100. A ship from a free chest (Golden Key) gets 30% of the nominal basis. The basis sizes only the core and the recharges; the reward is always on $100 (tying it to the basis meant Ship Mint and free-chest ships could never pay back).
| Ship basis | Core | Recharges 1 / 2 / 3 | Lifetime |
|---|---|---|---|
| Starter, Commander ship · $100 | 3,000 | 700 / 1,400 / 2,100 | 12,000 |
| Ship Mint · $50 | 1,500 | 350 / 700 / 1,050 | 6,000 |
| Free-chest ship · $30 | 900 | 210 / 420 / 630 | 3,600 |
RIFT at L = 20. Today's 2× core with unlimited recharges at 35% is replaced. A recharge pays only while the ship's net still covers it: in the simulation a balanced Starter fleet recharges 1.53 times on average (none 13% · one 22% · two 63% · three 2%) and grosses 3.76 × its basis over about 177 active days.
constants.ts (CORE_CAP_MULT, CORE_RECHARGE_COST, CORE_MAX_RECHARGES, FREE_SHIP_BASIS, FLEET_BASIS_USD) · engine.ts (coreCapOf, rechargeOffer, coreLifetimeCap, isRetired, chestShipBasisUsd) · roi_results_v4.md (one fleet's life)Long-term earnings model
The 7–21-day ROI target is gone. Payback is the day a fleet's net withdrawable RIFT reaches what its basis bought at mint, after repairs, fuel, crafting, recharges and the withdrawal fee. The design target: a median of 100–140 days for a typical player (balanced, 3 check-ins a day), never faster than 60 days at p10, with the spread up to day 365 published. Earnings fall year by year as emission decays.
Simulated payback by product
days · balanced player, 3 check-ins a day · coefficient 1 · no planet base| Product (ship basis) | p10 / p50 | Paid ≤ 365 d | Lowest p10 | Paid, all |
|---|---|---|---|---|
| Starter ($100) | 89.0 / 129.0 | 66% | 89.0 | 43% |
| Ship Mint ($50) | 42.3 / 65.0 | 66% | 42.3 | 43% |
| Commander ($300, 3 ships) | 105.0 / 191.0 | 57% | 105.0 | 31% |
| Free chest ($30 basis) | 24.7 / 39.7 | 65% | 23.4 | 43% |
Days. "Paid, all profiles" weights the play styles (cautious 30%, balanced 50%, bold 20%) and check-ins (4 a day 25%, 3 a day 50%, 2 a day 25%). A Ship Mint or free-chest fleet earns and spends what a Starter fleet does, but its payback target is its own smaller basis, so it gets there sooner. A Commander's 3 fleets share one tank and the Daily Ops fuel, so each buys more fuel. "Lowest p10" is the fastest profile's p10.
Starter by play style
p10 · p50 · paid by day 365| Profile | p10 | p50 | Paid |
|---|---|---|---|
| Balanced (T1–T5), 3 check-ins | 89.0 | 129.0 | 66% |
| Balanced, 4 check-ins | 91.7 | 136.0 | 56% |
| Bold (T1–T7), 2 check-ins | 94.9 | never | 36% |
| Cautious (T1–T3), 4 check-ins | 124.3 | never | 29% |
| Cautious, 3 check-ins | 150.3 | never | 28% |
| Balanced or cautious, 2 check-ins | never | never | 8% |
Bold with 3 or 4 check-ins plays like balanced (same results). "never": fewer than 10% (p10) or 50% (p50) of fleets had paid back by day 365. Under the lifetime rules a fleet pays back only while its running costs stay under about 54% of its gross, so slow and cautious players mostly don't within a year.
By team quality
balanced, 3 check-ins · Starter| Fleet | p10 | p50 | Paid |
|---|---|---|---|
| All Common, 1 matching role | 134.3 | 155.7 | 72% |
| Uncommon average | 98.3 | 113.7 | 100% |
| Epic, every role matching | 41.7 | 52.3 | 100% |
| Mythic, maxed (theoretical) | 23.0 | 27.0 | 100% |
Rarity still pays: top-rarity fleets pay back fast. Whether rarity power should be compressed is an open owner decision. Ship class matters too, through its fuel use: an Uncommon Spark pays back at a median of 110.7 days, while Bastion and Void Anchor fleets do not pay back in a year.
How earnings evolve
balanced Starter, by month boughtPaid back within the first year, under the base growth path. Early fleets fly at coefficient 1. When the player base grows past what the shrinking cap carries at full rate (about 5,700 fleets in year 1, 4,500 in year 2, 3,600 in year 3 at $0.05), the coefficient falls toward ~0.6 and later fleets pay back more slowly. That keeps emission independent of growth. These bars assume a perfect demand forecast; the server's rule pays a binding day at most cap ÷ 1.1, so in sensitivity runs fewer late fleets pay back (month 18: about 15–17%) and the pool lasts longer.
One fleet's life
balanced Starter, 3 check-ins, coefficient 1RIFT ($2.13) at L = 20
repairs 30 · fuel 11 · crafting 7
of gross, burned (1.53 per fleet)
over ~177 active days
A fleet keeps 52% of its gross before recharges. Lifetime gross is 3.76 × basis on average, well under the 6 × cap, because most fleets stop recharging once a recharge no longer pays. Costs as a share of gross are charted in 11.
Design targets and what the simulation says
design §2 · two readings of planet-base adoption| Target | No planet-base fees | Every account pays base fees |
|---|---|---|
| Balanced, 3 check-ins: median payback 100–140 days | MET · 129.0 | MISSED · 246.3 |
| p10 ≥ 60 days in every profile (Starter) | MET · 89.0 | MET · 110.7 |
| Sinks ÷ gameplay emission ≥ 0.6 at month 3 (mean of months 2–4) | MET · 0.655 | MET · 0.803 |
| Sinks ÷ gameplay emission ≥ 0.8 at month 6 (mean of months 5–7) | MISSED · 0.683 | MISSED · 0.787 |
| Reward pool lasts ≥ 10 years | MET · never empties | MET · never empties |
| Buybacks ≥ half of the RIFT withdrawn (year-1 fleets) | MET · 0.629 | MET · 0.846 |
5 of 6 targets with no base fees, 4 of 6 with them. A deliberate trade-off: pushing sinks to 0.8 by month 6 pushes running costs to the payback line, and then fewer than half of the fleets pay back within a year. The sink ratio does reach the target later, as the cap binds: about 0.9–1.1 from month 19 (11). How many accounts will build a planet base, and which target gives, is the owner's call.
tools/roi_results_v4.md (§2 targets, payback tables by profile, product and fleet, sensitivities, one fleet's life, bought later, findings 1, 4, 5, 7) · tools/economy_sim.py --v4What is on-chain
Ships, crew and RIFT are tokens, and the reward pool, the team share and the chest buyback each live in their own contract. Tradable items move on-chain in Phase 3. Fast game state (missions, buildings, research, fuel, vault balances) stays on the authoritative game server. The contracts are written and tested but pre-audit; they deploy to Base Sepolia today, and the planned network is Avalanche C-Chain, where wallet payments use native AVAX.
Contracts
contracts/contracts/*.sol| Contract | Standard | What it does | Status |
|---|---|---|---|
RiftToken | ERC-20 · Burnable · Permit | 1B RIFT minted once and split into the eight pools by the deploy script. No mint function. | Implemented |
RewardReserve | AccessControl | Holds the 550M reward pool. The keeper (RELEASER) moves what the B(y) schedule has unlocked into RiftVault; nothing leaves faster than the schedule, which cannot be changed. The admin can point releases at any address and grant RELEASER to anyone, so a compromised admin could take what is unlocked and every later release. Releases land in RiftVault, where the same admin's payFromReserve has no limit (01). | New |
TeamVesting | — | Holds the team's 60M: 90-day cliff, then 8 tranches of 12.5% at days 180 to 810. Fixed beneficiary; anyone can trigger release(). | New |
RiftBuyback | AccessControl · Pausable | Receives 40% of chest revenue. The keeper swaps it for RIFT on an admin-set route, within a per-call cap, a cap per UTC day and an admin price floor under its minimum output, before a deadline; then it burns half and sends half to RiftVault (15). | New |
RiftVault | — | Holds in-game RIFT: deposits, EIP-712 withdrawal vouchers, batched burns with burnFromReserve. The GUARDIAN can pause deposits and withdrawals; only the admin unpauses. The admin's payFromReserve moves any amount out with no cap, and RiftVault receives every daily release, so the admin key is fully trusted here (01). | Implemented |
ChestMinter | Chainlink VRF v2.5 | USD-priced chests. The server-signed MintQuote now carries payMethod: USDC 0 · RIFT 1 · AVAX 2 (reserved, rejected until the AVAX path ships) · FREE 3. Revenue split 40 / 15 / 30 / 15, set at deploy. | Upd AVAX planned |
VoidShips, VoidCrew | ERC-721 · ERC-2981 royalty 5% | Ships and crew; the locked rate is stored at mint. | Implemented |
NftMarket | Escrow, priced in RIFT | Today's NFT market, 5% fee. Replaced by VoidMarket. | Retiring |
VoidItems, ItemBridge, VoidMarket | ERC-1155 · EIP-712 vouchers · market | Items on-chain, export and import, one market for ships, crew and items (12, 14). | Planned · P3 |
payMethod, and buy() checks it against the buyer's own flag and the amount. A Golden Key redemption needs a quote signed as PAY_FREE.What each thing is paid in
AVAX payment model · owner decision, 23 Oct 2026| Purchase | Priced in | Paid in |
|---|---|---|
| Chests | USD | Native AVAX by default Planned, at a short-lived server quote that ChestMinter checks against Chainlink AVAX/USD · USDC (optional) and RIFT at −10% Live |
| Ships and crew, from a wallet | AVAX | AVAX on VoidMarket Planned; today's NftMarket is priced in RIFT |
| Elements, materials, items | RIFT | Vault RIFT in the game; on-chain item listings are also priced in RIFT |
| Repairs, fuel, crafting, base, recharges | USD × L | Vault RIFT, mostly burned (11) |
VoidItems catalogue
tokenId ranges| Items | tokenId | Trade |
|---|---|---|
| Ore, Crystal, Biomass, Salvage, Exotic Matter | 1–5 | Tradable, only the tradable quantity |
| Cryo Ice, Helium-3, Plasma Shard | at freeze | Tradable in the game today |
| Rations, Hull Plate | 101–102 | Tradable; bound if made from bound inputs |
| Nav Chart, Targeting Array, Shield Core, Void Stabilizer | 201–204 | Tradable; same binding rule (Plasma Charge gets its id at freeze) |
| Repair Kit, Med-Kit | 301–302 | Tradable |
| Autopilot+ | 303 | Untradable: it activates when dropped and never enters the cargo |
| Key Fragment, Golden Key, Crew Ticket | 401–403 | Untradable: they turn into free chests |
| Cosmetic Paint | 501 | Tradable in the game; on-chain id reserved until the paint feature ships |
| Future items | 1000–1999 | Buildings and levels never become tokens |
What stays off-chain, and why
| Off-chain | Reason |
|---|---|
| Missions, hull, buildings, research, energy, Silo | A 2–5 minute session cannot make every collect or upgrade a transaction, and anti-cheat needs an authoritative server. On-chain "collect" games drew bots at once. |
| Fuel | A pacing meter, not an asset: it is bought from the Fuel Depot or crafted, never traded. |
| Vault RIFT | Gasless play. Leaves the game only through a paid withdrawal; hourly reconciliation checks it from Phase 3. |
| Base output | Bound to the account (anti-sybil). Mission and chest loot stays freely tradable. |
| Keys, fragments and tickets | They turn into free chests, so they are never tradable. |
totalSupply(id) always equals the units outside the game. Today players still sign their own mint and withdrawal transactions.contracts/contracts/*.sol · scripts/deploy.cjs · constants.ts (UNTRADABLE_ITEMS, ITEM_CATEGORY) · plan §0.1, §4.1, §4.2 · docs/AVALANCHE-VE-VERI-MIMARISI.md §2.5, §6.1 #12Materials & items
Missions drop elements, and every galaxy location drops its own mix; three new elements come only from the far sectors. The Planet Base adds a bound trickle of ore, crystal and biomass. Elements trade between players for RIFT, get crafted in the Workshop and are destroyed when used, which gives each one a use, a market price and steady demand.
A successful run drops its location's mix (a failed one 20% of it). The base produces bound ore, crystal and biomass.
Player trades in RIFT. The seller pays 3–5% by category, half of it burned (12).
Craft rations, plates, kits, fuel and boosters. Fee $0.04 × L (0.8 RIFT), burned.
Ore and crystal pay for building levels and research.
Used items are destroyed. Supply only comes from play.
Elements
ref. price in RIFT · seller fee| Element | Main source | Ref. price | Fee |
|---|---|---|---|
| Ore | Home T1, T2, T4 · Cinder Reach · Wreck Graveyard · Daily Ops · Ore Mine | 9 / 1,000 | 3% |
| Crystal | Home T3, T5, T6 · Glacial Drift · Maelstrom Giants · Crystal Refinery | 24 / 1,000 | 3% |
| Biomass | Home T5 · Verdant Expanse · Hydroponics | 6 / 100 | 3% |
| Cryo Ice | New · Glacial Drift, Verdant Expanse (Navigation 2) | 12 / 100 | 3% |
| Salvage | Home T3, T4, T6, T7 · Wreck Graveyard | 3 each | 4% |
| Exotic Matter | Home T6 (25%), T7 · Void Rift · deep T6–T7 worlds | 45 each | 4% |
| Helium-3 | New · Maelstrom Giants (Navigation 4), Void Rift (5) | 5 each | 4% |
| Plasma Shard | New · Cinder Reach (Navigation 1), Void Rift (5) | 4 each | 4% |
Reference prices value drops for balance; the market sets real prices. Cryo is priced at twice biomass because no building makes it; he3 sits above salvage because only the two deepest sectors drop it; plasma sits below he3 because the first sector you open already drops it.
What they are for
| Use | Effect |
|---|---|
| Crew rations | 1 per crew per 4 h of mission (Tidefolk need half). Fed crew add +6 supply points. |
| Repair | A Hull Plate restores 15 hull, a Repair Kit the whole hull, without spending RIFT. |
| Fuel | A Fuel Cell adds 30 fuel and a Fusion Cell 60; 3 crafts a day for both together. |
| Boosters | Up to 2 per mission, consumed on launch. |
| Base | Ore and crystal build levels and research. |
| Never traded | Golden Key, Crew Ticket, Key Fragment, Autopilot+. Base output and anything crafted from it stays bound; market buys and anything crafted from them are locked for 7 days. |
Workshop recipes
fee $0.04 × L per craft, burned| Item | Recipe | Effect | All-in* |
|---|---|---|---|
| Rations ×10 | 30 Biomass | Feeds crew; +6 supply points | 2.60 |
| Hull Plate | 150 Ore + 1 Salvage | +15 hull | 5.15 |
| Repair Kit New | 1 Hull Plate + 150 Cryo Ice | Full repair; about 4.65 plates' worth (70 hull) | 23.95 |
| Fuel Cell Upd | 100 Crystal + 80 Ore (was 200 + 100) | +30 fuel · 0.131 RIFT per fuel | 3.92 |
| Fusion Cell New | 1 Helium-3 + 60 Crystal | +60 fuel · 0.121 RIFT per fuel | 7.24 |
| Nav Chart | 60 Crystal | +4 supply points, any tier | 2.24 |
| Targeting Array | 120 Crystal + 2 Salvage | +6 supply points on T3–T5 | 9.68 |
| Shield Core | 80 Crystal + 3 Salvage | +7 supply points, −50% hull damage on T4+ | 11.72 |
| Plasma Charge New | 4 Plasma Shard + 100 Crystal | +8 supply points on T4–T7 · 2.40 RIFT per point | 19.20 |
| Void Stabilizer | 1 Exotic Matter + 150 Crystal | +10 supply points on T6–T7 · 4.94 RIFT per point | 49.40 |
*RIFT at reference prices plus the 0.8 RIFT Workshop fee at L = 20 (a Repair Kit pays the fee twice, once for its plate). Fuel Cell and Fusion Cell share the daily limit of 3 crafts and go straight into the tank.
constants.ts (ITEMS, RECIPES, BOOSTERS, ITEM_CATEGORY, UNTRADABLE_ITEMS, MISSION_DROPS) · galaxy.ts (location drops) · engine.ts (craft) · element reference prices and recipe costs: galaxy content v1.2 · raw-material ref. prices GDD §6.6Galaxy
The star map is now a galaxy of seven sectors on two spiral arms. Each of the 40 locations is a mission destination: it keeps its tier's hours, reward, EP and odds band, and adds its own element mix, a small odds shift and its sector's fuel multiplier. The home sector is today's seven missions, unchanged. The other six open one by one with the Planet Base's Navigation research.
Galaxy at a glance
sectors, the Navigation level that opens them, fuel per run7 locations, T1–T7 · odds shift 0
Ore, crystal, salvage, exotic. Today's missions, unchanged.
6 locations, T1–T6 · −0.01 to +0.02
Lava worlds. Ore is cheap here, plasma is everywhere.
5 locations, T1, T3–T6 · −0.02 to +0.01
Ice worlds. Cryo ice and crystal under every glacier.
5 locations, T1, T2, T4–T6 · −0.02 to +0.02
Ocean and jungle worlds. Biomass and cryo.
6 locations, T2–T7 · −0.03 to 0
An old battlefield. Salvage and ore.
5 locations, T3–T7 · −0.03 to −0.01
Storm giants. Helium-3 and crystal.
6 locations, T3–T7 (two T7) · −0.04 to −0.03
A deep anomaly. Exotic matter, plasma and he3.
Research level N needs Drydock & Lab 2N. Only a finished level counts.
One fleet finishes all research at level 5 around day 65–70 in the base benchmark.
Far, rich and costly to reach
balance rule- Fuel is the price of distance. A T5 Deep Space Survey (8 h) on a ship with fuel factor 1.0 costs 80 fuel at home, 88 in Cinder Reach and 104 in The Void Rift. Exploration is a fuel sink.
- Same pay per flight hour, net of fuel. Every non-home location earns 0.90–1.10 of the home location of its tier per flight hour after fuel (actual range 0.906–1.003).
- Richer loot, where the trip costs more. Success loot is at least 90% of home. It goes above 130% only where the extra fuel and lower odds keep the net at or below home: 11 far locations drop 1.31–1.84 × home (Hollow Lantern the most).
- The mission snapshots its location's drops, odds shift and fuel multiplier at launch, so a later data change never touches a ship in flight.
The explorer
galaxy → sector → planet- Three zoom levels, like a globe app: the galaxy (sector regions, names, elements, lock badges), a sector (the star, orbits, planets with their element ring, tier badge and live odds for the selected ship) and a planet (a large planet view with its element mix, odds, reward, time and fuel, and the launch button).
- Moving around: drag, wheel and two-finger pinch, double-click or double-tap to zoom, +/− and home buttons, a minimap, a breadcrumb (Galaxy › Cinder Reach › Ember IV), a "Go to…" list that also filters by element, and keyboard arrows.
- Fly-to: the camera pulls back, glides and zooms in (about a second); with reduced motion it jumps.
- Ships in flight ride a lane from the Rim Outpost to their planet on the mission clock. Locked planets show "Opens at Navigation N" and a Research button.
- Every number on the map comes from the same engine call that the launch uses, so the preview equals the mission. Works by touch at 375 px, with the briefing as a bottom sheet.
packages/shared/src/galaxy.ts (SECTORS, LOCATIONS) · engine.ts (launch, locationPreview, locationLock, fuelPerRun, oddsBand) · galaxy content v1.2 (balance rows, net-of-fuel reading) · web/src/pages/map.tsPlanet Base
Six buildings and four research branches turn ore and crystal into a slow, capped production loop: mines grow by k·L·1.1L, upgrades cost more each level, storage stops overflow and there is one build and one research queue. The base adds one or two decisions per session and opens the galaxy through Navigation research; missions T1–T7 keep their numbers.
The base produces items only, and no NPC buys items for RIFT.
Base output cannot be exported or listed; spends use bound stock first.
The Silo holds 12 h of output; the Store caps bound stock. Full = production stops.
1 build + 1 research queue. RIFT fees are fixed in USD × L.
Buildings
BUILDINGS in constants.ts| Building | Start | Cap | Base cost ore / crystal · growth | Effect | Energy |
|---|---|---|---|---|---|
| Ore Mine | 1 | 10 | 225 / 45 · ×1.6 | 8·L·1.1^L ore/h (L10: 207) | −10·L·1.1^L |
| Crystal Refinery | 1 | 10 | 190 / 90 · ×1.65 | 5·L·1.1^L crystal/h (L10: 130) | −10·L·1.1^L |
| Hydroponics | 0 | 1 | 250 / 100 | 2.2 biomass/h = 53/day (~84% of a reference fleet's rations) | −6.6 |
| Solar Array | 2 | 10 | 190 / 60 · ×1.6 | +22·L·1.1^L energy (L2: 53, L10: 571) | producer |
| Fuel Refinery | 0 | 8 | 375 / 150 · ×1.7 | Fuel tank ×(1 + 0.05·L), refill ×(1 + 0.03·L) | none |
| Drydock & Lab | 1 | 10 | 375 / 225 · ×1.8 | Repairs −2% per level above 1; research up to ⌊L/2⌋ | none |
Energy: f = min(1, produced ÷ used) slows every mine when use exceeds supply. Solar starts at L2 (53 vs 22 used), so no order of the first two upgrades drops f below 1. Fully built: 571 vs 525 energy, f = 1. Fully built with Geology 5: ore 239/h (5.7k/day), crystal 149/h (3.6k/day), biomass 53/day, bound to the account.
Rules in one block
Here L inside fee and speed-up is RIFT per $1 (20 at the launch reference), so the fees keep their weight if the RIFT price moves. Store minimum: ore 2,000 · crystal 2,000 · biomass 300. New players get a bound starter pack of 600 ore and 300 crystal. Settling is lazy (no cron, no Collect button): whole Silo units move to Cargo on every visit.
Research · 4 branches × 5 levels
| Branch | Per level | At L5 |
|---|---|---|
| Navigation | −2% mission time; opens the next sectors (07) | −10% (T5: 8 → 7.2 h); all 7 sectors open |
| Shielding | −3% hull damage (nominal) | −15% nominal, −10.8% real on a plain ship |
| Logistics | Autopilot repeats +1 point | 0.80 → 0.85 |
| Geology | +3% ore and crystal output | +15% |
Level cost: L1 400 ore / 400 crystal / 5 RIFT ($0.25 × L) / 1 h / Lab 2, doubling every level (L5: 6,400 / 6,400 / 80 RIFT / 16 h / Lab 10). All four branches: 49.6k ore, 49.6k crystal, 620 RIFT, 124 h. Effects are snapshotted at launch, so research that finishes mid-flight never changes a mission in the air.
Cost to max every building
ore / crystal · RIFT fee at L = 20 · build time| Building | L2 | L5 | L8 | L10 | Total ore / crystal | Fee | Time |
|---|---|---|---|---|---|---|---|
| Ore Mine | 360/72 | 1,475/295 | 6,040/1,208 | 15,462/3,092 | 40,632 / 8,126 | 41.6 | 40.3 h |
| Crystal Refinery | 314/148 | 1,408/667 | 6,326/2,997 | 17,223/8,158 | 43,238 / 20,481 | 41.6 | 40.3 h |
| Hydroponics | (L1) 250/100 | — | — | — | 250 / 100 | 0 | 5 min |
| Solar Array | (L3) 486/154 | 1,245/393 | 5,100/1,611 | 13,057/4,123 | 34,007 / 10,739 | 41.6 | 40.2 h |
| Fuel Refinery | 638/255 | 3,132/1,253 | 15,388/6,155 | — | 36,834 / 14,734 | 16.2 | 12.1 h |
| Drydock & Lab | 675/405 | 3,937/2,362 | 22,958/13,775 | 74,385/44,631 | 166,522 / 99,913 | 41.6 | 40.3 h |
| Total | 321.5k / 154.1k | 182.5 | 173 h |
Starting a job takes the materials up front (bound stock first, then market-locked, then tradable) and burns the fee from the vault. Cancelling refunds 100% of the materials, bound stays bound and locked stays locked; the fee is already burned. An L10 build rushed from its start costs about 110 RIFT.
constants.ts (BUILDINGS, RESEARCH, BASE) · base.ts (buildFee, researchCost, speedUpCost) · tools/ogame_bench_results.md (a)Base economy & acceptance gates
The base was tuned in a benchmark against OGame's own formulas: 3 visits a day, greedy building and research, one reference fleet flying T2×3, T3×2, T5×1 with an average team. Its job is to add RIFT sinks and material demand without minting RIFT. Next to the smaller v4 reward (42.64 RIFT gross per fleet per day in the bench), its fees are now a large share of a fleet's gross.
Base RIFT sinks · 1 fleet
cumulative RIFT burned · % of gross| Day | Levels | Research | Speed-up | Total | % of gross |
|---|---|---|---|---|---|
| 30 | 94 | 140 | 37 | 270 | 21.1 |
| 60 | 167 | 300 | 89 | 557 | 21.8 |
| 90 | 182 | 620 | 103 | 905 | 23.6 |
RIFT at L = 20, modest speed-ups (jobs with ≤ 180 min left). Eager speed-ups: 1,097 by day 90; rushing everything from the start: 1,785. Three fleets pay the same fees, a smaller share (day 60: 905 = 11.8% of gross). Gross = 42.64 RIFT per fleet per day, the v4 reward.
Time to max everything
6 buildings + 4 × 5 researchDrydock & Lab L10 is the critical path (day 63.7 for one fleet); research L5, and with it The Void Rift, needs it and ends about six days later. A player without mission drops is 1.46× slower (gate 4b asks ≥ 1.3×), so the base rewards playing, not just logging in. Visit count and speed-up habits barely move these days; the mission mix does (T5-only: day 85).
| Reaches cap | 1 fleet | 3 fleets | No drops |
|---|---|---|---|
| Solar / Ore L10 | 32.3 / 37.0 | 22.3 / 26.0 | 55.3 / 61.7 |
| Fuel L8 / Crystal L10 | 38.9 / 42.0 | 27.6 / 30.0 | 64.2 / 68.0 |
| Drydock L10 | 63.7 | 47.3 | 95.3 |
| Research L5 | 64.7–69.7 | 48.7–52.7 | 96.3–101.7 |
Effect on emission and sinks
| Change | Emission | Sink | Guard |
|---|---|---|---|
| Base output (direct) | 0 RIFT (bound items) | Materials are consumed by levels and research | Binding, Store cap, fleet gate |
| Base output (indirect) | Free rations (+6) and Nav Charts (+4) push supplies toward the cap of 20, so success and emission rise; crafted fuel adds up to 90 (Fuel Cells) or 180 (Fusion Cells) a day against a refill of 168 | Crafted fuel replaces Fuel Depot burns | Gate 6; last valve: the emission coefficient |
| Bound output → market | — | Spends use bound stock first, so every drop the base replaces becomes sellable surplus (1 fleet: 83.6k tradable ore by day 120) | Store cap; gate 5b |
| Navigation −10% | Up to +11% runs/hour for players not limited by visits; opens the far sectors | Far sectors burn 10–30% more fuel | L5 cap (~day 66) |
| Logistics | Autopilot repeats +6.25% | — | Cap |
| Shielding L5 | — | Repair spend −10.8% on a plain ship | — |
| Lab discount | — | Burn unchanged at 70% of the base price; the reserve's share of a repair falls from 30% to 12% at L10 | Reserve inflow |
| Fuel Refinery L8 | +24% refill, +40% tank: a small gain where fuel is the bottleneck | Replaces Fuel Depot burns | L8 cap |
Acceptance gates
must pass before mainnet · plan §3.11| # | Gate | Tool | Result |
|---|---|---|---|
| 4a | One fleet maxes every building and research in 45–75 days | bench | PASS · 69.7 d |
| 4b | A player without drops is ≥ 1.3× slower | bench | PASS · 1.46× |
| 5a | Supply ÷ demand ≤ 1.3 per account (ore, crystal, biomass) at days 60, 90, 120 | bench | PASS · 1 fleet ore 1.20/1.12/1.24, crystal 1.22/1.05/1.12, biomass 1.23; no drops ore 1.08/1.18/1.01, crystal 1.12/1.18/0.98, biomass 0.83 |
| 1 | Every profile within ±1 day (p50, p90) of a base-free baseline | sim | PENDING · Phase 5; needs the base's benefits in the simulator |
| 2 | Fleet gross with research maxed: mid_3 ≤ +5%, active_4 ≤ +10% | sim | PENDING · Phase 5 |
| 3 | Burn share before the core cap stays at or above the pre-base level | sim | PENDING · Phase 5 |
| 5b | Gate 5 at market level: real tier mix, 1 / 3 / 10 fleets | sim | PENDING · Phase 5 |
| 6 | Supplies 20, free materials, +3 crafted fuel a day: p50 moves ≤ 1 day; else tune recipes, then the emission coefficient | sim | PENDING · Phase 5 |
Without the Store cap, gate 5 fails (1 fleet, day 120: ore 2.04, crystal 1.88); so does a bigger Hydroponics or Geology on biomass. The plan v1 numbers failed gate 5 badly (biomass 17.4 by day 120).
tools/ogame_bench_results.md (c), (d), RIFT sinks, sensitivity, findings 6, 8 · tools/roi_results_v4.md (planet-base adoption, sensitivities)Fuel
Fuel works like energy. A run costs 10 fuel per hour × the ship's fuel factor (0.8–1.5) × the location's fuel multiplier (×1.00 at home, up to ×1.30 in The Void Rift), rounded once. Fuel refills at 7 per hour per fleet up to the tank (120 + 180 per ship), and the three Daily Ops add up to +30. Above that, fuel is bought from the Fuel Depot at a USD-tied price, or crafted.
Fuel sources
RIFT at L = 20| Source | Limit | Cost per fuel | Cost goes to |
|---|---|---|---|
| Natural refill | Up to the tank | free | — |
| Daily Ops | +10 per completed op, up to +30 a day | free | — |
| Fuel Depot pack 1 / 2 / 3 | 3 a day, 40 fuel per fleet each; $0.007 / $0.01 / $0.014 × L per fuel | 0.14 / 0.20 / 0.28 | 100% burned |
| Fuel Cell (Workshop) | 100 Crystal + 80 Ore → +30 | 0.131 | Materials destroyed, fee burned |
| Fusion Cell (Workshop) New | 1 Helium-3 + 60 Crystal → +60 | 0.121 | Materials destroyed, fee burned |
| Fuel Canister (chest drop) | Random, +120 | — | Can overfill the tank |
Fuel Cells and Fusion Cells share one limit of 3 crafts a day, so crafted fuel tops out at 90 (Fuel Cells only) or 180 (Fusion Cells) a day. At reference prices crafted fuel costs 0.93 (Fuel Cell) and 0.86 (Fusion Cell) of the cheapest pack, so crafting stays worth it and the Workshop keeps eating materials. In the v4 simulation, fuel packs are 11% of a balanced fleet's gross.
Fuel Refinery
cap L8 · no energy useRefinery L0 → L8
fuel per hour, L0 → L8
Distance costs fuel
T5 Deep Space Survey, 8 h, fuel factor 1.0| Sector | Multiplier | Fuel per run |
|---|---|---|
| Rim Outpost (home) | ×1.00 | 80 |
| Cinder Reach | ×1.10 | 88 |
| Glacial Drift, Verdant Expanse | ×1.15 | 92 |
| Wreck Graveyard | ×1.20 | 96 |
| Maelstrom Giants | ×1.25 | 100 |
| The Void Rift | ×1.30 | 104 |
Mossborn crew take 10% off. An autopilot mission pays the fuel of every run at launch; runs it does not fly after an injury are refunded.
constants.ts (FUEL, RECIPES, DAILY_OPS, BASE.FUEL_*) · engine.ts (fuelPerRun, packOffer, craft) · galaxy content v1.2 (fuelRecipes) · roi_results_v4.md (one fleet's life) · plan §3.4Sinks & burns
Every source of RIFT is designed to have a matching sink. Rewards flow into the in-game vault; repairs, fuel, crafting, recharges, base upgrades and fees flow out, and most of it is burned on-chain in batches. Every fixed RIFT price is set in USD × L, so a sink keeps its weight when the RIFT price moves. Chest revenue adds one more: the buyback burns half of the RIFT it buys.
RIFT flows
the Planet Base adds sinks, not emissionSink table
RIFT figures at L = 20| Sink | Rate | Destination |
|---|---|---|
| Element market fee New | 3% raw · 4% rare · 5% crafted, from the seller; at least 0.01 RIFT | 50% burn · 30% leaderboard · 20% treasury |
| NFT market fee | 5% of every sale, from the seller (fixed in the contract) | 2% burn (on AVAX sales: to RiftBuyback) · 1.5% leaderboard · 1.5% treasury |
| Withdrawal fee | 12% / 6% / 3%; 12% on sale proceeds from the last 7 days | 50% burn · 50% reward reserve |
| Repair (RIFT) | $0.04 × L per hull point (0.8 RIFT); Lab −2% per level | 70% of the base price burned; the rest to the reserve |
| Fuel Depot | $0.007 / $0.01 / $0.014 × L per fuel (0.14 / 0.20 / 0.28), 3 packs a day | 100% burn |
| Workshop fee | $0.04 × L per craft (0.8 RIFT) | 100% burn |
| Core recharge Upd | 0.35 / 0.70 / 1.05 × basis × L, at most 3 per ship | 100% burn |
| Chest buyback New | 40% of USDC (later AVAX) chest revenue buys RIFT | 50% burn · 50% reward reserve |
| Chest paid in RIFT | 10% discount | 50% burn · 50% reward reserve |
| Level fees | $0.10 × L × 1.5L−5 from L5: 2 · 3 · 4.5 · 6.75 · 10.1 · 15.2 | 100% burn |
| Research fees | $0.25 × L × 2L−1: 5 → 80 RIFT per level (620 for all) | 100% burn |
| Speed-ups | $0.005 × L per remaining minute (0.1 RIFT), ≤ 3 min free | 100% burn |
| Far-sector fuel New | ×1.10–1.30 fuel per run outside the home sector | Burned through packs, or materials destroyed through crafting |
| Renames, cosmetics Design | Fixed prices (not in code yet) | 100% burn |
| Materials (non-token) | Destroyed on use | Keeps material prices and RIFT demand on the market alive |
One fleet's costs, % of gross
balanced Starter, v4Repairs, fuel, crafting and recharges: one balanced Starter fleet played to the end at coefficient 1 (roi_results_v4.md). Base fees: the base benchmark, one fleet paying its whole account's fees, at 42.64 RIFT gross per day. Element and withdrawal fees come on top and depend on trading.
Sinks ÷ gameplay emission
by month after launch · population modelBase scenario: every account pays base fees, assumed growth to 10,000 daily players in month 25. Without base fees the month-3 and month-6 means are 0.655 and 0.683. Counting the leaderboard and events too (paid pro rata), the month-6 mean is 0.63.
burnFromReserve (today the server's signer holds the burner role; from Phase 3 a BURNER key with a daily budget). Buyback burns happen inside RiftBuyback.buyback, RIFT chest payments burn in ChestMinter.buy, withdrawal-fee burns in RiftVault.withdraw, NFT-sale burns in the market contract.constants.ts (ECONOMY, FUEL, MARKET, BASE) · engine.ts (marketSplit, repair, rechargeCore, craft) · base.ts (repairSplit, buildFee) · tools/roi_results_v4.md (one fleet's life, month table, §2 readings) · tools/ogame_bench_results.md (RIFT sinks) · RiftVault.sol, RiftBuyback.sol, ChestMinter.sol, NftMarket.solVoidMarket
Elements, materials and items trade in RIFT: today on the in-game desk with vault RIFT, and from Phase 3 also as on-chain listings in VoidMarket, the one contract that will carry ships, crew and items. The seller pays a fee by category and sees it before listing; the buyer pays only the listed price. Ships and crew trade from a wallet in AVAX with the fixed 5% NFT fee. By default players never leave the game: they sell from Cargo into their vault and buy with vault RIFT.
Element market: the seller's fee
MARKET.FEE_BPS| Category | Items | Fee |
|---|---|---|
| Raw | Ore, Crystal, Biomass, Cryo Ice | 3% |
| Rare | Salvage, Exotic Matter, Helium-3, Plasma Shard | 4% |
| Crafted | Rations, Hull Plate, boosters, Repair Kit, Med-Kit, Paint | 5% |
| Ships, crew | NFT sales (fixed in the contract) | 5% |
Where an element fee goes
- The fee is at least 0.01 RIFT, and a listing must ask at least 0.1 RIFT in total, so the seller always nets something.
- A listing keeps the rate it was listed at; later rate changes never touch an open listing.
- The sell form shows only tradable stock: base output and what is crafted from it stay with the account, and Golden Keys, Crew Tickets, Key Fragments and Autopilot+ can never be listed.
What the seller sees
the buyer sees only the price| Listing | Fee | Burn | LB | Treasury | Seller nets |
|---|---|---|---|---|---|
| 1,000 Crystal for 24 RIFT (raw 3%) | 0.72 | 0.36 | 0.22 | 0.14 | 23.28 |
| 5 Helium-3 for 25 RIFT (rare 4%) | 1.00 | 0.50 | 0.30 | 0.20 | 24.00 |
| 1 Repair Kit for 30 RIFT (crafted 5%) | 1.50 | 0.75 | 0.45 | 0.30 | 28.50 |
When listing, the seller sees the rate, the fee, the net RIFT and where the fee goes. The buyer pays the listed price and sees only a note that the seller pays the fee.
An item bought on the market is usable at once but cannot be re-listed or exported for 7 days, and nor can anything crafted from it. That closes "buy with vault → export → sell for wallet AVAX".
RIFT from sales in the last 7 days withdraws at the 12% tier (13), so trading between two accounts cannot skip the withdrawal fee.
Ships and crew: 5% NFT fee
immutable bpsBURN 200 · LB 150 · TREASURY 150bps, fixed in the contract. The buyer pays the listed price; the seller receives 95%.- Today's
NftMarketis priced in RIFT and burns its 2% at trade time; its deploy sends the 1.5% leaderboard share to the leaderboard pool address (the treasury if none is set). - Planned On VoidMarket, wallet sales are priced and settled in AVAX. AVAX cannot be burned like RIFT, so the 2% share goes to
RiftBuyback(design §1.3, which settles the open question from the payment decision). The leaderboard and treasury shares are paid in AVAX; where the leaderboard's AVAX is held and how it reaches the RIFT prizes is still open. - Pause never blocks
cancel,cancelOfferorreclaimExpired: escrowed assets can always come home.
Order types
VoidMarket · Phase 3| Action | How |
|---|---|
| List | Fixed unit price (AVAX for ships and crew, RIFT for items), expiry, partial fills (300 + 700 of 1,000 closes the listing). Ships and crew need a server-signed ListAttest; a ship on a mission cannot be listed. |
| List from the game | Gasless: the player signs a GameListing, the relayer submits it and the items are minted straight into escrow, priced in RIFT. |
| Buy | Ships and crew: payable in AVAX (no approve or permit). Every buy carries a maxUnitPrice guard against front-running and delivers to the wallet or to the game. |
| Buy order (offer) | Items only (ERC-1155). The bid is escrowed; sellers fill from a wallet or from Cargo through the relayer (counts toward export caps). Vault-funded offers are not in the launch version. |
| Change, cancel | The seller signs a ListingAction; the relayer submits it but can never cancel alone. Expired game listings burn back into the game. |
Who pays, who gets paid
default flow: Cargo ↔ Vault| Buyer pays with | Listing pays out to | Result |
|---|---|---|
Vault RIFT (fillForVault) | Vault | No RIFT moves on-chain: the buyer's vault is debited, the seller's credited minus the fee. The item always arrives in the game and is locked for 7 days |
| Wallet RIFT | Vault | RIFT goes to RiftVault with ProceedsToVault; the indexer credits the seller's vault, and the 7-day fresh-proceeds rule applies |
| Wallet AVAX (ships, crew) | Wallet | Buyer → seller on-chain in AVAX; the fee is split on-chain, with the 2% share to RiftBuyback |
| Vault RIFT | Wallet | Reverts. Reserve RIFT would skip the withdrawal fee |
Anti-wash and caps
Market buys are locked for 7 days and sale proceeds leave at 12% for 7 days. Together they close the routes that would skip the 72 h gate, the 12% tier and the new-account cap.
At least 5 RIFT, 5 per account per day, at most 20 open listings per seller, plus address rate limits.
Vault-to-vault transfers through alt accounts exist today. Guard: a daily per-address value cap on vault buys and an alarm on repeated counterparties.
constants.ts (MARKET, ITEM_CATEGORY, UNTRADABLE_ITEMS, MARKET_FEE_SPLIT, BASE.VAULT_BUY_LOCK_DAYS) · engine.ts (marketSplit, listingQuote, takeItems, giveItems, receiveSale) · NftMarket.sol · plan §4.2, §4.3, §6 · docs/AVALANCHE-VE-VERI-MIMARISI.md §2.5, §6.1 #12Vault & withdrawals
Earnings land in the in-game vault first. Spending from the vault (market, repairs, fuel, recharges) skips the withdrawal fee, which keeps tokens in play. Leaving goes through a signed EIP-712 voucher that the player submits to RiftVault.withdraw.
Rules
| First withdrawal | 72 h after the first ship or crew arrives (mint, purchase or gift) |
| Minimum | 500 RIFT |
| Sale proceeds from the last 7 days | 12%, whatever the tier |
| Accounts under 30 days | $1,000 per day · enforced from Phase 2 |
| Fee destination | 50% burn · 50% reserve |
| Unused voucher | auto-refunded after 30 min |
The rest of the vault goes out first at its tier rate; only the part drawn from fresh proceeds pays 12%. Spending never uses up fresh proceeds first, and the quote shows both parts.
Wash trade between two accounts
cost of moving RIFT out via a sale| Route | Cost | Beats the 12% tier? |
|---|---|---|
| Before: 5% market fee, then the 3% tier | 7.85% | yes |
| 3% raw-element fee, no seasoning, then 3% | 5.91% | yes |
| 3% raw-element fee, proceeds at 12% for 7 days | 14.64% | no |
What the plan still changes
- One shared cap, enforced. The new-account $1,000/day is defined but not enforced today. Phase 2 enforces it on withdrawals; from Phase 3 one cap covers withdrawals, item exports, game listings and offer sales together.
- Same 72 h gate for the first item export and the first game listing (Phase 3).
- Safe credits (Phase 3). Value-writing events are credited at the chain's
safehead, and voucher refunds readsafetoo.
constants.ts (WITHDRAW_*, SALE_SEASON_DAYS, SALE_SEASON_FEE, NEW_ACCOUNT_*) · engine.ts (withdrawQuote, freshSales, applyWithdraw) · roi_results_v4.md (wash trade) · plan §2 (#15, #16), §4.3, §4.5ItemBridge
Items leave the game with a signed voucher and come back by burning. The bridge is the only minter of VoidItems, and every mint is checked against the game ledger every hour.
Flows
| Flow | Steps |
|---|---|
| E1 · Export | Checks (tradable quantity, not locked, 72 h gate, shared cap, remaining on-chain cap) → in one database transaction: take the items, write the ledger, issue the voucher and sign it → the player or relayer calls withdraw; the mint always goes to the player. |
| E2 · List from the game | Same checks + minimum value + quota + a GameListing signature → relayer listFromGame → minted into market escrow. |
| E3–E4 · Import, buy into the game | depositToGame (or buy(toGame), fillForVault) burns the tokens and emits ItemsDeposited → credited at the safe head. A double import credits once. |
| E5 · Refund | An unused voucher is credited back after its deadline + 10 min if the nonce is still unused; early refunds cancel the nonce first. |
| E6 · Cancel into the game | The seller signs a cancel; the relayer submits; the listing burns back into Cargo. |
Caps
| First export | 72 h after the first mint |
| Per player, per day | 2 × max daily drops per fleet × fleets, with the max taken from the richest location for each item. Bound output never counts toward it; game listings and offer sales do. |
| Global, per item, per day | ≥ 10× expected volume; alarm at 50%; throttling per account so one actor cannot lock everyone out. The server reads the remaining on-chain cap before signing. |
| Per voucher | Up to 16 item ids, each with a tradable flag and daily cap |
Hourly reconciliation
breach → alarm + GUARDIAN pauseExtra check: Σ vault balances + pending vouchers ≤ RiftVault balance − reserved reserve. Rollback switch ITEM_MARKET_MODE = offchain | dual | onchain; even if bridge minting stops, depositToGame keeps working.
RewardReserve.sol, RiftBuyback.sol (RiftVault inflows)Mint revenue
Chests are priced in USD. Today they are paid in USDC, or in RIFT at a server-signed quote with a 10% discount; half of a RIFT payment is burned and half goes to the reward reserve. Planned: native AVAX becomes the default, at a short-lived server-signed quote (about 2 minutes) that ChestMinter checks against the Chainlink AVAX/USD feed, rejecting it beyond a small deviation (about 2%) or when the feed is stale; msg.value must equal the quote, and USDC stays optional. Randomness comes from Chainlink VRF and the rarity odds are public in the contract.
Products
| Product | Price | Contents | Ship basis |
|---|---|---|---|
| Starter Chest | $100 | 1 ship + 3 crew + 1–4 bonus drops | $100 |
| Commander Chest | $300 | 3 ships + 9 crew + 3 × (1–4) drops, first ship Rare+ | 3 × $100 |
| Ship Mint | $50 | 1 ship + 1 drop | $50 |
| Crew Mint | $17 | 1 crew + 1 drop | — |
| Golden Key (or 5 Key Fragments) | free | A Starter Chest, on a quote signed as free | $30 |
| Crew Ticket | free | A Crew Mint | — |
Rarity odds: Common 50% · Uncommon 28% · Rare 14% · Epic 6% · Legendary 1.8% · Mythic 0.2%. Pity: a Rare+ ship is guaranteed after 10 ships in a row below Rare. Bonus drops: Fuel Canister 38% · Repair Kit 22% · Autopilot+ 14% · Med-Kit 10% · Key Fragment 8% · Paint 5% · Bonus Crew 2.5% · Golden Key 0.5%. The basis sizes the ship's reactor core (03).
Every $100 of chest revenue goes to
set at deployReplaces edition 2.0's 40% reward reserve · 20% liquidity · 15% development · 15% marketing · 10% leaderboard. The leaderboard is now funded by the reward pool and the element market (16). ChestMinter.distributeRevenue() splits the USDC it holds; with the AVAX path, AVAX revenue follows the same split.
How the buyback works
RiftBuyback.sol- A keeper job on the game server calls
buybackonce per input per round. The amount is the least of the balance, the per-call cap and what is left of today's cap.minOutis the router's fresh quote minus 1% slippage, never below the floor, so a swap that moves too far reverts. The keeper cannot pick a pool: the router and routes are set by the admin multisig. - Price floor. The floor is the least RIFT per token the admin accepts, which makes it the highest RIFT price the contract pays. A cap or floor of 0 turns that input off. While RIFT trades above that price, no swap can meet the floor: buybacks stop and the USDC waits in the contract until the admin lowers the floor. A leaked keeper key can at worst buy at the floor price, and only up to the daily cap per token per day.
- Deviation guard. The keeper also skips a quote more than 5% below the median of its last 12 quotes from the past 24 h (from the 4th quote on), so it does not buy from a pool someone has just pushed. A lasting price move enters the median within a few rounds.
- Swaps run through a Uniswap-V2-style router (for example LFJ on Avalanche); native AVAX is wrapped to WAVAX first. The burn share (
burnBps, 5000 = 50%) is an admin setting; the admin can pause and unpause the contract. - AVAX paid for NFT sales on VoidMarket sends its 2% fee share to the same contract.
Does the buyback keep up?
v4 population model · year-1 fleetsRIFT per $100 of chests at $0.05 (40% of $100)
RIFT per $100, year-1 fleets over their life
target ≥ 0.5 · 0.63 with no base fees
without / with base fees · 0.71 at 5% churn a month
Coverage = RIFT the buyback buys with year-1 chest revenue ÷ RIFT that year-1 fleets withdraw. Half of what it buys is burned (400 RIFT per $100) and half goes back to the reward reserve. The model assumes every buyback runs at $0.05. The daily cap binds once the buyback share passes 25,000 USDC a day (about $62,500 of chests), and the floor pauses buying while RIFT is above $0.10; in both cases the USDC waits and is bought later.
constants.ts (CHESTS, PITY_LIMIT, DROP_COUNT, DROP_TABLE, FREE_SHIP_BASIS) · ChestMinter.sol (MintQuote, payMethod, RARITY_BPS, distributeRevenue) · RiftBuyback.sol (maxPerCall, dailyCap, remainingToday, priceFloor, minOutFloor) · server/src/jobs.ts (runBuyback, deviation guard) · scripts/deploy.cjs (revenue split, routes, caps, floor) · roi_results_v4.md (buyback coverage, finding 6) · docs/AVALANCHE-VE-VERI-MIMARISI.md §2.5, §6.1 #12Leaderboard pool
Ranked by exploration points (EP) from successful missions; riskier maps give more EP per hour. Only an account's best 5 fleets count, and the season resets every Monday 00:00 UTC. The pool is funded by the reward pool and the element market, no longer by chest sales.
Pool sources
| Emission share · 15% of B(y), paid pro rata: each week pays 15/80 of the gameplay RIFT emitted that week, up to the week's budget | Y1 ≤ 317,308 / week |
| Element market · 30% of every item fee | 0.9–1.5% of the sale |
| NFT sales · paid in AVAX on VoidMarket wallet sales; how it reaches the RIFT prizes is open | 1.5% of the sale |
The 5% events budget is paid the same way (5/80 of gameplay emission). Budget a week does not pay stays in the reward pool. The weekly job pays the top 100 accounts into their vaults automatically. Design only, not in code yet: an anti-bot review of the top 100 before payout, and a cosmetic Leviathan Hunters side board (most T7 wins).
Payout ladder
LEADERBOARD.PAYOUT_BPS| Rank | Each | Band total |
|---|---|---|
| 1 | 15% | 15% |
| 2 | 10% | 10% |
| 3 | 7% | 7% |
| 4–10 | 3% | 21% |
| 11–50 | 0.8% | 32% |
| 51–100 | 0.3% | 15% |
constants.ts (LEADERBOARD, EMISSION.SPLIT, MARKET.FEE_SPLIT) · engine.ts (leaderboardWeeklyCap, proRataPayout, weeklyScore, payoutShares) · server/src/jobs.ts (settleLeaderboard)Control valves & keys
Valves slow the economy down automatically when it runs hot, and most of them are now hard limits rather than soft ones. Today one server key holds the signer and burner roles; from Phase 3, separate keys make sure no single hot key can mint, pay or pause on its own.
Valves
| Valve | Trigger | Effect | Status |
|---|---|---|---|
| Emission coefficient | Forecast demand is above the cap minus the debt | One rate per UTC day, min(1, (cap − debt) ÷ forecast), fixed at the day's first claim and paid to every claim of the day, down to 0 | Implemented |
| Overshoot debt | A day emits more than its cap | The excess lowers the next days' rates until it is repaid (30-day look-back) | Implemented |
| Emergency breaker | A claim would push a day past 1.5 × its cap | That claim is paid the capacity left, later ones nothing; a warning is logged | Implemented |
| Yearly decay | Every 365 days from TGE | Budget × 0.8, enforced by RewardReserve | Implemented |
| Claim window | A claim more than 72 h after the mission is back | Counts against the claim day, at its coefficient | Implemented |
| Locked-rate band | Price moves fast | New-mint rate moves max ±15% a week, capped at 4× launch | Implemented |
| Reactor core | A ship has earned 1.5 × its basis | RIFT earnings stop until a recharge (0.35 / 0.70 / 1.05 × basis, burned); after 3, retired at 6 × basis | Implemented |
| Basis = price paid | Every mint | A smaller core for cheaper ships; free-chest ships get 30% of the nominal basis | Implemented |
| USD × L prices | The RIFT price moves | Repairs, fuel, crafting and base fees keep their USD weight | Implemented |
| Market lock and seasoning | A market buy or sale | Bought items locked 7 days; sale proceeds withdraw at 12% for 7 days | Implemented |
| Daily caps | Always | 3 fuel packs; 3 Fuel or Fusion Cells together | Implemented |
| Buyback guard | Every buyback | Admin-set route, caps per call and per UTC day, an admin price floor under minOut, deadline, pause; the keeper skips a quote more than 5% below its recent median | Implemented |
| New-account cap | Account younger than 30 days | $1,000 a day across withdrawals, exports, game listings and offer sales | Phase 2–3 |
| Store cap and binding | Bound stock reaches the Store | Base production waits in the Silo, then stops | Phase 1 |
| Export caps | Per player and per item per day | Vouchers refused above the cap; alarm at 50% of the global cap | Phase 3 |
| Vault pause | The GUARDIAN pauses by hand (automatically on drift from Phase 3) | Deposits and withdrawals stop; only the admin unpauses | Implemented |
| Reconciliation | Ledger and chain disagree | Alarm + automatic pause by GUARDIAN | Phase 3 |
Keys
split from today's single hot key in Phase 3| Key | Can do |
|---|---|
| Admin (multisig) | Every admin role moves to ADMIN_ADDRESS at deploy and the deployer renounces its own. ChestMinter ownership is offered to ADMIN_ADDRESS at deploy (Chainlink's two-step ConfirmedOwner); the handover completes when it calls acceptOwnership(), and until then the deployer still owns ChestMinter. Routes, caps, buyback price floors and recipients change only here; a 24–48 h timelock is planned. It has to move the buyback floor as RIFT's price moves. The admin also holds the RiftBuyback pause; whether the GUARDIAN should get it too is an owner decision. It is fully trusted over RiftVault: payFromReserve moves any amount out, and it can grant itself the signer role and raise the withdrawal caps. RiftVault holds every daily release and the RIFT behind player balances; whether its admin goes behind the timelock first, or the keeper releases only what has been earned, is an owner decision. The same key decides where revenue goes and who mints: the router, routes, floor, reserve and burn share of RiftBuyback, the revenue split, RIFT reserve and quote signer of ChestMinter, and the minter role of the ships and crew. A compromised admin could therefore also take the USDC and AVAX waiting in RiftBuyback and every undistributed and future chest payment, and mint unlimited ships that draw on the daily emission. |
| KEEPER New | RewardReserve releases and RiftBuyback buybacks, within the schedule, the caps and the price floor: a leaked key can at worst buy at the floor price, up to the daily cap. Defaults to the server signer unless KEEPER_ADDRESS is set. |
| RIFT signer | RiftVault withdrawal vouchers and chest quotes, which now sign the payment method. |
| BURNER | burnFromReserve. Today the server signer holds it with no limit; a separate key with a daily budget comes in Phase 3. |
| ITEM_SIGNER (KMS) | Sign only: item vouchers, ListAttest. Cannot send transactions (Phase 3). |
| RELAYER | listFromGame, fillForVault, actWithSig, fillOfferFromGame, cancelNonce (Phase 3). |
| GUARDIAN Upd | Pause only: RiftVault PAUSER_ROLE from the deploy (GUARDIAN_ADDRESS; without it the admin holds it). Only the admin unpauses. The automatic pause on reconciliation drift comes in Phase 3. |
| Team multisig | The fixed TeamVesting beneficiary; it can rotate its own signers. |
The Phase 3 contracts (VoidItems, ItemBridge, VoidMarket) follow these rules: OpenZeppelin 5.x, nonReentrant on every entry, separate EIP-712 domains and immutable fees. The v4 contracts are smaller: RewardReserve and TeamVesting only pay out within their schedule, RiftBuyback.buyback is nonReentrant, and its burn share (burnBps, 50%), caps and price floors are admin settings, not immutable; a cap or floor of 0 turns an input off. Audit starts at contract freeze (about week 3 of Phase 3).
engine.ts (fixDayCoef, breakerCoef, emissionCoefOf, emissionDay, rechargeOffer, isRetired) · server/src/store.ts (emissionCoefs) · server/src/jobs.ts (runBuyback) · server/src/chain.ts (currentLockedRate) · RiftBuyback.sol, RiftVault.sol, RewardReserve.sol · scripts/deploy.cjs (admin handover, GUARDIAN_ADDRESS, KEEPER_ADDRESS, BURNER_ROLE, buyback limits)Roadmap
The plan ships in five phases. Each phase has an acceptance check; mainnet waits for the balance gates and the audit.
Already in code
Implementeddemo · deployable to a testnetMissions T1–T7, fleets, Workshop, fuel, vault, the item market and the weekly leaderboard. The v4 economy in the engine and the game server (keeper jobs off by default): emission schedule, reactor core lifetime, basis by price paid, element fees, the 7-day lock, fresh-proceeds seasoning and USD × L prices. The galaxy (7 sectors, 40 locations) and its explorer in the demo. Contracts
RiftToken,VoidShips,VoidCrew,ChestMinter,RiftVault,NftMarket,RewardReserve,TeamVesting,RiftBuyback: written and tested, pre-audit, not on mainnet.Engine + demo
Done · in demo~2 weeksBase constants, the base engine, mission hooks, bound stock, item effects, demo seed, art unification, the simulator baseline.
Server + database
In progress~1.5 weeksBase routes and the item ledger are in progress. The v4 wiring is done: one emission rate per day (forecast, overshoot debt, 1.5 × breaker,
GET /emission/today), the fee rate stored per listing, tradable-only sell lists, the purchase lock, fresh-proceeds seasoning, location launches, the payment method in chest quotes, the withdrawal clock for a first ship or crew that is bought or gifted, and the burn receipt check; the keeper jobs (reserve release, buybacks inside the contract's caps and floor, with a deviation guard) are in place behind flags, off by default.- Fixes from the plan: new-account cap, 503 on chain writes when the chain is not ready.
- Two concurrent builds: one wins. Silo cut at 12 h. Ledger equals inventory change. Burns grow by the fees.
Planet Base UI live
Planned~1–1.5 weeks, parallel with 3Six building cards, research tab, Silo/Store strip, queues, HUD output rates, claim → launch → build in one button.
Contracts + indexer
Planned~4 weeks + 7-day soakVoidItems,ItemBridge,VoidMarket(items in RIFT, ships and crew in AVAX), indexer v2, relayer, reconciliation, vesting contracts for the other 39% of the supply; Avalanche Fuji indualmode. TheChestMinterAVAX path (PAY_AVAXchecked against Chainlink AVAX/USD) lands before contract freeze. Audit starts at contract freeze.- Reconciliation drift 0 during the soak; export/import credit once; fees exact; gas within ±30%.
Market UI
Planned~2 weeks, parallel with auditItem desks on VoidMarket with buy orders, the seller fee panel, Inventory (bound / locked / tradable), "Advanced / Wallet" export and import, Vault state machine. Demo labels say "Simulated settlement".
Balance + mainnet
Planned~2 weeksSimulator gates with the base's benefits and the far sectors, telemetry, audit fixes, multisig, one-time listing migration, Avalanche C-Chain mainnet in
onchainmode.NftMarketremoved.
Open owner decisions
recommendation or finding in brackets- Ship Mint and free-chest payback below the 60-day floor (p10 42.3 and 23.4 days). (smallest fix: a $69 one-ship basis, as the Ship Mint price or a 69% free-ship basis; or an engine rule change)
- Planet-base adoption vs the §2 targets. (no base fees: 5 of 6 targets met; every account paying them: 4 of 6, median payback 246 days; one target has to give)
- Reading of the sink target: gameplay emission only, with leaderboard and events paid pro rata instead of at their fixed budget. (needs sign-off in the design doc)
- Far-sector loot: 11 locations drop 1.31–1.84 × home to keep pay per flight hour level after fuel, above the 90–130% band. (alternative: a smaller fuel surcharge or smaller odds cuts)
- Rarity power: Epic full-match fleets pay back at a median of 52 days, Mythic at 27. (compress or keep as the rarity reward)
- Early-backer and public-sale shares if those rounds do not happen (to the treasury or ecosystem) · buyback burn/reserve split (50/50 proposed) · element fee rates and split (3/4/5%, 50/30/20 proposed)
- Where the AVAX leaderboard and treasury shares from NFT sales are held, and the minimum fee on AVAX sales. (open, 23 Oct 2026)
- Keep base output bound? (yes; a tradable version would need ≤ 0.3× output and matching costs) · Keys and tickets never tradable? (yes, pending legal review)
- Relayer gas budget: 10k actions a day ≈ $45–450 at 0.01–0.1 gwei. A second build queue for RIFT? (not at launch; pay-to-win risk) · Shielding rounding (round once: −10.8% at L5 on a plain ship)
tools/roi_results_v4.md (findings 1, 3, 5, 7) · galaxy content v1.2 (balance summary) · docs/AVALANCHE-VE-VERI-MIMARISI.md §2.5, §6.1 #12PvP limits
An opt-in Red Sector is planned after launch, outside phases 1–5 (the explorer already shows a teaser at the galaxy core): +20% rewards and +50% EP, but fleets there can be intercepted. Losses are capped so PvP can never drain a player.
| Rule | Limit |
|---|---|
| Stealable tokens (cargo in transit only, never the vault) | 15% |
| Stealable materials (unprotected storage) | 10% |
| Daily PvP loss vs daily earnings | 20% |
| NFT destruction | never |
| War tax on loot (burned) | 10% |
Risks & disclaimer
Emission does not grow with players. If many join, the coefficient falls (to about 0.6 in year 3 on the base path) and every fleet earns less. The server's forecast leans low: a day where the cap binds pays at most cap ÷ 1.1, and the shortfall is never paid back.
Base output and far-sector loot could push supply above demand. Cheap Helium-3 (under about 4.90 RIFT) would make crafted fuel replace more pack burns than modelled. Gate 5b and telemetry watch it.
The simulator flies only the home sector, leaves out the base's benefits and chest drops, fixes the RIFT price and sets each day's rate from that day's actual demand (a perfect forecast). Real players and prices will differ.
Reorgs, key management, relayer gas, buybacks into thin liquidity and the admin key. Credits wait for the safe head, keys are split, buybacks carry daily caps and a price floor, and reconciliation pauses on drift. A compromised admin could redirect reward releases and empty RiftVault with payFromReserve, which holds every daily release and the RIFT behind player balances. It could also take the revenue waiting in RiftBuyback and every chest payment (by swapping the router or the revenue split) and mint unlimited ships that dilute emission, so it is a multisig with a timelock planned.
The AVAX payment path, VoidMarket, ItemBridge and the vesting contracts for 39% of the supply are not written. Every contract is pre-audit.
Loot boxes and token rules need a legal opinion. Keys, fragments and tickets are never tradable, which keeps free chests off the market.
Not financial advice
This page describes a game economy under development. Nothing here is an offer to sell or a solicitation to buy any token or security, and nothing here is investment, legal or tax advice. Figures come from simulations, contracts and design documents; real outcomes will differ. Only spend what you are happy to spend on a game.