Marketplace
Purrkins ships as layered APNG traits and as flattened GIF tokens. OpenSea wants the GIF bake of those loops — the same path Loopkins uses. The APNG stack stays in this repo for the studio and any later restack.
Project description
Collection name Purrkins. Symbol PURR. Category PFPs. The same copy lives in public/metadata/purrkins-description.txt.
Purrkins never sit still. A 10,000-piece collection of looping chibi-cat PFP GIFs on HyperEVM. Each Purrkin is stacked from six layers — pad, glow, pelt, fit, mug, and gear — then flattened onto one 12-frame GIF. Pastel desks behind them. Hoodies and beanies on top. Ears twitch. Eyes blink. Soft bob. Kawaii bust-crop cats with thick outlines, flat cel fills, and streetwear. One shared clock. Minting on HyperEVM (chain ID 999). Gas is HYPE.
Listing kit
OpenSea wants a square logo, a 3:2 featured image, and a wide 4:1 banner — three different pictures, no type on the marketplace images. The site hero can reuse the taller banner.

Logo
512×512, 1:1
public/brand/logo-purrkins.png

Featured
1200×800, 3:2
public/brand/featured-purrkins.jpg

OpenSea banner
2800×700, 4:1
public/brand/banner-purrkins-opensea.jpg

Collection GIF
1000×1000 loop
public/brand/collection-purrkins.gif
Wallet setup
RPC https://rpc.hyperliquid.xyz/evm
Explorer https://hyperevmscan.io
OpenSea does not stack APNG layers for you. Studio is a live compositor. For a Drop you upload finished GIFs plus a CSV. Run the generator to bake each token onto the shared 12-frame clock, then gif_bake.py to make the marketplace loops.
In OpenSea Studio, create a Drop on HyperEVM (chain ID 999). Set supply to 10,000, paste the project description, and upload the listing kit from public/brand.
Upload every file in generated/purrkins/gifs (1.gif–10000.gif) and generated/purrkins/PURRKINS-opensea-drop.csv. The CSV already uses OpenSea’s required headers (tokenID, name, description, file_name, attributes[Trait]). OpenSea plays GIF, not APNG. Preview the loops, then publish.
contracts/Purrkins.sol mints token IDs 1–10,000. Pin generated/purrkins/json and set the base URI. Import that contract on OpenSea instead of using a Drop if you want a custom mint. Gas is HYPE.
Drop upload notes: Preparing metadata for your drop. Live collection: opensea.io/collection/purrkins. OpenSea on HyperEVM: supported chains.