Skip to content

IceRoot Network · Heartwood Core

Less execution. More clarity.

IceRoot is a blockchain for native assets, transfers and migration records, powered by Heartwood Core.

Inside the network
ICEROOTCORETRANSFERASSETVOTETRANSACTIONS53 SCHEDULED VALIDATORSBLOCK HISTORYREGISTRATION · VOTING · SCHEDULED ROUNDS
The people behind the blocks.

Holders vote for validators. Elected validators take turns producing blocks in 8-second slots.

53 validator positions
Native transactionsScheduled validatorsA linked block history

Engineering philosophy

A focused protocol.

Fixed transaction types keep asset operations consistent across projects.

Native transactions
Accounts, native assets, transfers to up to 256 recipients, memos, atomic swaps, hash time-locked and time-locked transfers, account names, key management and migration are built into the protocol.
No arbitrary execution
There is no virtual machine and no way to upload code for the network to run.
Native fees
Every transaction pays a size-based fee in ROOT, and 90% of it is burned. The exception is burning ROOT itself, which has no fee and a minimum of 0.02 ROOT. There is no EVM-style gas model.
Independent processes
The relay faces the network; the forger holds the consensus key and signs blocks. Running them apart keeps validator keys out of the process that faces the network.

Validator consensus

QDPoS Post-Quantum Delegated Proof-of-Stake

ROOT holders elect 53 validators, which take turns producing blocks in 8-second slots and earn rewards in ROOT. Finality votes travel inside block headers, so finality needs no extra messages.

  • Validator registration
  • Voting
  • Rounds
  • Scheduling
  • Rewards
  • Finality
Elected validators
53
Block interval
8 s
Every signature in consensus
ML-DSA-65
Finality
36 of 53 validators; a final block is never reverted on any synced node

A block is final at least 71 blocks after it is produced. With all validators online and no missed slots, that typically takes about 71 to 108 blocks, about 10.8 minutes on average.

For validators

Planning to run a validator?

The public testnet has not launched. The team handpicks testnet validators case by case, by availability, contribution and participation, with no points formula or minimum bar. Mainnet starts with 53 independent validators chosen from the public testnet for commitment, reliable uptime and independence.

Apply on Discord

Tell the team on Discord that you want to validate, and prove that your node has synced completely. Accepted operators receive testnet tokens for registration and a validator role. The Discord link is not published yet, and a faucet bot for testnet tokens on Telegram and Discord comes later.

One validator per operator

Anyone who creates or runs more than one validator loses their mainnet seat, with no exception. This is a selection rule: the protocol cannot tell whether two validators share an operator.

Hardware

Planning estimates, not requirements: a relay with 4 vCPU, 8 GB of RAM, a 250 GB NVMe SSD and a 1 Gbit/s port; a forger with 2 vCPU, 2 GB of RAM and 20 GB of disk; a Connector using a declared provider with 2 vCPU and 4 GB of RAM. The chain grows about 20 to 35 GB a year at modest activity. Measured minimums replace these before the early public testnet.

How the estimates were derived ↗

Operating a validator

The setup uses separate relay and forger processes, which development builds already run. Keep the account key off servers, and run each consensus key on exactly one forger. Every validator also runs a Connector, with its migration attestation key and source-chain access on a separate machine or service from the relay and forger. It rebuilds migration lists before signing them.

Source access and declarations

Ethereum ERC-20 tokens are the only certified migration source planned for launch. Operators use their own Ethereum node or a declared provider. The policy allows at most 17 validators per provider; this is an onboarding and disclosure rule, not a consensus limit. Validators declare their operator, hosting provider and country. Declarations cannot prove independence.

Seats and voting

The design has 53 active seats. A non-empty vote names 20 to 53 validators and assigns no more than 5% of the account’s weight to any one. An empty vote withdraws a vote. Validator accounts cannot vote, and registration is refused while an account has an active vote. Elections are checked every 24 rounds and can replace at most one seat at a time, subject to finality.

