How Stagwood actually works.
Everything on this page is checkable against verified source code on Blockscout. Where we make a claim, we tell you which contract enforces it. No trust requested.
MECHANICS · 01The coin is the herd
$STAG is an ERC20 with a fixed supply of 1,000,000,000, and every 200,000 coins carry a stag: 5,000 stags across the full supply. The logic lives inside the token's own transfer function, in StagToken:
- Your balance crosses a multiple of 200,000 going UP: a stag leaves the bank and joins you, with a fresh seed rolled from chain entropy at that moment.
- Your balance crosses a multiple of 200,000 going DOWN: your newest stag returns to the bank. Last in, first out, so your oldest stags (and their grown racks) are the last to leave you.
- This happens on every transfer path there is: DEX buys, DEX sells, wallet to wallet sends. There's no special contract to interact with and nothing to claim.
Market plumbing (the pool, the router) is marked exempt so pools don't accumulate stags. Exempt addresses can never be holders first; the token refuses to exempt any address that holds stags.
MECHANICS · 02The antler clock
Every stag records when it joined you. The renderer reads that age at view time and grows the rack through four stages. Nothing is stored, nothing is triggered, and no gas is ever spent on growth; it's pure arithmetic on the block timestamp.
| Stage | Held for | What you see |
|---|---|---|
| Young spikes | day 0 to 3 | fresh spikes |
| Classic | day 3 to 21 | a full rack |
| Great rack | day 21 to 90 | a heavy crown |
| Ancient | day 90+ | gold tipped, the rarest sight in the forest |
For 24 hours after each tier change the rack renders in velvet, the soft coat real antlers grow through. Sell the stag and the clock dies with your hold; the next holder starts from spikes.
MECHANICS · 03Destinies and notches
Each time a stag is reborn from the bank it rolls a destiny for its antlers: bone, velvet, tinfoil, glacier, ember, holo, golden, or broken. Golden is the grail. Broken never heals, and yes, that's on purpose.
History survives the rerolls. A stag that has been shed three times wears an ear notch forever; seven times, two notches. You can roll a new coat. You cannot roll away where you've been.
MECHANICS · 04The rut
One week in every eight, every rack in the herd renders ember at once. The window is timestamp % 8 weeks >= 7 weeks, the same for the art and the market, so nobody (including us) can trigger it, delay it, or fake it. When the rut is on, the whole forest knows.
MECHANICS · 05The alpha
Hold ten or more stags and your eldest is crowned the alpha of your herd, marked in the art for as long as your herd stays that size.
THE TECH · 01Uniswap V4 and the Forest Floor
The Stagwood pool is a native Uniswap V4 pool with a custom hook attached: StagHook, the Forest Floor. V4 hooks let a pool run its own logic on every swap, and ours does exactly three things:
- Owns the liquidity. The hook holds the pool's one and only position, full range, seeded with 100% of the coin supply. The contract has no function that removes liquidity. Not admin gated. Not timelocked. Absent.
- Sets the fee from the herd's clock. Dynamic fees are a V4 exclusive; V3 pools physically can't do this.
- Emits a Sighting on every swap, which is what powers the live feed on the home page.
Because a V4 pool's identity includes its hook, and StagHook rejects every pool creation except its own, the only Stagwood pool that can ever exist is the one seeded at launch. There is nothing to frontrun and nothing to imitate.
Phase two plugs the StagVault into the same pool: stake stags to make the market, with vault shares counting as held balance so staking never sheds a rack. The token admin exists solely to wire that in, then it renounces.
THE TECH · 02The fee schedule
| Window | Fee | Who sets it |
|---|---|---|
| Quiet weeks (7 of 8) | 2.00% | the clock |
| Rut week (1 of 8) | 1.00% | the clock |
There's no fee switch and no owner who could flip one. The hook computes the fee from the timestamp on every swap, with the same formula the renderer uses for the art. Cheap trading arrives exactly when the racks glow.
This is a pool fee, not a token tax. StagToken contains no fee code at all, so a transfer between two wallets moves the full amount and every scanner reads zero buy tax and zero sell tax. What you pay is the LP fee on the pool you chose to trade in, exactly like any other Uniswap pool.
Where the fee goes
- Sells pay in $STAG. Uniswap takes the fee from the input token, so a sell's fee arrives as coins, and 100% of it compounds into the Floor. Sell pressure feeds the backing, entirely.
- Buys pay in ETH. That side splits 50/50: half compounds into the Floor, half accrues to the project as ETH.
- The project's share is held as ETH the pool already collected in ETH. The hook has no code that sells a coin, so funding the project can never add sell pressure to $STAG.
- Anyone can call
claimProject()to push the accrued ETH, and it can only ever pay the address burned in at deploy. It is a separate call fromgraze(), so a payout problem can never block the floor from compounding, and compounding can never reach into what is owed.
THE TECH · 03Graze
Swap fees accrue to the Forest Floor's position. Anyone, at any time, can call graze() on the hook: it collects whatever fees have built up and adds them back into the position as more permanent liquidity. The caller gets nothing but the satisfaction; the herd gets a deeper floor.
That means the backing under every stag only moves one direction. Every trade, in either direction, in any week, feeds it.
THE TECH · 04On chain art
StagRenderer holds the entire art system in contract storage: the palette, every pixel of every trait, the antler geometries, the weights. Ask for a stag's tokenURI and the chain derives its traits from its seed, paints a 42x42 canvas, and hands you back an SVG, live. We froze the renderer at launch and renounced it, so nobody can ever redraw the herd, including us.
A render costs about 11M gas, which sounds enormous until you know the public RPC allows 50M per read. We rebuilt the string engine twice to get it there, and the herd explorer reads every stag this way, straight from the chain, with no image server anywhere.
THE TECH · 05The rarity system
Every trait carries a weight, and the weights are burned into the renderer at launch, so the odds you see here are the odds the chain rolls forever. Most stags wear one to three accessories; plenty wear nothing at all. A clean, bare faced stag isn't a miss, it's the baseline the rare stuff stands out against.
| Slot | Chance a stag has one |
|---|---|
| Headwear | 56% |
| Outerwear | 45% |
| Neck | 30% |
| Item | 25% |
| Face marking | 25% |
| Eyewear | 22% |
| Ear | 12% |
Within each slot, traits run five tiers from common to legendary. A gray hood is common; a kings crown is one of the rarest things in the forest. The grail eyes (laser, spirit, diamond) are capped at a handful across all 5,000, and statement eyes never roll with eyewear, so when you see them, you see them. Exact per trait odds surface as live percentages in the herd explorer and on every stag's page in the market.
THE TECH · 06The Stag Market
Individual stags trade on the Stag Market: list at a price, buy instantly, make and accept ETH offers, or send a specific stag as a gift. Everything settles in ETH on Robinhood Chain.
The tech underneath is ours, and it exists because no off the shelf marketplace could trade a stag. Stags aren't standalone NFTs; they're bound to blocks of 200,000 coins. So we built settlement into the token itself: StagToken.marketMove transfers exactly 200,000 $STAG, one stag's worth, together with exactly the traded stag, in one atomic step. Only the marketplace contract can invoke it, it spends the seller's ordinary ERC20 allowance like any transferFrom, and it only ever fires from actions the owner started: a listing being bought, an offer being accepted, a gift being sent. An approval by itself can never move anything.
Do I need $STAG to buy on the market? No. ETH is enough. Because the coin and the stag are the same thing, buying a stag hands you the coins that carry it. Walk in holding zero $STAG, buy a stag for ETH, and you walk out holding the stag AND its 200,000 $STAG. Offers work the same way; anyone with ETH can bid.
- What you buy is the seed. The art and shed history ride with the stag; the hold clock resets, so racks always shed on a sale. Patience isn't transferable.
- No custody. Listings are approvals, not deposits: your stag stays in your wallet (rack still growing) until the moment it sells. Offers escrow ETH in the market and are cancellable any time.
- The fee is 2% on sales, nothing on gifts. It's a venue fee inside the marketplace contract; the token itself still has zero transfer taxes.
- The market has no admin, no pause, and no upgrade path. The fee and its recipient are burned in at deploy.
- One edge worth knowing: sell your coins normally and a listed stag can shed to the bank, which goes stale. Stale listings can't be bought (the contract checks the current owner) and anyone can clear them.
- Want OpenSea instead? Wrap it. StagWrap locks a stag with its 200,000 coins and mints a standard, fully transferable ERC721 twin with the same id and the same live render. It trades anywhere, carries our 2% royalty via ERC2981, and every wrapper sale still restarts the hold clock, so racks shed on OpenSea exactly like they shed here. Unwrap any time to get the stag and coins back.
- After you buy: selling the stag on the market sends the coin with it. Selling the coin on the DEX instead sheds the stag back to the bank for rebirth. Two exits, two different stories.
TRUST · 01The fair launch
- 100% of the 1,000,000,000 supply is seeded into the Forest Floor in the launch transaction. We hold zero at launch.
- No presale, no allowlist, no team allocation. The dev buys at market, after the seed, from one wallet, on the record.
- Liquidity can't be pulled because the code to pull it doesn't exist. Check the verified source of
StagHook; you're looking for a removal function you won't find. - The seed transaction and every contract address are published on this site the moment they exist.
TRUST · 02Contracts and powers
| Contract | What it can never do | Who controls it |
|---|---|---|
| StagToken | mint, pause, tax, blacklist, or touch a balance | admin with two powers: exempt stag-free market contracts, renounce. Gone after phase two. |
| StagHerd | move a stag (they only move with the coin) | nobody; renounced at launch |
| StagRenderer | change any art | nobody; frozen and renounced at launch |
| StagHook | remove liquidity, block a trade, change the fee or the split, sell a stag coin | nobody; it has no admin at all |
| StagWrap | change the 2% royalty, touch a stag it does not hold | nobody; no admin, wrap and unwrap only |
TRUST · 03Known edges
- Moving many stags' worth of coins moves many stags, and each assignment costs gas. Big buys and sells work; they just cost more, and truly huge ones are best split into batches.
- Scanner lock percentages may read 0% because hook owned liquidity is newer than their lock registries. The lock is the absence of removal code, checkable in verified source, and we're working with data providers to represent it properly.
- Marketplaces display the herd through StagHerd, but stags move only with the coin until the phase two wrap marketplace.
TRUST · 04Getting started
- Robinhood Chain is an Ethereum L2 (network id 4663). Bridge ETH from mainnet or Arbitrum with the official bridge.
- Swap ETH for $STAG on any DEX front end that speaks Uniswap V4.
- Hold at least 200,000 $STAG, one stag's worth. Your stag appears in your wallet on its own, and you can watch the whole herd in the explorer.
Questions this page didn't answer: ask on @stagwoodxyz.