List a Game

Add a game to the FlipKey marketplace. Players buy a license NFT, redeem it on your platform, and your code activates the key. No upfront minting — tokens are created at the moment of purchase.

Buyers' wallets pick the chain at checkout. You don't need to choose. Inventory is a counter — adjust the cap, price, or metadata any time without paying gas. Fields marked * are required.

Before you publish 0 / 5 ready

Each item ticks off as you complete it. The Create Listing button unlocks when all five are green.

  • Game info — title, developer, and short summary Used on the marketplace card and detail page.
  • Cover artwork URL (vertical 5:6) Need art? Run node scripts/generate-game-images.js --slug your-game --name "Your Game" --concept "..." to generate cover/banner/logo with the FlipKey image pipeline.
  • At least one platform with keys, price, and redemption URL Add a row per platform you support. Each variant gets its own cap and price.
  • A working redemption backend that handles a live link test Your {tokenId} URL must respond to ?fk_test=1&nonce=… with an HMAC-signed JSON. No backend yet? Drop in publisher-starter/ — runs as-is. See spec →
  • All redemption URLs verified (click Test Link on each row) Editing a URL after a successful test re-locks the listing until you re-test.

Game

What's being sold.

Max 500 characters. Used on the browse grid.

Artwork

Image URLs — upload coming in next pass; for now paste a hosted URL.

Portrait, ~5:6 ratio. Browse grid card.
Wide banner for the game detail page.

Platforms & Inventory

Add a row for each platform you have keys for. Each platform has its own cap, price, and redemption URL. Every redemption URL must pass a live link test before the listing can be published — your page handles a ?fk_test=1&nonce=… request and returns an HMAC-signed JSON response. See docs →

Template placeholders: {tokenId} (required) is substituted at mint time. {contract} (optional) is substituted with the contract address — use it if you sell across multiple ERC721 collections where token IDs may collide.

Region & Refunds

Where the listing appears in the marketplace. Doesn't lock the NFT itself.
Pre-redemption auto refund window. Default 14 (Steam-parity). Set 0 for no refund (promo / beta / collectible). Refunds before redemption don't waste a key — the slot returns to inventory, since nothing is consumed until redemption.

Tax

How this product is classified for sales tax / VAT. You're the merchant of record, so pick what best describes it — most game keys are “buy to own”.

License Terms (EULA)

Buyers can read this before they buy, and must accept it at checkout. Provide the agreement text, a link, or both — most marketplaces hide this; yours won't.

Rendered as plain text on the listing. Leave blank if you only want to link out.
A canonical URL to your hosted agreement, shown as a “View full terms” link.