Every figure this handbook states, with the call that produced it. All of these were read off the deployed contracts rather than from notes — a manual that quotes numbers the game does not use is worse than no manual.
Time
Value
Read from
Mutable
Epoch length
7 days
registry.epochLength()
immutable
Claim cooldown
4 hours
production.claimCooldown()
owner
Storage, in own output
3 days
production.capSeconds()
owner
Raid transit
8 hours
raid.RAID_DELAY()
constant
Defence sealed before impact
15 minutes
raid.DEFENCE_CUTOFF()
constant
Raid written off after
24 hours
raid.ABANDON_AFTER()
constant
Siege reserve melts over
6 hours
raid.reserveWindow()
owner
Wall stand-down
8 hours
raid.UNARM_DELAY()
constant
Vendetta cooldown
24 hours
raid.VENDETTA_DURATION()
constant
Shield after a repel
12 hours
raid.SHIELD_DURATION()
constant
Production
Value
Read from
Mutable
Base rate, SCRIP per $ per epoch
70
production.ratePerUsdPerEpoch()
owner
Funding share
100%
production.fundingBps()
owner
Material share of output
1%
resources.mintBps()
owner
Minimum holding to count
$25
registry.paramsStruct().minTicketUsd
owner
The three ladders
Value
Read from
Mutable
Weekly industry ranking
0.7x – 1.3x
registry.paramsStruct().base / .spread
owner
Daily company ranking
0.75x – 1.25x
dailyOracle.base() / .spread()
owner
Staking boost ceiling
1.2x
production.boostCeilingBps()
owner
CDLT for full cover, per $
100
production.tokensPerUsd()
owner
Combined range
0.52x – 1.95x
the three multiplied
derived
TWAP window
1 hour
registry.paramsStruct().twapWindow
owner
Building
Value
Read from
Mutable
Base cost, level 1
100 SCRIP
registry.paramsStruct().buildingBaseCost
owner
Maximum level
10
registry.paramsStruct().maxBuildingLevel
owner
Bonus per level
25%
registry.paramsStruct().levelBonusBps
owner
Base build time
4 hours
registry.paramsStruct().buildBaseSeconds
owner
Cover target
4 sub-industries
registry.paramsStruct().kTarget
owner
Era skip cost
500 SCRIP
registry.paramsStruct().eraSkipBaseCost
owner
Raiding
Value
Read from
Mutable
Wall wear per unit of loot
200%
raid.wallWearPerLootBps()
owner
Maximum wall damage in one hit
60%
raid.maxWallDamageBps()
owner
No-penalty size band
2x
registry.paramsStruct().mismatchPlateau
owner
Falloff past that band
power of 4
registry.paramsStruct().mismatchAlpha
owner
Hard size floor
not set
raid.minMismatchWad()
owner
Minimum attacker city size
not set
raid.minAttackerPowerUsd()
owner
Minimum attacker frontier
not set
raid.minAttackerFrontier()
owner
Loot ceiling per unit of force
3x
raid.carryPerForceBps()
owner
Defender's cut of a repel
30%
raid.repelPayoutBps()
owner
Minimum build depth to attack
Level 3
raid.minAttackerBuildLevel()
owner
Shares seized per raid
5%
vault.seizePerRaidBps()
owner
Shares seized per epoch
15%
vault.seizePerEpochBps()
owner
Protection
Value
Read from
Mutable
New-account immunity
4 epochs
registry.paramsStruct().newAccountImmunityEpochs
owner
Immunity value ceiling
$1,000
registry.paramsStruct().immunityValueCeilingUsd
owner
Shields, paid in USDG rather than SCRIP:
Cover
Price
Cooldown after
24 hours
$15
3 days
48 hours
$30
5 days
7 days
$120
20 days
Standing
Value
Read from
Mutable
Rank ladder
1, 5, 15, 35, 70, 120, 180, 260
buildings.rankLadder()
owner
What the number counts
Total building levels
buildings.standingOf()
derived
Guilds
Value
Read from
Mutable
Levy on outsiders
5%
guilds.levyBps()
owner
Member cap
50
guilds.MAX_MEMBERS()
constant
Score cap per member
$25,000
guilds.scoreCapUsd()
owner
The universe
Value
Read from
Mutable
Companies
61
registry.tickerCount()
owner
Industries
5
registry.sectorCount()
owner
Sub-industries
24
registry.subIndustryCount()
owner
Minimum companies to open an industry
3
registry.paramsStruct().minTickersPerSector
owner
“owner” on the last three means the registry is append-only: an industry or a company can be added, but nothing is ever deleted — ids are permanent, and an entry is deactivated rather than removed.