Documentation

How The Memecoin Test works

A fee lottery on Robinhood Chain: every five minutes, 100% of collected trading fees are sent to one randomly selected holder who owns more than 0.5% of total supply.

Overview

Most memecoins route fees to a team wallet, a buyback, or a vague “treasury.” This experiment does something narrower: fees accrue in a pool, a five-minute window closes, and the entire pool is paid to a single eligible wallet.

  • 100% of fees — no team cut, no split among winners for that round.
  • One winner per round — selected from the eligible set when the round settles.
  • Hard eligibility floor — you must hold more than 0.5% of circulating (or total) supply at snapshot time.
  • Fixed cadence — rounds align to a global 5-minute clock shared by Fees and Explorer.

Eligibility (> 0.5% supply)

Only wallets that hold more than 0.5% of supply are in the draw. Below that threshold, you can still hold and trade the token, but you are not eligible for that round’s fee payout.

Why a floor? Tiny dust wallets would otherwise dominate the randomness surface and make the lottery trivial to game by spinning up thousands of addresses. The 0.5% gate means winners are real holders with meaningful skin in the game.

Snapshot rule (design)

At round end, balances are read on-chain. Eligibility is computed from that snapshot. Buying after the snapshot does not enter you into the round that just closed.

Five-minute rounds

  1. Accrue — trading fees from the pool / pair flow into the fee collector for the open round.
  2. Close — when the 5-minute window ends, the contract (or keeper) freezes the pool amount for that round.
  3. Select — a random eligible holder is chosen from wallets above 0.5% supply.
  4. Pay — 100% of that round’s fees are transferred to the winner. The next round starts immediately.

The site’s Fees and Explorer pages share the same wall-clock rounds so the countdown you see on Fees matches the round marker on Explorer.

Contracts — what lives on-chain

The experiment is an EVM smart-contract system. At a high level you should expect these pieces (names may evolve as the repo hardens):

Token
The ERC-20 (or equivalent) memecoin: name, symbol, supply, transfer hooks if needed for fee accounting.
Fee collector / vault
Holds accrued fees between payouts. This is the balance that resets to zero (for that round) after a successful distribution.
Distributor / lottery
Reads eligible holders, draws a winner, and executes the transfer of 100% of the round’s fees.
Keeper / cron entrypoint
Permissioned or incentivized call that settles a round every five minutes if fees are waiting.

Robinhood Chain is fully EVM-compatible, so contracts written in Solidity deploy with the same Foundry / Hardhat workflows you use on Ethereum — no custom language, no non-EVM toolchain.

Robinhood Chain network details

Deployment targets Robinhood Chain. Official network parameters from the Robinhood Chain deploy docs:

PropertyMainnetTestnet
NetworkRobinhood ChainRobinhood Chain Testnet
Chain ID466346630
RPChttps://rpc.mainnet.chain.robinhood.comhttps://rpc.testnet.chain.robinhood.com
Explorerrobinhoodchain.blockscout.comexplorer.testnet.chain.robinhood.com

Prefer testnet first. Point RH_RPC_URL at the testnet RPC, use chain ID 46630, and verify against the testnet Blockscout API when you are still iterating.

Deploying contracts (Foundry)

Robinhood’s guide walks through Foundry and Hardhat. The Foundry path looks like this in spirit:

# env — never commit a real key
export PRIVATE_KEY=0xYOUR_THROWAWAY_KEY
export RH_RPC_URL=https://rpc.testnet.chain.robinhood.com

forge create src/TheMemecoinExperiment.sol:TheMemecoinExperiment \
  --rpc-url $RH_RPC_URL \
  --private-key $PRIVATE_KEY \
  --broadcast

You need a wallet funded with ETH on Robinhood Chain for gas. Add the network in your wallet using the chain ID and RPC above before you broadcast.

Hardhat works the same way: configure a robinhood network with url: process.env.RH_RPC_URL, chainId: 4663 (or 46630 for testnet), and run your deploy script with npx hardhat run scripts/deploy.js --network robinhood.

Verify on Blockscout

After deploy, verify source so Explorer links and the public can read the exact bytecode ↔ Solidity mapping:

forge verify-contract <contract_address> \
  src/TheMemecoinExperiment.sol:TheMemecoinExperiment \
  --chain-id 4663 \
  --rpc-url $RH_RPC_URL \
  --verifier blockscout \
  --verifier-url https://robinhoodchain.blockscout.com/api/

Verified contracts appear at https://robinhoodchain.blockscout.com/address/<contract_address>. Once this experiment is live, Explorer on this site will deep-link those addresses and payout transactions.

Safety notes

  • Never commit a real private key. Use env vars and a throwaway deployer for testing — as stressed in the official deploy guide.
  • Read the verified contract before you size a position. This site’s Fees page will show 0 until the fee vault is live and accruing.
  • Randomness and eligibility logic should be transparent on-chain. Treat any off-chain “keeper” as operational infrastructure, not a trust assumption for funds custody beyond the round settlement call.