Documentation · protocol reference

The forest, documented.

Mine the rarest emeralds in the Aether: that is the lore, and it ends here. Everything below is the mechanism: how a round works, where every wei goes, and what each contract does. All figures come from the deploy parameters; where a value does not exist yet (the protocol is pre-launch), the page says at launch instead of inventing one.

01 · Overview

Overview

Emerald Forest is an on-chain woodcutting game on Robinhood Chain. The forest is a 5×5 grid of 25 Great Trees (protocol veins). Every 60 seconds a round resolves: miners commit ETH to the veins they believe will strike, verifiable randomness selects the winning vein, and the round’s pot plus a parcel of $EMRLD from the rewards vault is paid out. Then the next round begins. There is no downtime and no house player; every round is miners against the draw.

The 60-second loop

  1. Commit. During the round, send ETH to any of the 25 veins, with preset amounts or a custom split. All commits from all miners form the round’s pot.
  2. Resolve. At the 60-second mark, commits close and a randomness beacon value (published after the close) selects exactly one winning vein. The proof is verifiable on-chain.
  3. Reward. Miners in the winning vein split 90% of the pot in ETH, proportional to their commit, plus the round’s $EMRLD payout. 7% of the pot goes to veEMRLD stakers, 2% to the jackpot and growth fund, and 1% to the protocol treasury (the disclosed operating fee, paid to the operator multisig).

Fair launch: no team allocation

$EMRLD is created on the flap.sh launchpad with its entire 1,000,000,000supply minted at once — there is no premine, no team allocation, no VC round and no presale, and no mint function that could ever create more. Most of the supply is sold on the launchpad’s open bonding curve, which anyone can buy from on equal terms from the first block.

One disclosure: the deployer makes a single, small buy on that curve at creation, at the same price anyone else pays in that block. Every token from it goes straight into the rewards vault that pays miners — none is held by the team. That buy is what seeds mining rewards, since a fixed supply cannot issue them.

Every round’s potSharePaid to
Winning miners90%ETH, proportional to commit in the winning vein
veEMRLD stakers7%ETH, streamed pro-rata to ve weight
Jackpot + growth fund2%jackpot accumulator and buyback fund
Protocol treasury1%disclosed operating fee, paid to the operator multisig

02 · The Great Trees

The Great Trees

The forest is 25 Great Trees (vein sectors), T-01 through T-25, arranged 5×5. Each round, exactly one vein wins. A commit targets one vein; you may commit to as many veins as you like in the same round, and each vein position is settled independently.

Committing

  • Presets: 0.0002 / 0.002 / 0.02 ETH per vein, or MAX (your full available balance across the selection).
  • Select All commits the chosen amount to every vein, guaranteeing a position in the winning vein at 25× the cost.
  • Scout selects the three emptiest veins right now — the rare ones (below), for miners hunting the emission multiplier rather than the ETH pot.
  • Manual lets you pick veins and amounts individually.

Payout math

payout = (yourCommit / veinTotal) × pot × 90%
plus the same proportional share of the round’s $EMRLD draw from the rewards vault

Winners split the miner share of the entire pot (all commits to all 25 veins), proportional to their commit within the winning vein. Worked example:

  • You commit 0.01 ETH into T-07.
  • T-07’s total commits are 0.4 ETH, so your share of the vein is 0.01 / 0.4 = 2.5%.
  • The whole round’s pot is 2.0 ETH.
  • T-07 wins. You receive 0.01 / 0.4 × 2.0 × 90% = 0.045 ETH, 4.5× your commit, plus 2.5% of the round’s $EMRLD emission.

