"/>
✦ Whitelist mint is free — join the whitelist · Learn More ↓       ✦ 10,000 unique on-chain animated pixel art rocks on Ethereum · 11 Traits · Rarity · OpenSea ↗       ✦ Whitelist mint is free — join the whitelist · Learn More ↓       ✦ 10,000 unique on-chain animated pixel art rocks on Ethereum · 11 Traits · Rarity · OpenSea ↗

100% On-Chain · Ethereum · ERC-721C · Free

White Rocks.
Forever
on-chain.

10,000 unique pixel art rocks — generated entirely on-chain. No IPFS. No servers. No metadata ever disappears. Just rock, forever, on Ethereum. Whitelist mint is free.

Minted
10,000
Max Supply
WL FREE
Whitelist Price
5%
Royalty
Beach
Grassy
Volcanic
Forest
Arctic
Mint Your Rock Loading…
⚠ Please switch to Ethereum Mainnet
✗ Your wallet is not on the whitelist.
0 minted 10,000 remaining
Quantity Minted: 0 / 2
1
CollectionOn-chain White Rocks
TokenERC-721C (OWR)
Whitelist priceFREE
Public price0.0001 ETH
Max per wallet2
Total FREE 🪨

Max 2 per wallet · WL mint is free · 5% royalty · ERC-721C

On-chain SVG
No IPFS
ERC-2981
Verified

What makes each rock unique

11 Traits. 10,000 Rocks.

Every rock is generated on-chain from a single seed. Eight original traits plus three new ones — Weather, Accessory, and Time of Day — make each token truly one of a kind.

🏔️
Terrain
10 environments
Grassy · Desert · Snowy · Volcanic
Arctic · Alien · Forest · Beach · Rocky · Cave
🪨
Shape
8 silhouettes
Round Boulder · Tall Shard · Flat Stone
Lumpy · Chunky · Wedge · Cobble · Worn Smooth
📏
Size
5 scales
Pebble · Palm · Fist
Head · Boulder
Finish
5 surfaces
Rough Matte · Polished · Wet
Gleaming · Mirror
Age
6 eras
Freshly Broken · Young · Weathered
Ancient · Primordial · Ageless
🌿
Moss
6 levels
Bare · Dusting · Patchy
Mossy · Overgrown · Fully Mossy
⚖️
Weight
5 densities
Featherlight · Light · Normal
Dense · Impossibly Heavy
🌍
Origin
6 sources
River Bed · Quarried · Coastal
Volcanic · Meteorite · Deep Cave
🌦️
Weather NEW
6 conditions
Clear · Rain · Snow · Fog
Storm · Heatwave
💎
Accessory NEW
6 types
None · Cracks · Crystals
Gold Veins · Moss · Gemstone
🌅
Time of Day NEW
5 moments
Dawn · Day · Dusk
Night · Midnight
🎲
Seed
uint32 — unique
XOR-shift RNG · Block-derived
Locked at mint · On-chain verifiable

The technical truth

Permanent. By design.

Three contracts, one mission: keep every pixel alive on Ethereum forever.

01
Fully On-Chain SVG
The WhiteRocksBgRenderer builds the terrain and sky. The WhiteRocksRenderer adds the rock, shading, and accessories. WhiteRocks assembles the final JSON with base64-encoded SVG — no IPFS, no CDN, no external hosting ever.
data:image/svg+xml;base64,…
02
Seeded Randomness
Your rock's uint32 seed is generated from block data at mint time. All 11 traits are computed deterministically via XOR-shift RNG — no oracle, no reveal, no randomness manipulation. The same seed always returns the same rock.
XOR-shift RNG · Fully verifiable
03
ERC-721C + Royalties
Built with LimitBreak's CreatorToken standard and ERC-2981. 5% royalty on every secondary sale — enforced at the contract level, not just a suggestion. Royalty recipient and basis points are updatable by the owner.
ERC-2981 · 500 bps · Enforced
04
Animated On-Chain
CSS animations are embedded directly in the SVG — drifting clouds, aurora shifts, lava flickers, star twinkles, rain and snow particles, gemstone pulses. All animation code lives in the contract. No JavaScript. No external assets.
CSS animations in SVG · No JS
05
Whitelist + Public Phases
Phase 1 is whitelist-only via Merkle proof verification — free for whitelisted wallets. Phase 2 is public at 0.0001 ETH per rock. Maximum 2 per wallet, enforced on-chain.
Merkle proof · Phase-gated
06
OpenSea Compatible
tokenURI returns full JSON with image, animation_url (animated SVG), and external_url. contractURI provides collection metadata. The 512×512 SVG renders correctly as thumbnail and in detail view.
animation_url · contractURI · 512px

