OG perks
If you ever received a Fantum on the prior chain — even if you sold, lost, or forgot about it — your address is eligible to claim. Every Reborn token you mint through the legacy window carries an OG badge and a stack of permanent benefits.
OG perks are per-NFT, not per-wallet. They stick with the token across resales. Sell an OG Fantum and you sell the perks with it.
The full perk stack
| # | Perk | What it does | Where it lives |
|---|---|---|---|
| Mint | 50% off mint price | OG-window mints cost half the public tier price | LegacyClaim.sol |
| A | +5% to all stats | Applied on legacy mint, rounded half-up, cap at STAT_MAX_AT_CREATION + 2 = 20 | Fantums.legacyMint, _ogBoost |
| Fight | 25% off fight stake | Default ogFightDiscountBps = 2500, owner-tunable | Duel.fighterCost |
| Resurrect | 50% off paid resurrections, lifetime | Default ogResurrectDiscountBps = 5000, owner-tunable | Graveyard.costFor |
| B | One free first resurrection | Stacks on top of the founder-100 freebie, lifetime | Graveyard.ogHasUsedFreeResurrect |
| Marketplace | 5% sell fee vs 7.5% base | ogFeeBps = 500. Invariant: ogFeeBps <= feeBps, always | Marketplace.buy |
| D | OG-only first-mover window | On every future MintDrop, OG holders mint first | MintDrop._requireOGAccess |
Off-chain perks (in the matchmaker, not the contract)
| # | Perk | Behaviour |
|---|---|---|
| C | OG matchmaking pool | The matchmaker prefers OG opponents for 30 seconds before falling back to the normal pool. Helps OGs find each other. |
| E | ELO bonus on OG wins | When the duel signer computes ELO delta, the winner's gain is multiplied by 1.10 if they're OG. Loser's loss unchanged. |
Both off-chain perks are in the matchmaker spec and require no contract change. They go live alongside the first public duel server.
Visual perks
- Pulsing gold border on OG tiles in marketplace + leaderboard UI.
- 2-frame animation on the OG badge sprite (gold gradient sweep).
- "OG" trait surfaced in marketplace metadata.
Stacking rules
The discount math has been deliberately designed to be additive, not multiplicative — except where it gets silly.
Founder 100 (tokenIds 1..100) + OG fight discount
- Do NOT stack. The larger of the two applies. Both default to 25%, so the difference is immaterial today. If one is tuned upward later, that one wins.
Founder 100 + OG free resurrection
- DO stack. An OG founder gets two free revives total (one from each track).
House Fantums (Fantums.isHouseFantum[tokenId] == true)
- Excluded from every perk regardless of OG status. The house never gets a discount on itself.
Marketplace fee invariant
This is hard-coded into the marketplace contract:
ogFeeBps <= feeBps // OG is a discount, never a markup
Enforced in Marketplace.setFee() and Marketplace.setOGFee(). If the base fee ever ticks above 7.5%, the OG fee tracks down with it; never the other way around.
How "OG" is determined
A Reborn token is OG if it was minted through the legacy window. That window consumes a Merkle proof. The Merkle leaf format is:
keccak256(abi.encode(holder, uint16 slots, bytes32[] dnaHashes))
holder— the address claimingslots— how many they're allowed (min(uniqueFumEverReceived, 50))dnaHashes— the original FUM hashes that holder ever received, sorted ascending by original tokenId
The tree root is committed in the LegacyClaim constructor and never changes. See How to claim for the full flow.
The 50-slot cap
The per-address cap is 50. Even a wallet that touched 367 original Fantums can only mint 50 OG Reborns. This is deliberate — the perks are powerful and we want them spread.
See also
- How to claim — the proof flow, eligibility check, and reserved window
- Reserved mint window — timing and what happens to unclaimed slots
- Combat system — how the +5% stat boost actually feels in a duel
Last updated: 2026-05-21