Marketplace
Wicklings 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 Wicklings. Symbol WICK. Category PFPs. The same copy lives in public/metadata/wicklings-description.txt.
Wicklings never go out. An 8,888-piece collection of looping paper-lantern PFP GIFs on Arbitrum. Each Wickling is a little flame that moved into a paper house. The lantern sways. The wick is the face — it blinks, it flickers, it never cools. Nights hang behind them. Halos breathe. Moths orbit and never land. Six layers on one 12-frame clock: night, halo, vessel, wick, wrap, and drift. Soft discs. Translucent paper. Warm amber on night indigo. Minting on Arbitrum (chain ID 42161). Gas is ETH.
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-wicklings.png

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

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

Collection GIF
1000×1000 loop
public/brand/collection-wicklings.gif
Wallet setup
RPC https://arb1.arbitrum.io/rpc
Explorer https://arbiscan.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 Arbitrum (chain ID 42161). Set supply to 8,888, paste the project description, and upload the listing kit from public/brand.
Upload every file in generated/wicklings/gifs (1.gif–8888.gif) and generated/wicklings/WICKLINGS-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/Wicklings.sol mints token IDs 1–8,888. Pin generated/wicklings/json and set the base URI. Import that contract on OpenSea instead of using a Drop if you want a custom mint.
Drop upload notes: Preparing metadata for your drop. Live collection: opensea.io/collection/wicklings. OpenSea on Arbitrum: supported chains.