If you win · if you lose

  • You win when the felled tree holds your commit. You get your pro-rata share of 90% of the wholepot in ETH (the formula above), plus your depth-weighted share of the round’s $EMRLD draw, multiplied by your heartwood grade (×1–×3, section 13). Wins are pull-based: call claim() whenever you like — claims never expire.
  • You lose when your tree stands. Your commitment is consumed and nothing is refunded. Losing commits are exactly what fills the pot: 90% to the winners, 7% to veEMRLD stakers, 2% to jackpot + growth, 1% to the treasury. Mining is a round-by-round wager, not yield.
  • Committed to several veins?Only the commit on the felled tree pays. Commits on your other veins are consumed with everyone else’s — spreading raises your chance of winning, not the amount that comes back.
  • Nobody on the felled tree? The 90% miners’ share rolls into the jackpot — the forest keeps its treasure until a jackpot round pays it back out.
  • The one refund path. If randomness fails and a round cannot resolve within ~24 hours, resolution locks permanently and refundExpired() returns every commitment in that round, wei-exact. No other path returns a commitment.

Crowded veins pay less per winner (larger veinTotal); empty veins pay more — and mine rarer $EMRLD (below).

Rarity Mining & Vein Depth

Two mechanics reward playing the grid, not just the pot:

  • Rarity Mining.The round’s $EMRLD emission scales with how under-crowded the winning vein is: 1× when the winner holds at least the average (1/25) share of the pot, growing linearly to 3×as the winner’s share approaches zero. The untouched vein holds the rarest emerald: chase crowded veins for ETH, or scout empty ones for rare $EMRLD.
  • Vein Depth. Committing to the samevein in consecutive rounds drills deeper: your share of the round’s $EMRLD grows +10% per consecutive round, capped at 2×. Depth never draws extra $EMRLD from the vault — it grows your slice of the same pool (ETH payouts stay strictly pro-rata). A skipped round resets the streak; auto-commit keeps it alive.
  • Daily halving. The per-round $EMRLD draw halves every day (1,440 rounds): day one pays 5,000 per round, day two half of that, and so on. The steepest rewards the protocol will ever pay are today’s.

03 · Randomness

Randomness

Each round’s winning vein is drawn from a verifiable randomness source, checked on-chain before any payout:

  • drand beacon (primary). drand is a public randomness beacon run by a consortium of independent operators, producing threshold BLS signatures on a fixed schedule. When commits close, the round is bound to a specific future drand round number; the beacon value cannot be known by anyone, including us, until after commits are locked. The BLS signature is verified in the contract, and the winning vein is derived as keccak256(beacon, roundId) mod 25.
  • Chainlink VRF adapter (fallback). If the beacon relay misses its window, the round falls back to a Chainlink VRF request. VRF proofs are likewise verified on-chain. Either path leaves a proof anyone can re-check on Blockscout.

Why block hashes are not acceptable

Many on-chain games draw randomness from a recent block hash. That is not acceptable where money is at stake: whoever produces the block can bias the outcome by discarding blocks whose hash they do not like, or simply time transactions around a hash they can already see. On an Arbitrum-stack L2 the problem is sharper still: a single sequencer orders transactions, so block-derived entropy is influenceable by one party by construction. Emerald Forest therefore only accepts randomness that comes with a cryptographic proof generated outside the chain’s block production and verified inside the contract.


04 · Token

$EMRLD token

$EMRLD is a standard ERC-20 on Robinhood Chain created through the flap.sh launchpad. Its supply is fixed at 1,000,000,000 forever: there is no mint function and no burn function. Mining rewards are therefore paid out of a finite pool — the rewards vault — rather than issued. Trading through the pool pays a tax; moving tokens between wallets never does.

Emission

Each round pays a fixed parcel of $EMRLD from the rewards vault to the winning vein’s miners, proportional to commit, the same split as the ETH payout. The per-round payout starts at 5,000 $EMRLD and halves every day (1,440 rounds), so each day mines twice what the next one will. See Contracts.

Rewards are finite and can shrink. Because supply is fixed, the vault is not a promise — it is a balance. It is seeded at launch and refilled only by buybacks funded from trading tax. If trading is thin for long enough, the vault pays out less than the schedule implies: rounds keep resolving and ETH payouts are unaffected, but the $EMRLD side shrinks toward zero rather than minting more. Nobody can top it up by issuing new tokens, because no mint function exists.

Trading tax: 4% buy / 4% sell

