Skip to content
Animica Network

Mainnet parameters, history and endpoints

Everything on this page can be re-derived from the public RPC or from the repository. Live values are polled from rpc.animica.org by your browser; the tables below are protocol constants and dated facts.

Head
TPS
Age
Checking…

Chain parameters

Animica is a single-chain proof-of-work network. There is no validator set, no staking and no checkpointing authority; the canonical chain is the heaviest valid chain under the PoIES acceptance rule, with a reorg depth bound enforced since block 75,000.

ParameterValueNotes
Chain id1Mainnet. Testnet is 2, devnet 1337. Signatures commit to the chain id, so a tx cannot be replayed across networks.
Genesis time2026-04-06T00:00:00ZHeader timestamp 1775433600.
Genesis hash0xa0892158cf997c56e91d0aa12e60c36037dae34800a2b54111a8fa17ec88b7deReturned by chain.getChainIdentity and chain.getBlockByHeight [0].
Fork id3511060514Included in the signing wrapper animica:sign/v1 together with the chain id.
Native coinANM, 9 decimals1 ANM = 1,000,000,000 nANM. All RPC amounts are integer nANM (often hex-encoded).
Block target60 sMeasured average is higher (about 67-70 s on 2026-08-23) because Θ retargets with an EMA and hashrate moves.
Proof of workSHA3-256 over header || noncePoIES acceptance: S = H(u) + Σψ ≥ Θ, with Σψ = 0 for every mainnet block so far.
DifficultythetaMicro (Θ, micro-nats)EMA retarget on ln(dt/T); bounded per-step and globally since block 75,000.
Signature schemeML-DSA-65 (FIPS 204), id 0x1003The only scheme accepted for new transactions. SPHINCS+ (0x1002) is legacy and cannot sign on mainnet.
Address formatbech32m, HRP animPayload u16be(alg_id) || SHA3-256(pubkey); accounts start anim1zqp, contracts use alg id 0x0000.
Transfer fee21,000 gas × 1 nANM0.000021 ANM on mainnet today; eth_gasPrice returns 0x1.
Max tx size131,072 bytesEnough for several ML-DSA-65 signatures (3,309 B each) plus CBOR body.
Reorg bound100 blocksUniform finality depth enforced since block 75,000 (consensus/finality.py).
Emission300 ANM/block at genesis, halving every 1,350,000 blocksCode-enforced hard cap of 900,000,000 ANM; 81,000,000 ANM premine at height 0.

The 60-second target and the emission schedule are read from spec/params.yaml and consensus/rewards.py; the reward split is the one in force since block 75,000. See ANM tokenomics and emission for the full schedule and difficulty adjustment and Θ for the retarget maths.

Consensus forks

Rule changes are forward-only and height-gated: blocks below the activation height are validated under the old rules, so history is never rewritten, and a node that has not upgraded keeps peering until the first rule-violating block appears. Activation heights are pinned in core/network_params.py and are not folded into the params hash, which is why upgraded and legacy nodes can still talk during the upgrade runway.

HeightReleaseFlagsEffectKind
40,0006.0.1FORK_PQ_HARDENING, FORK_ROOT_COMMITMENTMandatory signature verification (ML-DSA-65 only) and header root checks.Reject rule
42,0007.0.0FORK_ADDRESS_FREEZEBlocks containing a non-coinbase tx touching a known-compromised address are rejected. One address is frozen.Reject rule
42,0017.1.0FORK_FOUNDATION_SPLITBlock subsidy re-split 85% miner / 15% foundation treasury. Total emission unchanged.Emission
44,4447.1.9FORK_STATE_COMMITMENT"Inclusion implies execution": state-commitment enforcement plus a value-preserving clawback migration.Reject rule + migration
50,0008.0.1 / 9.0.0FORK_VPN_RELAY_REWARDS (IOU settlement)Service IOUs (dVPN, AI, media) settled from the coinbase, at most 50 ANM/block carved from the miner share. Shipped inert; no extra minting.Emission (carve)
75,0009.5.0 - 9.6.0FORK_BOUNDED_RETARGET, FORK_FINALITY_DEPTH, FORK_VALUE_CALL, FORK_VM_EXEC, FORK_SERVICE_CARVE, FORK_TREASURY_25, FORK_QUANTUM_BEACON, FORK_USEFUL_WORK_VERIFYBounded Θ retarget; 100-block reorg bound; value-carrying CALL; on-chain Python-VM execution; reward split 50% miner / 25% treasury / 25% inference providers (unclaimed inference share rolls to treasury). Quantum beacon and useful-work verification are presence-gated and, for mainnet, shadow-mode.Mixed

