Quick start for sellers
This guide walks a creator through listing an IP asset for sealed-bid licensing on SealedIP. Both you and the winning bidder operate with sealed numbers: bidders can't see each other's bids, and they can't see your reserve price either. Both sides are revealed only at settlement.
What you need
- A browser wallet on Story Aeneid testnet (chain id
1315). - A small amount of test IP for gas. Grab it from the Aeneid faucet.
- An idea of what you're licensing and under what terms. If you don't know, start with our license terms guide.
Two paths
There are two flows depending on whether your IP is already registered on Story.
Path A — Mint a new IP and list it (most common)
Use this if your IP isn't on Story yet. SealedIP mints the NFT into the shared collection, registers it as a Story IP, attaches your chosen PIL terms, opens the auction, and then seals your reserve. Four wallet actions total.
- Go to sealedip.com/create.
- Pick the Create new IP tab.
- Fill in:
- Title — what bidders will see at the top of the lot card
- Description — a sentence or two about the IP
- Category — Music, Art, Characters, Worlds, Code, or Other
- Cover image — drag-and-drop a PNG / JPEG / WEBP / GIF up to 10 MB
- License terms — pick one of the five presets (see License presets)
- Reserve price — your minimum acceptable bid in WIP (sealed; bidders never see this number)
- Bidding window — 5 min, 1 hour, 24 hours, 7 days, or 30 days
- Review the "What you take home" panel: marketplace fee, royalty preview, and the four steps ahead.
- Click Mint and start the auction. Four wallet actions in sequence:
- Mint the NFT and register the IP (transaction)
- Attach the license terms (transaction)
- Open the auction —
createAuction(ipId, termsId, deadline)(transaction) - Seal your reserve — sign the amount, then
submitEncryptedReserve(auctionId, ciphertext)(personal signature + transaction)
You'll be redirected to your new auction page.
Path B — List an IP you already registered
Use this if your IP is already on Story (registered through another tool, imported from a prior project, etc).
- Go to sealedip.com/create.
- Pick the List existing IP tab.
- Connect your wallet — the picker auto-loads IPs your wallet owns by querying Story's v4 API.
- Pick one of the cards (or click Paste an address instead if your IP isn't in the list).
- Pick the License terms ID that's already attached. If you're not
sure, the picker auto-reads attached terms from the on-chain
LicenseRegistryand shows them as click-to-fill chips. - Set reserve price and bidding window.
- Click Start the auction. Two wallet actions:
- Open the auction (transaction)
- Seal your reserve (personal signature + transaction)
Sealed reserve
Your reserve price is never posted on-chain in plaintext. The number is
encrypted into a CDR vault (piplabs' threshold-decryption network) and can
only be decrypted after the auction deadline passes and someone calls
trigger(). At that point, CDR validators reconstruct the plaintext and
the orchestrator passes it to settle(), where the contract verifies your
signature before applying the floor.
If you skip the reserve-seal step, the floor defaults to 0 and any bid wins.
After settlement
When your auction closes and settles:
- The winning bid is paid to your wallet as WIP automatically.
- The PIL license token is minted to the winner.
- Losing deposits are refunded to each losing bidder.
All of that happens in a single transaction. There's no claim action you need to take. See After settlement for what to do next.
Fees and royalties
- Marketplace fee: 0% during the hackathon. You keep the full winning bid.
- Royalties are determined by the PIL terms you attach. If you pick the Commercial remix · 5% revenue preset, every downstream derivative pays 5% of its revenue to your wallet via Story's LAP royalty policy. See Fees and royalties.
Next steps
- Choosing license terms — the five PIL presets explained in plain English
- Fees and royalties — what you keep and what flows downstream
- Lifecycle — the full state machine from list to settle