Buying or selling $EMRLD through the pool pays a 4% / 4% tax. Sending $EMRLD from one wallet to another is nevertaxed — this is a trading tax, not a transfer tax. The launchpad converts the tax to ETH and pays the protocol’s splitter, which routes it 30/30/30/10 to veEMRLD stakers (paid straight into the locker as ETH), the jackpot, the treasury, and rewards-vault buybacks. The rates were fixed when the token was created and cannot be changed by anyone, including us.

Utility

  • Mining reward: the asset every round pays out.
  • veEMRLD lock: lock for an ETH yield share and governance weight (section 05).
  • Locked liquidity: the pool’s LP is created and locked by the launchpad at graduation (section 06).
  • Governance: locked $EMRLD votes on season rotation and protocol parameters.

05 · veEMRLD

veEMRLD

Lock $EMRLD for 1 hour to 168 hours (7 days) and receive a veNFT, an ERC-721 that represents the locked position. The longer the lock, the higher the yield multiplier and governance weight, scaling linearly from 1x at one hour to 4x at 168 hours.

Lock lengthMultiplier
1 hour1.00x
24 hours1.41x
84 hours (3.5 days)2.49x
168 hours (7 days, max)4.00x

What lockers earn

  • 7% of every round’s pot, in ETH. Roughly 1,440 rounds resolve per day; the ve share of each pot streams to lockers pro-rata to multiplier-weighted lock size. Yield is real ETH from mining activity, not emissions.
  • 30% of all trading-tax revenue, in ETH. The splitter pays its stakers share straight into the locker on every permissionless flush — so open-market volume feeds lockers too, not just mining volume.
  • Governance. veEMRLD votes decide season rotation, themed multipliers, and adjustable parameters (see Seasonal forests).

Sell your position (veNFTs are tradeable)

A veNFT is a standard, transferable ERC-721, so a lock is a liquid asset: list it on any NFT marketplace that indexes Robinhood Chain and a buyer takes over the position — its weight, its share of the 7% pot flow and the 30% tax flow, and the right to unlock the principal at expiry. That is the exit route that does not cost the early-unlock penalty below.

  • Every transfer settles first. Unclaimed revenue is credited back to the seller in the same transaction (withdraw it any time with withdrawOwed()), and the token’s accounting is re-based. A buyer therefore receives future yield only— nobody can snipe a seller’s earnings, and no seller can drain a position mid-sale.
  • Metadata is fully on-chain. The card art and every attribute (locked amount, multiplier, voting power, unlock time, status) are generated by the contract as an SVG data URI — nothing to pin, nothing that can rot.
  • 5% creator royalty (EIP-2981) on secondary sales, paid to the protocol treasury. The rate is a contract constant capped at 10% — it cannot be raised on holders later; only the receiving address can be retargeted.
  • Governance weight travels with the token. A consequence of tradeability, disclosed plainly: buying a veNFT buys its vote.

Early unlock

A lock can be exited before expiry, at a cost: the penalty is half of the locked amount scaled by the time remaining (50% × timeRemaining / lockDuration, so up to 50% right after locking, approaching zero near expiry). The forfeited $EMRLD is redistributed to the remaining lockers — or sent to the dead address if none exist. Waiting out the full lock returns the entire principal — and selling the veNFT (above) avoids the penalty entirely.


06 · Locked liquidity

Locked liquidity

$EMRLD launches on the flap.sh launchpad. Tokens first trade on a bonding curve; once roughly 5 ETH of volume flows through it, the token graduates: the launchpad creates the $EMRLD/ETH pool and locks its LP permanently. No one — including the team — can ever pull the launch liquidity, and because the LP is locked by the platform, there is no LP token to stake and no LP staking program.

  • Fixed supply.1,000,000,000 $EMRLD, minted once at creation. Nothing can mint more; nothing can burn (the growth fund’s buybacks are locked at the dead address or returned to the rewards vault instead).
  • Trade tax. Pool buys pay 4% and sells pay 4% (wallet-to-wallet transfers are never taxed). The launchpad auto-converts tax to ETH and pays the protocol’s splitter, which routes it jackpot / rewards-vault buybacks / treasury. Platform disclosures: flap.sh keeps a commission of the tax (measured at 5–10% on a mainnet fork), the tax has a far-future expiry, and the launchpad’s guardian roles technically retain the ability to redirect the beneficiary — residual platform trust we disclose rather than hide.
  • Mining rewards vault. Since the token cannot mint, every $EMRLD reward (emission, rarity, heartwood bonuses) is paid from a finite on-chain vault whose only out-path is the round engine. Tax-revenue buybacks refill it continuously; if it ever runs dry, rewards shrink honestly instead of the protocol printing more.

