Genesis

Every Anemos network starts from a genesis document that fixes the initial state: the genesis time, the consensus and stablecoin parameters, the account allocation, and the bootstrap validators. Because the parameters are frozen into the genesis hash and re-validated at node startup, every node agrees on an identical starting point.

Fair launch

Anemos launches fair: no premine, no treasury balance, no foundation/team reward, and no supply cap. This is the central reason Anemos forked rather than built on top — a genesis allocation cannot be changed from a contract; only a fork resets it.

  • The Treasury address is a zero-balance sentinel. It is not a premined pool — it exists only as the source from which the per-block subsidy is minted (recipients are credited with no sender debit). See Incentive.
  • There are no reserved/insider accounts. The genesis allocation is a transparent fair-launch bootstrap distribution; the embedded mainnet.json/testnet.json currently carry a reproducible placeholder set (derived from a public, documented seed via genesis/gen) until the real launch allocation is finalized.

Genesis information

The genesis document (genesis.json) pins:

  • Genesis time — the moment block heights are measured from (genesisTime + N·BlockInterval).
  • Consensus parameters — block interval, committee size, bond/unbond/sortition intervals, the block reward, min/max stake (see Consensus parameters).
  • Stablecoin ModuleParams — the validated launch configuration for the native stablecoin and oracle (collateral floor, comfort band, price/ratio TWA factors, the emission split, oracle tolerance and the deviation-slash fraction). These are part of the genesis document, frozen into the hash, and validated at startup — so a misconfigured or governance-attacked genesis is rejected loudly rather than silently mis-running the module.
  • Accounts — the fair-launch funded addresses (account #0 is the zero-balance Treasury sentinel).
  • Validators — the bootstrap validators, defined by their public keys, that initiate the chain.

The genesis block

The genesis block is height 0; the first block the committee proposes and commits is height 1. The genesis block’s previous block hash is 0 (no predecessor) and it has no previous certificate — it is the only block without one. Like every Anemos block it carries an OracleData section (absent/empty at genesis), so the block format is uniform from the very first block.

Networks

ChainType selects mainnet, testnet, or localnet. The embedded mainnet and testnet documents are generated from a fixed, documented seed and a pinned genesis time, so regenerating them is deterministic and byte-reproducible — the deployed network and the embedded genesis are equal by construction, and a redeploy keeps the same genesis hash. A localnet genesis is built on the fly by the node and the dev tooling.

FAQ

Where can I see the genesis information?

In the genesis.json of a running node’s working directory. The mainnet and testnet genesis are also embedded in the binary (genesis/mainnet.json / genesis/testnet.json), so a freshly initialized node writes the canonical genesis for its network to disk automatically.

How many coins exist at genesis?

There is no premine and no supply cap. The Treasury holds zero, and the only genesis balances are the fair-launch bootstrap allocation. Supply then grows every block by the minted, decaying emission schedule with a perpetual tail.

$$ 1 \text{ ANM} = 10^9 \text{ Gust} $$

Last updated on