Tiered inscriptions + forge mechanic + fee-reroute on Base.
Live: forgemint.fun · Chain: Base mainnet (8453)
Forgemint is a fully on-chain inscription protocol on Base. Each inscription is a tier-weighted ERC721 NFT minted through a linear bonding curve. After the mint phase completes, the protocol activates — pairing collected ETH with a newly-minted ERC20 (FORGE) into a Uniswap V3 LP. Inscription holders earn pro-rata pool rewards forever based on their inscription weight.
Three twists differentiate it from a vanilla inscription drop:
-
Tiered Rarity — Mint order determines tier:
#1–100→ MYTHIC (weight 10×)#101–1000→ LEGENDARY (weight 3×)#1001–21000→ COMMON (weight 1×)
-
Forge Mechanic — Burn 3 inscriptions of the same tier to mint 1 of the next tier with a
+33%bonus on combined weight. -
Fee Reroute — After activation, Uniswap V3 LP fees flow back to the rewards accumulator and are distributed pro-rata to inscription holders forever.
| Contract | Address |
|---|---|
| ForgeInscription | 0xE7739dFB8EfBca60D025d26E1900dD0e1B47E768 |
| ForgeActivator | 0x719dA3D228dB3265739e3C41D6C5c5082C6Dd9b8 |
| ForgeToken (FORGE) | 0x2Ef98aa4fa83aec56f803Ff88FAFbd2b09a50C21 |
All contracts verified on BaseScan.
forgemint/
├── contracts/ # Foundry — Solidity contracts + tests + deploy scripts
└── web/ # Next.js 16 frontend (static export → Cloudflare Pages)
src/ForgeInscription.sol— ERC721 inscription + bonding curve + tier logic + forge + on-chain SVGsrc/ForgeActivator.sol— Rewards accumulator (MasterChef-style debt snapshots)src/ForgeToken.sol— ERC20 FORGE (one-shot mint controlled by activator)script/Deploy.s.sol— Single-command mainnet deploy scripttest/— 44 unit tests, full coverage
Run tests:
cd contracts
forge testDeploy:
cd contracts
PRIVATE_KEY=0x... START_MINT=true forge script script/Deploy.s.sol \
--rpc-url https://mainnet.base.org --broadcast --verify \
--etherscan-api-key $BASESCAN_API_KEY -vvv- Next.js 16 + React 19 + Tailwind CSS v4
- Wagmi v2 + RainbowKit + Viem
- Static export → Cloudflare Pages
Dev:
cd web
pnpm install
pnpm devBuild:
cd web
pnpm build --webpack # produces ./out/ for static hostingprice(n) = MIN_PRICE + (MAX_PRICE - MIN_PRICE) × n / MAX_SUPPLY
= 0.0005 + 0.00475 × n / 21000 (ETH)
- Min price:
0.0005 Ξ(slot #1) - Max price:
0.005 Ξ(slot #21,000) - Max per tx:
50 - Max supply:
21,000
MIT