Not art.
Not a pfp.
Just a rock.

That's the whole point. While every other NFT project promises roadmaps, utility, Discord servers, and a "community" that evaporates in six months — we're just putting rocks on a blockchain.

No team. No promises. No reveal. No IPFS links that go dead when the startup shuts down. The contract deploys, the rocks exist, and then nothing can touch them. Not us. Not Ethereum. Not time.

"Most NFTs are a URL to a JPEG hosted on someone's server. We are the image. We are the metadata. We are the contract. There is nothing else."

Ten thousand rocks. Each one unique. Each one permanent. Each one free. Because the point isn't to get rich — it's to put something real on-chain, forever.

Every rock above is real — living on Ethereum right now

Why this matters

Built different. By necessity.

⛓️
Your metadata can't die
Every NFT that uses IPFS, Arweave, or a server is one "we're shutting down" email away from a broken link. On-chain White Rocks stores everything in the contract itself. The image, traits, name — all returned directly from Ethereum's state. No dependencies. No expiry.
🔍
Every pixel is verifiable
The renderer is open-source Solidity, verified on Etherscan. Anyone can read exactly how your rock's colours, shape, terrain, and traits are computed from a single 32-bit seed. No black boxes. No mystery mint. The same seed always produces the same rock — forever.
💎
Free is intentional
We set the price to zero on purpose. This isn't a cash grab — it's a statement. The value is permanence, not scarcity theatre. A rock that's free to mint and lasts forever is more honest than a 1 ETH JPG that breaks in two years.
🪨
Rocks don't need utility
No staking. No breeding. No token. No game. No roadmap. Rocks just exist. That's not a failure of imagination — it's the feature. The most durable things in the world don't do anything. They just are. Your rock will still be here when every "utility NFT" is forgotten.

Not all rocks are equal

Rarity breakdown.

Eleven traits combine to make each rock unique. Some combinations are extraordinarily rare — a Legendary Meteorite rock from an Alien planet with a Mirror finish and a Gemstone accessory at Midnight is a 1-in-thousands occurrence.

★ Legendary
Alien Terrain
Terrain trait
~3% of supply
★ Legendary
Mirror Finish
Finish trait
~8% of supply
★ Legendary
Ageless Age
Age trait
~8% of supply
★ Legendary
Meteorite Origin
Origin trait
~6% of supply
◆ Rare
Arctic / Cave / Volcanic
Terrain trait
5–6% each
◆ Rare
Gemstone Accessory
Accessory trait (NEW)
~10% of supply
● Uncommon
Storm / Heatwave
Weather trait (NEW)
~12% each
● Uncommon
Midnight / Night
Time of Day (NEW)
~14% each

Verified on Ethereum

Contract Details

All three contracts are open source and verifiable on Etherscan. Compiled with Via IR, optimizer runs: 1.

Collection Name
On-chain White Rocks
Token Symbol
OWR
Token Standard
ERC-721C (CreatorToken)
Blockchain
Ethereum Mainnet
Max Supply
10,000
Mint Price
WL: FREE · Public: 0.0001 ETH
Max Per Wallet
2 (enforced on-chain)
Royalty
5% — ERC-2981 enforced
Mint Phases
Phase 1: Whitelist — Free
Phase 2: Public — 0.0001 ETH
Contract (Main)

Honest comparison

How we stack up.

FeatureOn-chain White RocksTypical NFTIPFS NFT
Image stored on-chain✓ Always✗ Never✗ Never
Metadata survives shutdown✓ Forever✗ No~ Maybe
Traits verifiable on-chain✓ Yes✗ Rarely✗ Rarely
No team dependency✓ Zero✗ High✗ High
Royalties enforced on-chain✓ ERC-2981 + 721C~ Optional~ Optional
Animated metadata✓ CSS in SVG✗ Static✗ Static
Mint priceWL: FREE0.05 – 1+ ETH0.01 – 0.5 ETH
Roadmap / promises✓ None. Just rocks.✗ Many, rarely kept✗ Usually

Got questions

FAQ.