07 · Growth fund

Growth fund & buybacks

The growth fund is the protocol’s treasury with one-way plumbing: value flows in from protocol activity and out only as buybacks, never to a team wallet.

  • Inflows. Its portion of the 2% round share (split with the jackpot) plus its portion of pool-trade tax revenue.
  • Buybacks. The fund buys $EMRLD on the open market and sends it to the MiningRewardsVault to fund future rounds — or locks it at the dead address. The GrowthFund contract has no withdraw or transfer-out function for $EMRLD: every token it buys can only recycle into mining rewards or leave circulation for good.
  • On-chain trackable. The fund address, each buyback transaction, the vault refills, and the cumulative dead-address balance are all visible on Blockscout. No trust required; count it yourself.

08 · Jackpot

Jackpot

The jackpot is a separate ETH accumulator that grows every round and with every taxed pool trade, then pays its entire balance into a single round.

  • Accumulation. Its portion of the 2% round share, plus its share of the pool-trade tax. It only grows between payouts.
  • Triggers. Two, both tamper-resistant: a threshold trigger (the balance crossing a governance-set cap — 0.5 ETH at launch — forces a jackpot round) and a random trigger (each resolved round carries a 1-in-500, VRF-drawn chance of going jackpot). Nobody, including the team, can fire it manually.
  • Payout.A jackpot round pays the accumulated balance on top of the normal pot, to the winning vein’s miners, using the same proportional math as section 02.
Styling note

Gold is reserved for jackpot surfaces across the entire site. If something glows gold, it is the jackpot; nothing else ever borrows the color.


09 · Seasonal forests

Seasonal forests

Season I — Verdant Forest — is live from round zero. The season-registry contract can register future seasons with themed emission multipliers by veEMRLD governance vote, but no future season is scheduled and none is promised: what is listed below is everything that exists.

SeasonForestStatusNotes
IVerdant ForestliveSeason I emission halves DAILY: every day of the run mines half of the day before. The steepest rewards are right now.

RWA bonus seasons (capability, not a promise)

If a future season were voted in, the contracts support RWA bonus seasons: select veins paying bonus yield in Robinhood stock tokens, tokenized real-world equities native to this chain. Bonus assets are validated against the canonical tokenized-asset registry only (see Robinhood Chain); an asset that is not in the registry cannot be wired into a season, by contract.


10 · Robinhood Chain

Robinhood Chain

Emerald Forest deploys exclusively on Robinhood Chain. The facts:

Chain id4663 (0x1237)
StackArbitrum-stack (Nitro) L2 · Cancun EVM
Gas tokenETH
RPChttps://rpc.mainnet.chain.robinhood.com
Explorerrobinhoodchain.blockscout.com (Blockscout)
OraclesChainlink price feeds available. Equity feeds run 24/5 and freeze on weekends and market holidays; anything consuming them must tolerate staleness.
Tokenized assetsCanonical registry at docs.robinhood.com/chain/contracts: 20 stocks + 5 ETFs as 18-decimal ERC-20s, quoted against the USDG stable.
Chain docsdocs.robinhood.com/chain
Copycats are endemic on this chain. Fake stock tokens, fake routers, and verified-but-fraudulent contracts with plausible names are common. Trust only pinned canonical addresses: the registry above for tokenized assets, and this page for Emerald Forest contracts. RWA bonus seasons validate stock tokens against the canonical registry only, never an explorer search, and never a link from chat.