The supply threshold

At each round’s snapshot, an account whose liquid ROOT balance exceeds 5% of issued-minus-burned supply has zero vote weight for that round. Exactly 5% is eligible. Units held in escrow count in supply but carry no vote weight. The rule adds friction, not a guarantee: one holder can still split funds across several accounts.

Registration and names

Validator registration has a 250 ROOT surcharge, in addition to the size-based fee. Account and validator names share one namespace: 1 to 20 lowercase letters, with reserved names and banned words refused. Names containing iceroot or heartwood are reserved for the team’s genesis names. A current or former validator’s name cannot move to another account.

Reward sharing

SHARE_DECLARE records a share of 0 to 10,000 basis points, a payout interval of one or seven days, and a payout address. Every declaration has a 25 ROOT surcharge plus the size-based fee. It moves no funds and guarantees no payment. The indexer measures payouts, applying changed terms after 24 hours or at the next interval start if later; wallets and the explorer are planned to show each voter’s owed-versus-received amounts.

Conduct and finality

Missed slots carry no penalty. Proven equivocation leads to jailing and withheld rewards; there is no self-bond or slashing, and voters’ funds are never touched. Finality progress is proven for up to 17 crashed validators, not against coordinated Byzantine forking. The safety bound is at most 18 Byzantine validators in a stable set and 16 next to a set change.

What is still open

The working specification leaves the base fee, several operation surcharges, size limits, the finality vote window, the jail and reward-withholding lengths, the multisig key cap and Ethereum’s initial cut-off open. Parameters, economics and validator rules may change.

Follow the Roadmap for development status, release announcements and checksum checks, and see developer resources and community links.

ROOT

What ROOT is for.

ROOT pays every network fee, carries the vote weight in validator elections and pays validator rewards. The genesis block issues 100,000,000 ROOT.

ROOT · Native network asset
  1. 01

    Transaction fees

    Every fee, surcharges included, is paid in ROOT: 90% is burned and 10% goes to the validator that forged the block.

  2. 02

    Validator voting

    A non-empty vote names 20 to 53 validators, with at most 5% of the voter’s weight for any one. Validator accounts cannot vote. At each round’s snapshot, a liquid balance above 5% of ROOT’s issued-minus-burned supply carries no vote weight; exactly 5% is eligible.

  3. 03

    Validator rewards

    1.8 to 2.2 ROOT per block by seated rank, 2.0 on average. 5% of each reward goes to the Development fund and 5% to the Ecosystem fund, both 2-of-3 multisig accounts.

  4. 04

    Surcharges

    Validator registration 250 ROOT, an account name 125 ROOT, a reward-sharing declaration 25 ROOT. Asset and migration surcharges are still to be set.

  5. 05

    Genesis distribution

    No token sale: the team and distribution pools never sell ROOT, before or after launch. ROOT enters circulation through contribution, participation and validator rewards. The 100,000,000 genesis ROOT are split into seven labeled pools: security and bug bounty 30M, team 20M, developer ecosystem 15M, testnet and launch participation 10M, ecosystem campaigns 10M, long-term reserve 10M, community and ambassadors 5M. In the first blocks after genesis, the team locks 18M on chain in 16 quarterly tranches over four years; 2M stays liquid. The other pools pay out over time under published programs. Participation shares and bounty rewards earned before mainnet are credited at genesis, liquid from block 1, to the mainnet addresses their earners bind; unearned or unbound participation shares go to the long-term reserve. How the participation pool is split between validators, testers and builders is not decided yet, and the team handles participation case by case. Testnet balances never carry over. Projects can receive fee grants from the ecosystem campaigns pool under published rules. There is no Monolythium allocation at genesis.

Fees connect network usage to the work of validating transactions.

One wallet interface

Wallets use one set of interfaces for balances, assets, transfers and validator voting. Each asset is addressed by its Asset ID.