After settlement
When your auction reaches Settled, three things happen at once in a single
on-chain transaction:
- The PIL license token mints to the winning bidder's wallet
- The winning bid amount in WIP lands in your wallet
- Loser deposits are refunded to each losing bidder
All atomic. There's no claim action you need to take.
How settlement works
Before the winning bid is paid out, the contract decrypts and verifies your sealed reserve:
- The CDR validators reconstruct the reserve ciphertext and publish the plaintext
ReserveReveal - The
settlecall re-derives the signing digest and recovers the signer from your signature - If the signer doesn't match the auction's
selleraddress, the entire settle reverts withInvalidReserveReveal - The highest valid bid is then compared to the revealed reserve. Only bids that meet or exceed the floor are eligible to win.
This verification is trustless: the orchestrator supplies the decrypted values, but the contract re-checks every signature on-chain. A malicious orchestrator can censor (triggering full refunds) but cannot forge a winner or bypass the reserve floor.
If you never sealed a reserve (reserveHasCiphertext = false), the floor
defaults to 0 and any valid bid wins.
What you can verify
The license token
The license token is an ERC-721 NFT in the
LicenseToken collection.
The auction page shows a "License token #N ↗" link after settlement that
deep-links to the token on Storyscan.
You can also check:
- The token's metadata encodes the
licenseTermsIdandipId - The winner's wallet holds the token
- The token is transferable (or not) depending on your preset
The payment
The AuctionSettled event includes the winningAmount. Your WIP balance
should have increased by exactly that much when the settle transaction was
mined. Block times on Aeneid are short, so this is usually instant.
If you don't see the payment:
- Confirm the auction is in
Settledstate (notTriggered) - Check the
AuctionSettledevent on Storyscan for the auctionId - Look for
WIP.Transferevents from the SealedAuction address to your address in the same block
The royalty bindings
If you picked the Commercial remix · 5% revenue preset, the royalty policy is now active. Every derivative the license-holder mints will route revenue through Story's LAP policy back to your wallet.
There's nothing more to do on your side. The flows are managed by Story's contracts and the licensee's revenue-reporting actions.
What happens if the auction has no winner
If your auction settles to ExpiredNoWinner or ExpiredEmpty:
- No license is minted — the IP is still in your wallet, the terms are still attached, and nothing about the IP itself has changed
- No payment — all deposits are refunded to bidders (or there were no deposits)
- You can relist — start a new auction on the same IP from the List existing IP flow
ExpiredNoWinner means bids were placed but none cleared your sealed reserve.
ExpiredEmpty means no bids were placed at all.
Common reasons to land here:
- Reserve was set higher than the market would bear
- Bidding window was too short and bidders didn't have time to discover the auction
- The IP is in a niche category with no current demand
You can seal a different reserve and set a new deadline on the relisting.
Can you cancel an auction?
No. Once createAuction() is called, the auction proceeds to its
deadline regardless of what you do. There's no cancelAuction() function.
This is intentional. If sellers could cancel, the marketplace would have no commitment guarantee — a seller who saw a low bid coming could pull the auction and relist. Bidders would be wasting gas on auctions that might not settle.
If you want to "cancel" effectively, you can:
- Wait it out. If no bids clear the reserve, it expires with no winner.
- Seal a high reserve when you want a soft-test of the market — bids below the floor drop out at settle.
Can you change the deadline?
No. The deadline is set at createAuction() and immutable. There's no
extend or shorten function.
This is also intentional. An extendable deadline means anyone watching the auction can never trust they have enough time to bid.
Reusing the IP
After settlement, the IP is still owned by you (the seller). The license token is owned by the winner, but the IP itself didn't transfer.
This means you can:
- List the same IP again under a different license preset (multiple licenses can coexist on the same IP)
- Continue using the IP yourself for purposes the license terms don't grant
- Sell additional licenses outside the auction (PIL is permissionless)
The license you sold at auction is one specific grant to one specific buyer. It doesn't preclude other grants.
Reading deeper
- Atomic settlement — why everything happens at once
- Settlement flow — what runs inside
settle() - PIL licenses — what the winner can actually do