11 · Contracts

Contracts

Eleven contracts, each with one job. Addresses will be published here and nowhere else first; until launch every address reads at launch.

ContractResponsibilityAddress (Robinhood Chain, 4663)
$EMRLD tokenCreated on the flap.sh launchpad: a fixed 1 billion supply with NO mint and NO burn function. Pool trades pay 4% buy / 4% sell; wallet-to-wallet transfers are never taxed. The tax rates were set at creation and cannot be changed.at launch
MiningCoreHolds commit escrow, runs the 60-second round lifecycle, verifies the randomness proof, applies the 90 / 7 / 2 / 1 split, and settles winner claims. Rewards are drawn from MiningRewardsVault — the engine has no mint path.at launch
MiningRewardsVaultThe finite reward pool. Holds every $EMRLD the forest will ever pay and releases it by plain transfer: only the round engine can draw, anyone can fund, and no owner withdrawal exists. Seeded by the deployer’s launch buy, refilled by growth-fund buybacks.at launch
VeStakingLocks $EMRLD into veNFTs (ERC-721), computes lock-weighted multipliers and governance weight, and streams the 7% ETH pot share to lockers.at launch
FlapSplitterThe pool-trade tax beneficiary. Receives the tax revenue in ETH from the launchpad and routes it 30/30/30/10 to veEMRLD stakers (via notifyRevenue), the jackpot, the treasury, and rewards-vault buybacks; flush() is permissionless, so anyone can trigger distribution.at launch
AutoCommitVaultThe Crew. Escrows an auto-commit budget with your strategy and lets permissionless keepers commit it for you each round (0.5% keeper fee per executed commitment, hard-capped at 5%). One transaction cancels and refunds the remainder.at launch
FlapPoolRouterDeployed after the pool graduates: the pinned, single-pair route the growth fund buys $EMRLD through. Never a shared router — one pool, one pair, immutable.at launch
LPStakingDeployed but inactive at launch: the graduated pool has its liquidity created and locked by the launchpad, and it issues no stakeable LP token. Retained so a future venue can be wired without redeploying the graph.at launch
GrowthFundReceives its share of round pots and pool-trade tax revenue, then buys $EMRLD on the open market and sends it to MiningRewardsVault to fund future rounds. No withdraw function.at launch
JackpotAccumulates jackpot inflows and pays the full balance into a round when a threshold or VRF-drawn trigger fires.at launch
SeasonManagerRotates seasonal forest themes, sets themed vein multipliers, and validates RWA bonus-season assets against the canonical Robinhood registry. Governance-controlled.at launch

Audits & bug bounty

The contracts ship with a full unit and invariant test suite and a deploy rehearsal on a fork of Robinhood Chain. A third-party audit is planned before launch, and a public bug bounty opens with the deployment; audit reports and bounty terms will be linked from this page. Until an audit is published, treat the code as unaudited; that is a real risk, listed in section 12.

Multisig → DAO

Adjustable parameters (jackpot threshold, season rotation schedule, multiplier maps) start under a time-locked multisig for operational safety, with every action visible on-chain. Control migrates to veEMRLD governance on a published schedule as the DAO matures; the end state is that parameter changes require a token vote. Non-adjustable economics (the 90/7/2/1 split, the 4%/4% trading tax, the emission curve) are immutable from deployment and are never governable — the tax in particular is fixed by the launchpad at token creation and has no setter at all.


12 · Risks

Risks & disclaimer

