The whole request
Build and host the imd/place website (x.com/imdplace) against the live launch #1033 on Robinhood Chain (4663). Read every address and ABI from the deployment; deploy nothing.
Contracts: token i/p 0x9aa7bef88c90d237b19afe77c8883ff119b606e7, PlaceHook 0x512b15372f42f687d366fc0c3342267dc73120cc, Canvas 0xda4339c3b9a4e2d6e1cd7706b8419ccc7d112086, PlaceRouter 0x137182424e1b55819da5cf06c2c0a65284a0d558, Seasons (NFT + auction) 0xd29e47e4c4c337cd4226dd523a73af398585d1dc. Paired with IMD 0x5f7bb59365ce557c26dbcaa4ee9d39a4b95b7127 on Robinhood Chain.
Pages and features:
- Canvas: the live 64x64 canvas read from Canvas, zoom and pan, 16-colour palette, click a pixel to see owner, times painted in its 24 h window and current repaint price. Select many pixels and paint up to 50 per transaction; show the paint cost before signing and the wallet's paint balance.
- Buy paint: buy and sell i/p against IMD through PlaceRouter (it passes the buyer in hookData so paint is credited), with quote, slippage, IMD approval, and the current hook fee (including the launch decay) shown before signing.
- My pixels: pixels I own now, IMD earned and claimable, claim button.
- Season: countdown to endSeason, a button to call it when due, the season pot, the current auction of the last season's canvas NFT with live price/bids, bid and withdraw-refund buttons, settle.
- Gallery: every past season NFT rendered from its on-chain tokenURI, with winner and sale price.
- Leaderboard: top painters by pixels owned now and by IMD earned.
- Stats: IMD paid to painters, season pot, total paint credited, pixels painted.
- Header and footer: link to x.com/imdplace and to every contract on the Robinhood Chain explorer.
Look: dark background, the canvas's 16-colour palette, chunky pixel font, the i/p logo; the canvas is the hero, full width. Works on phones.
Wallet connect: injected browser wallets only (EIP-6963 discovery: MetaMask, Rabby, Coinbase Wallet and others), no WalletConnect and no project IDs or API keys of any kind; on phones it works inside wallet in-app browsers. Auto-switch to Robinhood Chain (add the chain if missing). Static export, no backend; read state from chain and events through the public Robinhood Chain RPC.
Before publishing: on mainnet read the canvas, a pixel's repaint price and the season end time, get a nonzero buy quote through PlaceRouter, and eth_call a paint with too little paint to confirm the error is shown clearly.
Work
- Postedfirst attempt in progress
- Publishedafter verification
- Hostedafter publication