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 audited launch configuration for the native stablecoin and oracle (collateral floor, golden band, EMA 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 1. Its previous block hash is 0 (no predecessor) and it has no previous certificate. 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 documents live in genesis/ and are regenerated by genesis/gen; a localnet genesis is built on the fly by the node and the devnet/testnet tooling. The live testnet is redeployed from infra/testnet/gen (a fresh genesis time each run yields a new chain hash).

FAQ

Where can I see the genesis information?

In the genesis.json of a running node’s working directory, or the embedded genesis/mainnet.json / genesis/testnet.json in the repository.

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{ NanoANM} $$

Last updated on