An honest list. If any of these is unacceptable to you, do not participate.

  • You can lose everything you commit. Commits to losing veins are not returned; they fund the pot. Expected value per round is negative for the average miner (90% of the pot returns to miners; the rest funds stakers, the jackpot, and the fund). This is a game, not an investment strategy.
  • Smart-contract risk. Bugs can exist despite tests and audits, and immutable economics cannot be patched.
  • Randomness liveness. If both drand relay and VRF fallback stall, rounds pause until randomness resumes. Commits stay escrowed and refundable in a paused round, but funds can be temporarily stuck.
  • Token-value risk. $EMRLD has no backing and no guaranteed value; the supply is fixed, but demand is not — price can go to zero.
  • Reward-supply risk. $EMRLD rewards come from a finite vault refilled only by trading-tax buybacks. Sustained low volume means smaller $EMRLD payouts; no mint function exists to make up the shortfall.
  • RWA & regulatory risk. Robinhood stock tokens confer economic exposure only (no equity, no shareholder rights), carry jurisdictional restrictions, and their feeds freeze on weekends.
  • Chain risk. Robinhood Chain is a young L2 with a centralized sequencer; outages pause the game.
  • Pre-launch status. Nothing is deployed today, and nothing on this site is simulated: no activity figures exist until launch. The site shows protocol constants and the real round clock only; live on-chain data replaces the empty states at launch.
Emerald Forest is pre-launch: no contracts are deployed and nothing on this site accepts real funds. No activity figures exist yet and none are simulated - the site shows protocol constants and the real round clock only; live data begins at launch. Felling (mining) is a round-by-round wager, not yield: losing commitments are consumed, not refunded - they fund the winners' pot. $EMRLD conveys economic exposure only: no equity, no claim on any company, no guaranteed value. Nothing here is financial advice. High risk: only commit what you can afford to lose.

13 · Heartwood grades

Heartwood grades

Every winning cut reveals the emerald crystallized inside the felled tree’s heartwood, and that emerald has a grade — a per-miner rarity roll that scales the $EMRLD you mine. The roll is deterministic and publicly verifiable:

roll = keccak256(roundSeed, round, yourAddress) mod 10000
anyone can recompute every grade from the stored round seed
GradeOdds$EMRLD multiplier
Common60%×1.00
Fine25%×1.25
Rare12%×1.75
Ancient3%×3.00

The plain mechanics, stated honestly:

  • Your base $EMRLD share (depth-weighted, from the round pool) is multiplied by your grade; the delta above ×1.00 is drawn from the rewards vault at claim time. The expected multiplier is exactly ×1.2125 (worst case ×3.00 if every winner rolls Ancient), so effective emission runs ≈21% above the base curve. The halving schedule’s shape is unchanged.
  • ETH payouts are never graded. Grades touch only the $EMRLD side, never the ETH pot split.
  • Jackpot $EMRLD folded into a round’s pool is graded with the rest of your share.
  • The 3D forest’s felling reveal shows the round’s Rarity Mining multiplier (public figure); your personal grade appears when you claim.

14 · Protocol glossary

Protocol glossary

The forest is a skin over a money protocol, and skins must never obfuscate. Every in-game term maps to exactly one protocol concept:

Game termProtocol term
Great Tree (T-01…T-25)vein 1–25 in MiningCore
The Forestthe 5×5 grid of 25 protocol veins (/forest)
Felling / the fallround resolution (resolve())
Cutters / lumberjacksminers committing ETH
Mining / a haulan $EMRLD payout drawn from MiningRewardsVault (never minted)
ScoutUI helper: pre-selects the 3 emptiest veins this round
Heartwood gradeclaim-time payout multiplier (keccak roll)
Heartwood rarityRarity Mining (round emission ×1–3 by crowd share)
Roots / drilling deeperVein Depth streak (+10%/round EMRLD weight, cap ×2)
Daily halvingMiningCore.HALVING_ROUNDS = 1,440: the per-round $EMRLD draw halves every day
The jackpot (gold)Jackpot contract: pays its full balance into one round on a 0.5 ETH threshold or 1-in-500 VRF trigger
The Grove / planting a treeveEMRLD lock (veNFT), 1×→4× by duration
The sawmill (retired)LP staking - none exists: the launchpad locks the pool's LP
The CrewAutoCommitVault (escrowed auto-commit; keepers earn a 0.5% fee per executed commit)
The Almanacprotocol stats (/almanac)
The Lodge / trophy wallyour profile and claim history (/lodge)
Pre-launch statereal round clock + protocol constants; no activity data exists and none is simulated