Skip to content
@Shellr-Packs

Shellr

Buy a sealed pack in ETH, open it, pull memcoins. Commit-reveal, on Robinhood Chain.
Shellr - open a sealed pack, pull memcoins



Site Chain Fairness Audit X


What this is

You buy a sealed pack for a fixed price in ETH. You tear it open. Several memcoins fall out, in your wallet, on Robinhood Chain. Keep them, or sell them back on the spot.

That is the whole product. Everything in these repositories exists to make two claims about it true rather than advertised:

The pack cannot be rigged after you buy it. Robinhood Chain has no Chainlink VRF, so randomness here is commit-reveal. The operator queues a batch of keccak256(secret) commitments before anyone buys. Your pack takes the next one at the moment of purchase and mixes in a seed you chose. Neither side can steer the result: the operator was committed before your seed existed, and you never saw the secret. After the pack settles, the secret is in the reveal calldata and anyone can recompute the draw from public data.

The house edge is arithmetic, not vibes. A pack does not spend your stake. It spends your stake times a multiplier drawn from the same seed, across seven bands. The odds of each band and the ends of each multiplier are public state on the contract, so they can be read directly rather than taken on trust, and expectedPayoutBps in the SDK turns them into the mean they imply. Read them off the chain: what a README claims and what the contract enforces are two different things, and only one of them decides your pack.

The five pack tiers, from Basic at 0.01 ETH to Premium at 0.5 ETH

Five fixed tiers, plus a Pons Pack that prices itself off whatever stake you name and can only reach coins launched on the Pons launchpad. Packs can also be paid for in $SHELLR at a 30% discount, in which case the contract keeps the token and funds the pack out of its own bankroll instead of swapping.


Repositories

What it is Stack
shellr-contracts ShellrPacks, ShellrStockPacks, ShellrStaking. The draw, the bankroll, the commit queue. Solidity 0.8.26, Foundry
shellr-web shellr.trade. The pack-opening theatre, the vault, staking, the stock desk. Next.js 16, wagmi, three.js
shellr-keeper Keeps the seed queue full and reveals every pack. One process, no database. Node 20, viem, Railway
shellr-sdk Reads, calldata, and verifyPack - recompute a settled pack and check it. TypeScript, viem
shellr-stock-packs One tokenized share per pack, routed through Voxelithic's book. TypeScript, viem

The one worth reading first is shellr-sdk. It contains a mirror of the contract's draw, which means the fairness claim above is something you can run rather than something you have to believe.

import { createPublicClient, http } from "viem";
import { robinhoodChain, readDrawConfig, readPack, verifyPack } from "@shellr/sdk";

const client = createPublicClient({ chain: robinhoodChain, transport: http() });

// Addresses are yours to supply - the SDK ships none.
const config = await readDrawConfig(client, packsAddress);
const pack = await readPack(client, 1337n, packsAddress);

const { ok, reason, drawn } = verifyPack(pack, config);
//  ok    -> the revealed secret hashes to the commitment queued before the buy,
//           and the recomputed draw matches what the contract paid out
//  drawn -> which coins, at what multiplier, for how much each


A standing warning

None of these contracts have been audited. They hold buyer ETH between buy and reveal and they approve a router to spend it. That is why maxStake ships at 0.25 ETH and why pause() exists. Both are load-bearing, not decorative.

Two more things that are true and are easier to say here than to discover:

  • A pack is a gamble. The expected return is under what you paid, on purpose, and that is how the thing is funded. Do not buy packs with money you need.
  • The keeper's key is hot and MASTER_SECRET is not rotatable. Every commitment already on chain was derived from it. Losing it refunds every pack in flight; leaking it lets someone predict a pack before buying it. They still cannot change the outcome, but they can wait for a good one.

Found something? SECURITY.md.

Popular repositories Loading

  1. .github .github Public

    Organization profile, security policy, and shared issue templates.

  2. shellr-contracts shellr-contracts Public

    ShellrPacks, ShellrStockPacks and ShellrStaking. Commit-reveal packs on Robinhood Chain.

    Solidity

  3. shellr-web shellr-web Public

    shellr.trade - the pack-opening front end. Next.js 16, wagmi, three.js.

    TypeScript

  4. shellr-keeper shellr-keeper Public

    Queues commit-reveal seeds and reveals every pack. One process, no database.

    JavaScript

  5. shellr-sdk shellr-sdk Public

    Read Shellr's contracts and verify that a pack was drawn fairly.

    TypeScript

  6. shellr-stock-packs shellr-stock-packs Public

    Stock packs: one tokenized share per pack, routed through Voxelithic Protocol on Robinhood Chain.

    TypeScript

Repositories

Showing 6 of 6 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…