GGOODSMASH

DEVELOPER DOCS

Build on GoodsMash RIGS

Everything is live on Robinhood Chain mainnet (4663) — every address below is deployed, funded, and wired. Copy the code, point at the contracts, ship.

✅ Mainnet 46638+ contracts live — all source-verified on BlockscoutERC-721 + ERC-298110,000/10,000 minted

🏗️ Mainnet Contract Addresses

GoodsMash RIGS (NFT)0x1DFE1eE1BBa83152223e676f496feaE62406bB56
GMTS Yield Token (renounced)0x6ACCc41051F8A150E7728831e7490BD26264b6a3
PerpetualEngine0x3f5032e14471B1BD615d7225fD37DCC1944FC381
TokenLaunchFeeLoop0x63118ecF62559f9BF469593f4127B227Cd22CDaE
RigsStaking0x83dd2e7BF9AD6a96DCA7053F04084320fA90EA20
MineralLottery0x5c843D9C4e8B0f76960e72ef91eA99ee302Ed548
BotMarkBadge0x06D069f8E5132A1B480F878b987B1140F315F4E7
GMTSPool v3 (sell-fee pool)0x0D1C1ad31A8b7BEEe67fcECae3e41eC87F18e984
GMTSPool v2 (live GMTS/ETH AMM)0xd3d0f8051a86b77528508Bd716c26817Ae44291f
PixelPetsRenderer0xcD81FB73A349D2160076e79C0F6a163DA1740C27
SovereignSignalsRenderer0x5D77386116a3BC0ca578Ae57d5bfd2F6bf96c1A3
RWARelicMachinesRenderer0xE9a145B1F796aDe87384a88Da537F51C21cd55f7

All live on Robinhood Chain mainnet 4663 · verify on Blockscout

⚡ Quick Start

1. Add Robinhood Chain to your wallet

RPC: https://rpc.mainnet.chain.robinhood.com · Chain ID: 4663 · Symbol: ETH

2. Point at RIGS

Contract: 0x1DFE1eE1BBa83152223e676f496feaE62406bB56

3. Read state (no key needed)

mintPrice(), totalMinted(), mintedByWallet(addr), maxSupply() — all public views

4. Trade on OpenSea

Collection: approvalnowgoodsmashrigs · 5% royalties auto-enforced

Code Examples — copy/paste ready

Read RIGS holder data (sold out — read-only)

// Read any wallet's RIGS balance & total supply (sold out: 10,000/10,000)
const rigs = new ethers.Contract("0x1DFE1eE1BBa83152223e676f496feaE62406bB56", RIGS_ABI, provider);
const balance = await rigs.balanceOf(walletAddress);
const total = await rigs.totalMinted(); // 10000 — fully minted
console.log(`${walletAddress} holds ${balance} of ${total} RIGS`);

Stake a RIG & earn GMTS

// Stake a RIG into RigsStaking (~380K GMTS pool, 0.01 GMTS/block)
const staking = new ethers.Contract("0x83dd2e7BF9AD6a96DCA7053F04084320fA90EA20", STAKING_ABI, signer);
await (await rigs.setApprovalForAll("0x83dd2e7BF9AD6a96DCA7053F04084320fA90EA20", true)).wait();
await (await staking.stake(tokenId)).wait();
// claim rewards anytime — unstake returns the NFT

Royalty flow (automatic, no code needed)

// ERC-2981 royalties auto-flow to Ledger on every secondary sale
const royalty = await rigs.royaltyInfo(tokenId, ethers.parseEther("1"));
// royalty[0] = Ledger treasury 0x9111…C08E
// royalty[1] = 5% of sale price
// No action needed — OpenSea/marketplaces enforce this automatically

The fee routing loop

// Fee routing: engine treasury → FeeLoop → reserve/rewards/mineral missions
const engine = new ethers.Contract("0x3f5032e14471B1BD615d7225fD37DCC1944FC381", ENGINE_ABI, provider);
const treasury = await engine.treasury(); // → FeeLoop 0x6311…CDaE
// Fees flow to reserve, holder rewards, and real mineral mining missions (smoky quartz,
// beryl, amethyst, tourmaline, apatite— dug on real mining missions, showcased in the shop, lottery prizes)

🔧 Integration Patterns

  • Holder gating: check balanceOf(user) > 0 before granting access to your app
  • Supply tracking: poll totalMinted() — live counter, no indexer needed
  • Royalty enforcement: marketplaces read royaltyInfo() automatically (ERC-2981)
  • Machine mints: PerpetualEngine mints machines (0.0012 ETH, squirrel onchain art) for RIGS holders — fees route through FeeLoop
  • Mineral missions: FeeLoop routes fees to the reserve, holder rewards, and real mineral mining missions — smoky quartz, amethyst, beryl, tourmaline, apatite and more— dug on real mining missions, showcased in the treasury store
  • GMTS token: fully renounced (no owner/mint/pause), 1.6M fixed supply — tradeable on the GMTSPool v2 AMM (0xd3d0f8051a86b77528508Bd716c26817Ae44291f)

🧪 Testing & Tools

  • Blockscout: robinhoodchain.blockscout.com — verify any address/tx
  • RPC: https://rpc.mainnet.chain.robinhood.com (public, ~0.13 gwei)
  • Hardhat tests: 74/74 passing in this repo
  • Bot forensics: see /forensics — full mint audit published

📊 Read Endpoints (all public)

  • Supply: totalMinted(), maxSupply()
  • Holder: mintedByWallet(addr), balanceOf(addr), ownerOf(id)
  • Sale: mintPrice(), maxPerWallet(), paused()
  • Reveal: collectionSeed(), tokenURI(id)
  • Royalties: royaltyInfo(id, salePrice), feeDistributor()
  • FeeLoop: engine.treasury() → FeeLoop address

🛡️ Security Notes

  • SelfMintOnly: free mints must go to the caller — no proxy minting
  • Reentrancy: nonReentrant on all state changes
  • Ownable: admin functions restricted to deployer
  • Onchain audit trail: mintedByWallet() is a permanent public record per wallet
  • Forensics published: 107 bot wallets identified, blacklist public domain
GOODSMASH // HOUSE OF ALPHA

Goodsmash House of Alpha is independent and is not affiliated with, sponsored by, or endorsed by Robinhood.