On-Chain Blind Box NFT Collection
Blind Box NFTMint, Reveal, Stake
100 NFTs. Hidden rarities revealed after sellout. Stake to earn rewards — Legendary earns 3× more.
How Blind Boxes Work
All NFTs start as blind boxes with hidden rarities. Rarity is revealed only after all 100 NFTs are minted.
Before Reveal
{ "rarity": "???", "multiplier": "???" }After Reveal
{ "rarity": "Legendary", "multiplier": "3x" }VRF-Based Fair Reveal
After all 100 NFTs are minted, the admin triggers reveal via Chainlink VRF. All rarities assigned simultaneously — no mint-order advantage.
Rarity & Rewards
Each NFT has a unique rarity that determines staking rewards. Higher rarity = higher multiplier.
Common
50 NFTs · 50%
Rare
30 NFTs · 30%
Epic
15 NFTs · 15%
Legendary
5 NFTs · 5%
| Rarity | Quantity | Distribution | Multiplier | Base Value |
|---|---|---|---|---|
| Common | 50 NFTs | 50% | 1.0× | 10000 |
| Rare | 30 NFTs | 30% | 1.5× | 15000 |
| Epic | 15 NFTs | 15% | 2.0× | 20000 |
| Legendary | 5 NFTs | 5% | 3.0× | 30000 |
Multiplier base is 10000 (e.g., 15000 = 1.5×). Rewards are calculated on-chain using rarity multipliers.
Live Mint Activity
Watch as collectors mint their blind boxes in real-time.
User Journey
From minting to staking in 6 transparent steps.
Connect Wallet
Connect your Web3 wallet to begin
UserMint Blind Box
Pay 0.001 ETH to mint your mystery NFT
UserWait for Sellout
All 100 NFTs must be minted before reveal
CommunityAdmin Triggers Reveal
Project admin calls reveal() with VRF randomness
AdminBatch Reveal
All 100 NFTs reveal with assigned rarities
AutoStake & Earn
Transfer NFT to staking pool to earn rewards
UserConnect Wallet
Connect your Web3 wallet to begin
UserMint Blind Box
Pay 0.001 ETH to mint your mystery NFT
UserWait for Sellout
All 100 NFTs must be minted before reveal
CommunityAdmin Triggers Reveal
Project admin calls reveal() with VRF randomness
AdminBatch Reveal
All 100 NFTs reveal with assigned rarities
AutoStake & Earn
Transfer NFT to staking pool to earn rewards
UserProvably Fair Reveal
How It Works
- 1.Admin calls reveal() after sellout
- 2.Random offset via VRF oracle
- 3.Each tokenId maps to rarity
- 4.All 100 NFTs revealed at once
Why It Is Fair
- —Rarity pool shuffled off-chain
- —Random offset prevents prediction
- —All 100 revealed simultaneously
- —No mint-order advantage
Architecture
Separate contracts for NFTs, staking, and rewards. Modular design ensures security and upgradeability.
StakableNFT
ERC721- —Mint blind box NFTs
- —Store rarity metadata
- —Provide reward multipliers
- —Trigger VRF reveal
NFTStakingPool
Staking- —Accept NFT deposits
- —Calculate time-based rewards
- —Apply rarity multipliers
- —Distribute RWRD tokens
- —Handle withdrawals
RewardToken
ERC20- —Standard ERC20 token
- —Minted to staking pool
- —Distributed to stakers
Why Separate Contracts?
- —Security: Exploit in one doesn't affect others
- —Upgradability: New staking logic without touching NFTs
- —Flexibility: Same NFT can work with multiple pools
How They Interact
- 1.User mints NFT from StakableNFT
- 2.User approves NFTStakingPool
- 3.Pool calls getRewardMultiplier()
- 4.Pool transfers NFT via safeTransferFrom()
- 5.Pool distributes RWRD tokens
Collection Statistics
Real-time on-chain data. All numbers are verifiable.