// THE POND
20 SPECIES.
5 RARITIES.
5 RARITIES.
Every fish rolled on-chain at mint using block entropy. Nobody - not even the deployer - can predict what you catch.
// DROP RATES
COMMON
52.5%
UNCOMMON
29%
RARE
12%
EPIC
3%
LEGENDARY
0.5%
// GAME MECHANICS
THE POND
HAS RULES.
HAS RULES.
All enforced on-chain. No team can change odds, override a mint, or shut it down.
โ BOSS - EVERY 1,000 CASTS
5 wallets sacrifice fish to weaken it. Then anyone calls catchBoss() to claim a free Legendary. Resets automatically.
๐ฅ EVOLVE SET - BURN 5, RECEIVE 1 LEGENDARY
Own 5 fish of the same rarity? Burn them all and receive 1 Legendary with the Mutated trait. Supply decreases permanently.
๐ฃ
CAST & MINT
First fish per wallet free. 0.0001 ETH each after. Cast 1-10 per txn. Rarity rolled on-chain with block.prevrandao + wallet + nonce.
๐
GUARANTEED LEGENDARY
Every 500 casts, the contract forces a Legendary. Tracked by _castsSinceLastLegendary. Hardcoded. No luck needed.
๐ฏ
TWIN CATCH
0.5% chance. Contract mints 2 identical fish and sends both to your wallet. Same price, double fish.
โ ๏ธ
POISON & GHOST
1% Poison at any time. Ghost trait unlocks after 5,000 minted - spectral fish emerge at 1% odds.
โญ
MUTATION EVENTS
Every 100 casts, a random existing fish mutates permanently on-chain. Your fish could change mid-wallet.
๐
CURSED POND
3 times ever: rarity fully inverts. Legendary becomes common odds. Common becomes legendary odds. Permanent after 3rd use.
๐
CATCH HISTORY
Every fish stores the last 3 wallets that held it - updated automatically on every transfer. Full on-chain provenance.
๐
SEASONS
Owner can advance seasons via nextSeason(). Each season is a new chapter. Season data stored on-chain.
๐ค
MOOD SYSTEM
Each fish has a mood: Playful, Calm, Fierce, Enraged. Stored on-chain. Owner can update via setMood().
// CONTRACT FUNCTIONS
EVERYTHING
ON-CHAIN.
ON-CHAIN.
All functions public and verifiable. Deployed and verified on Ethereum mainnet.
// CONTRACT 0xC96d374f1A873672a64Fe9DC7db1D945F95E984CESS
0xC96d374f1A873672a64Fe9DC7db1D945F95E984C
PAYABLE
WRITE
READ
PAYABLE
catch_
catch_(uint256 amount)
Mint 1-10 fish. First fish per wallet is free. 0.0001 ETH each after. Rarity and traits rolled on-chain. May mint twins or trigger mutations.
WRITE
contributeToBoss
contributeToBoss(uint256 tokenId)
Sacrifice one of your fish to weaken the active boss. Requires boss to be active. First 5 contributors weaken it. Fish is permanently burned.
WRITE
catchBoss
catchBoss()
Defeat the boss and claim a free Legendary. Callable by anyone once boss has 5 contributions. Boss resets after defeat.
WRITE
evolveSet
evolveSet(uint256[5] tokenIds, uint8 family)
Burn 5 fish of the same rarity, receive 1 Legendary with Mutated trait. All 5 permanently burned. family = rarity tier (0-4).
READ
getTraits
getTraits(uint256 tokenId) โ (rarity, species, poison, ghost, twin, mutated, trophy, mood, catchBlock)
Returns all 9 traits of a token. All packed in a single uint256 on-chain.
READ
getPondStats
getPondStats() โ (totalMinted, season, bossThreshold, bossActive, castsSinceLegendary, cursedPond, cursedUses)
Returns live pond state. The website polls this every 30 seconds.
READ
mintCost
mintCost(address wallet, uint256 amount) โ uint256
Returns exact ETH cost in wei. Accounts for the free first cast. Use this to calculate value to send with catch_().
READ
tokenURI
tokenURI(uint256 tokenId) โ string
Returns fully on-chain base64 JSON with name, SVG pixel art image, and all 8 traits. No IPFS. No external calls.
// HOW TO CAST
FOUR STEPS TO
YOUR FIRST FISH.
YOUR FIRST FISH.
01
CONNECT WALLET
MetaMask on Ethereum mainnet. Your first fish is always free.
02
ADD RODS
Click + to add rods. Each rod = 1 fish per cast. Up to 10 at once.
03
CAST LINE
Hit Cast and approve the transaction. Rarity revealed on-chain.
04
REEL IN
Tx confirms. Traits locked on-chain forever. View on OpenSea immediately.
// ON-CHAIN
EVERYTHING LIVES
ON ETHEREUM.
ON ETHEREUM.
No IPFS. No servers. No expiry. Art and game logic stored in contract bytecode.
// CONTRACT
0xC96d374f1A873672a64Fe9DC7db1D945F95E984C
Verified on Etherscan. ERC-721 on Ethereum mainnet.
// ON-CHAIN ART
SSTORE2
19KB compact binary pixel art. All 20 species stored as contract bytecode. tokenURI returns SVG image.
// RANDOMNESS
PREVRANDAO
Block entropy + wallet + nonce + tokenId. Dynamic odds shift as supply drops below 5,000 and 2,000.
// SUPPLY
10,000 MAX
Hard cap on-chain. First fish free per wallet. 0.0001 ETH after. Up to 10 per transaction.
// TRAITS
PACKED UINT256
All 9 traits packed into one uint256 per token. Rarity, species, poison, ghost, twin, mutated, trophy, mood, catchBlock.
// CATCH HISTORY
ON-CHAIN PROV.
Every fish stores last 3 wallets. Updated automatically on every transfer.