Two things are worth stating explicitly. First, the emission-changing forks (42,001, 50,000, 75,000) are not reject rules: a node running old code stays on the same chain but mis-credits balances, so exchanges and explorers must upgrade even though peering continues. Second, the useful-work verification rule armed at 75,000 is presence-gated and runs in shadow mode on mainnet: blocks carry no proofs today, the rule logs rather than enforces, and it does not force a miner to run a model. The useful-work article explains what is designed versus what is live.

Confirmations without finality

Animica has no finality gadget. The RPC method tx.getStatus returns a finalized flag that becomes true after 12 confirmations (a node-side convention, not a consensus guarantee); what you should read is confirmations, the number of blocks built on top of the one containing your transaction. Each additional block makes a reorg that excludes the transaction exponentially less likely, and since block 75,000 the protocol refuses any reorg deeper than 100 blocks, so a transaction with more than 100 confirmations cannot be undone by consensus at all.

A practical rule: for small payments, 6 confirmations (about 6 to 7 minutes) is the figure the project's own payment services use; for large transfers or exchange deposits, wait longer, up to the 100-block bound (roughly 1 hour 50 minutes at the measured block time). Two signals in the head deserve a note. chain.getHead currently reports zeroed stateRoot and txsRoot values because sealed header roots are armed but not yet populated by the miner; this does not affect transaction validity. The explorer also exposes a canonicalHeight one block behind the head, which is the height it treats as settled for indexing.

Public endpoints

ServiceURLNotes
JSON-RPCPOST https://rpc.animica.org/rpcJSON-RPC 2.0, CORS *. Namespaces chain.*, state.*, tx.*, mempool.*, net.*, aicf.*, l2_*. Discover with rpc.discover or /openrpc.json.
Explorer RESThttps://explorer.animica.org/api/headAlso /blocks, /block/:hashOrHeight, /tx/:hash, /address/:addr, /mempool, /richlist, /circulating-supply, /search?q=, /l2/status.
Pool statisticshttps://pool.animica.org/api/pool/summaryNetwork and pool hashrate, shares, blocks found. Stratum at pool.animica.org:3333 (PPS) and :3334 (solo).
ENA statisticshttps://pool.animica.org/api/ena/statsUseful-work jobs, receipts, training runs and contributor counts for the ENA layer.
AICF statushttps://aicf.animica.org/api/statusService status and registry counts (providers, jobs, settlements) used by the telemetry below.
Free AI APIhttps://animica.dev/v1OpenAI-compatible, keyless, 30 requests/min/IP. Responses carry ML-DSA-65 proof-of-inference receipts.

The RPC path /rpc is required and only POST is served; there is no public WebSocket. There is no chain.getHeight method; use chain.getHead. Full method list and error codes: JSON-RPC API guide. Rate limits apply to all public endpoints; for sustained load run your own node.

Live snapshot (2026-08-23)

As of 2026-08-23 the head was around block 81,200, network hashrate about 52 MH/s (pool summary), circulating supply about 110.8 million ANM (explorer /api/circulating-supply), and the explorer reported 4 connected peers on its node and an average block time of about 69 s over its sample window. These are dated observations, not constants; the ticker at the top of the page and the explorer show the current values.

AICF Compute Telemetry

Live compute network metrics

Fetched by your browser from the AICF status endpoint. If the endpoint cannot be reached the values read "Unavailable" rather than showing placeholders. The registry is small today; the counts are real.

Providers

--

Nodes

--

Jobs

--

Contract Jobs

--

Agent Tasks

--

Total Queue Units

--

Usage Records

--

Settlements

--

Status health

Service Status

--

From AICF /status

Scheduler Paused

--

Governance pause flag

API Latency

--

Browser-observed fetch RTT

Last Update

--

UTC timestamp from status payload

Registry counts

MetricValue
Users--
Projects--
Providers--
Nodes--
Jobs--
Contract Jobs--
Agent Tasks--
Usage Records--
Settlements--

Raw status payload

Direct response from the AICF status endpoint.

Loading...

Loading live AICF metrics...

Sources: core/network_params.py · consensus/finality.py · docs/ANIMICA_2026_STATE.md · docs/CHANGELOG.md · docs/exposure/recon/chain-facts.md · spec/openrpc.json · explorer2/api/src/server.ts · live RPC and explorer reads on 2026-08-23.