What does "100% on-chain" actually mean?
It means the image and metadata are generated and stored entirely inside the smart contract. When you call tokenURI(), the contract builds the SVG pixel art on the fly and returns it as a base64-encoded data URI — no external server, no IPFS, no CDN. The image lives in Ethereum's state, forever.
How does the whitelist work?
During Phase 1, only whitelisted wallets can mint. Your wallet is automatically checked when you connect using a Merkle proof — if you're on the list, the mint button unlocks instantly. No codes, no Discord roles, no forms. When Phase 2 opens, anyone can mint. Max 2 per wallet in both phases.
Will my rock look different on OpenSea vs other marketplaces?
No. Because the image is returned directly from the contract, every marketplace renders exactly the same SVG. There's no "source of truth" server — the contract is the source of truth. Your rock looks identical everywhere, and the animation plays in the detail view via animation_url.
Can the team change my rock after I mint?
No. Your rock's seed is set at mint time using block data and locked in the contract permanently. The renderer contract is immutable once deployed. We can update the renderer address as owner, but the underlying seed — which fully determines your rock's appearance — is frozen forever.
What are the three new traits?
Weather adds environmental conditions like Rain, Snow, Storm, Fog, or Heatwave to your rock's background. Accessory adds details to the rock itself — Cracks, Crystals, Gold Veins, Moss, or an animated Gemstone. Time of Day sets the sky mood: Dawn, Day, Dusk, Night, or Midnight — with stars, a moon, and aurora effects on night variants.
Why is the mint free?
We made it free on purpose, to make on-chain NFT ownership accessible to everyone. There's no VC backing, no presale manipulation, no team allocation. Just a permanent, free rock. The contract is verified on Etherscan — you can read every line of code before minting. The 5% royalty on secondary sales is the only revenue mechanism.
What is the contract architecture?
Three contracts: WhiteRocksBgRenderer handles all background, terrain, weather, and time-of-day rendering. WhiteRocksRenderer_v2 handles the rock polygon, shading, and accessories. WhiteRocks_v2 is the main ERC-721C token contract that assembles the final metadata JSON. This split keeps each contract under Ethereum's 24KB size limit.

Coming post-mint

Seed Fusion ⚗️

The rarest rocks in existence can only be created through fusion — they cannot be minted.

🪨 + 🪨
OWN TWO ROCKS

Hold any two On-chain White Rocks in the same wallet.

🔥
BURN BOTH

Both rocks are permanently burned. Supply decreases. The sacrifice is on-chain forever.

MINT THE FUSION

A new rock is minted with seed = A ^ B. Provably unique. Marked Fused in traits forever.

⚗️
WHY THIS MATTERS

The XOR of two seeds creates combinations that cannot roll naturally during mint. Certain terrain + accessory + time of day combinations are mathematically only reachable through fusion. Fused rocks are the rarest in existence — and their rarity is provable on-chain.

For holders

Holder Perks

Holding a rock gets you access to real benefits — no staking, no points, no DAO. Just hold.

🤝 COLLAB WHITELISTS

OWR holders get priority whitelist access to partner project mints. No forms. No raffles. Just connect your wallet and your rock proves eligibility.

⚗️ SEED FUSION ACCESS

Only holders can participate in Seed Fusion post-mint. Two rocks in, one legendary fused rock out. Rarest trait combos on Ethereum.

🏷️ NAME YOUR ROCK

Set a permanent on-chain name for your rock. Stored in the contract, shown in metadata, visible on every marketplace forever. Your rock, your name.

🎖️ RARITY LEADERBOARD

Top 100 rarest rocks get featured on this site permanently. Rarity is scored on-chain from trait combinations — fully transparent, no manual curation.

What's next

Timeline

No promises. No roadmap theatre. Just what we're actually building, in order.

PHASE 1
Deploy + Whitelist Mint

Deploy all 3 contracts. Whitelist phase opens for collab partners and early supporters. Max 2 per wallet, free.

Contracts deployed Whitelist mint Collabs live
PHASE 2
Public Mint

Public mint opens at 0.0001 ETH per rock. Max 2 per wallet, enforced on-chain. Price collected goes to the project.

Public open 10,000 supply
PHASE 3
Seed Fusion + Naming

Seed Fusion goes live post-sellout. Holders can burn 2 rocks to fuse into 1 legendary. Rock naming also launches — set a permanent on-chain name for your rock.

fuseRocks() nameRock() Rarity leaderboard
PHASE 4
TBD — Community decides

What happens next is up to the community. More collabs. More on-chain experiments. More rocks. We'll see.

On-chain data

Live Stats

Total Minted
Remaining
WL FREE
Whitelist Price
Current Phase
10,000
Max Supply
2 per wallet
Mint Limit
5% (500 bps)
Secondary Royalty
ERC-721C
Token Standard
Ethereum
Blockchain
11 traits
On-chain traits

Holder feature

⚗️ Seed Fusion

Burn two rocks, mint one legendary. Connect your wallet to see your rocks and fuse them.

🔗
Connect Wallet to Fuse

You need at least 2 On-chain White Rocks to perform a fusion.

On-chain scoring

🏆 Rarity Leaderboard

Rarity scores are computed on-chain from trait weights. Common=1pt · Uncommon=4pt · Rare=16pt · Legendary=64pt. Fused rocks get +200 bonus.

Note: Loading the full leaderboard requires many on-chain calls. Results are read-only and fully trustless.