In 2017 a hundred rocks proved that owning something useless could matter. We finished the job, and the believers finished the claiming in under 70 hours.
rock #1 · granite · igneous · common
I. In December 2017, one hundred rocks appeared on Ethereum. EtherRock was one of the first collectible contracts ever written, arriving in the wake of CryptoPunks. The rocks did nothing. They could only be bought, sold and gifted, and that was the entire point: proof that ownership alone, recorded on a chain, is a thing of value. The first one sold for thirty dollars. Years later they sold for millions.
II. But 2017 could only carry the idea half way. The image of every EtherRock was a piece of 1990s clipart served from a web server. The chain held a promise; the rock itself lived somewhere that could go dark. The contract predated the token standards, so the rocks were invisible to wallets until strangers wrapped them years later. All one hundred were the same drawing in different tints.
III. Robinhood Rocks is the extension of what those hundred rocks set forth, and the completion of it. Same supply, one hundred and never more. Same silhouette. Same refusal to be useful. But here the art is not a link. Every rock is drawn by the contract itself, assembled from chain state, so the rock exists exactly as long as Robinhood Chain exists. Every rock is a distinct mineral with its own record: name, family, grade, hardness, weight, and a silhouette that no other rock shares. Numbered 1 through 100.
IV. The old interface survives here verbatim. buyRock, sellRock, dontSellRock, giftRock and getRockInfo are all functions on our contract, the same names the 2017 contract used, now wrapped in a proper ERC721 with a marketplace built into the token itself, something the originals never had. Each rock still counts how many times it has been sold, the way the old rocks did.
V. There are one hundred rocks and there will never be more. One wallet may hold the claim to exactly one. In a world of ten thousand avatars and infinite mints, owning one of one hundred is the loudest quiet flex on any chain.
VI. Why a coin at all? Because the rocks had to find their believers. $Rocks was how conviction was measured: hold 5,000,000 of it and the contract itself handed you the right to claim a rock. The believers answered, and all one hundred rocks were claimed in under 70 hours. Since there are only one hundred, most who believe will never hold one. That is what the coin is for. If you cannot get a rock, you own the coin and you are part of the ride, the same story, the same supply written in stone, one layer up.
How the whole thing works, with nothing hidden, because nothing can be hidden: every byte described below is public state on Robinhood Chain, and anyone with an RPC connection can check the math.
There are no image files. A rock is computed. The contract keeps one 20 vertex stone template; keccak256 of the rock's number nudges every vertex up to four pixels, which is why no two silhouettes match yet every rock is unmistakably the rock. The mineral supplies four tones, body, light, mid and dark, 12 bytes per rock, and four facet polygons painted over the body do all the shading. The output is a 400x400 SVG assembled character by character inside the EVM, identical on every call, proven byte for byte equal to the generator that designed it.
Two contracts, one job. RobinhoodRocksData is the vault: 1,200 bytes of tones, 500 bytes of traits, one hundred mineral names and the renderer itself, sealed forever the day the render check passed. Nobody can redraw a rock, including us. RobinhoodRocks is the token: an ERC721 carrying the 2017 EtherRock interface verbatim, buyRock, sellRock, dontSellRock, giftRock, getRockInfo, plus escrowed bids and pull payment withdrawals. tokenURI answers with the entire rock, metadata and image, as base64 state. No IPFS, no API, no linkrot, ever.
$Rocks is a plain ERC20 with one historic job: it was the claim gate. Hold 5,000,000 and the rocks contract handed you the right to mint exactly one rock, once per wallet, forever. The gate closed itself in under 70 hours when the hundredth rock left. What remains is the cleanest split in the collection: the rocks are the illiquid trophy, the coin is the liquid exposure, and every original keeper came through the same door holding both.
Every rock, drawn live from the same geometry the contract holds. A rock with a live listing is stamped for sale. Click any rock for its record.
$Rocks is how the rocks found their believers. Hold 5,000,000 and the contract itself handed you the right to claim one rock, one per wallet, forever. Claims opened on July 10, 2026. All one hundred rocks were claimed in under 70 hours.
The claim gate has done its work and can never matter again: every rock is out. From here the coin is the liquid side of the collection. One hundred rocks, one coin, the same story at two sizes. If you want a rock, the market below and OpenSea are the only doors. If you want the ride, the coin is it.
The full market state of all one hundred rocks, read straight from the contract. Listing, bidding and buying all happen inside the token itself, the way the 2017 rocks traded, and the same rocks also stand on OpenSea. Proceeds are withdrawn, never pushed.
| No. | Mineral | Grade | Owner | Asking | Top bid | Sold |
|---|
Nothing about a Robinhood Rock lives on a server. The geometry of the stone, the four tones of every mineral, the names, the grades, the weights, and the marketplace itself are all state inside two contracts on Robinhood Chain. tokenURI returns the entire image as a data URI, drawn at the moment you ask.
Every silhouette is derived from the rock number with keccak256, inside the contract, at render time. Each rock starts from one 20 vertex stone template; the hash of its number nudges every vertex, and its mineral paints the body in four tones: body, light, mid, dark. Same number, same rock, every time, on any machine that can read the chain. No two rocks share a silhouette, yet every rock is unmistakably the rock.
The numbers are absurd on purpose. The art data of the entire collection, every tone of every mineral, every trait, every weight, every name, is about 1.7 kilobytes of sealed contract state. A hundred rocks weigh less than this sentence's screenshot.
The art data was sealed after upload. Sealing is irreversible. No admin can redraw a rock, block a trade or touch an escrowed bid. This page renders every rock from the same geometry the contract holds, and a test proves the two are equal byte for byte on all one hundred.
contracts deploy shortly. addresses will appear here.
Ask the chain yourself, no website required: