Is my money safe?
Plain-English answers about what happens to the WIP you escrow when you bid, and what happens to the payment when you sell.
SealedIP runs on Story Aeneid testnet during the CDR Hackathon (May 27 – June 5, 2026). The deposits below are testnet WIP. There is no mainnet deployment yet, and you should not assume mainnet-grade security guarantees.
If I lose, do I get my deposit back?
Yes. Your full deposit is refunded automatically in the same transaction that settles the auction. There is no claim button to press, no withdraw call, no waiting period.
Settlement is atomic: the license mints to the winner, the seller is paid, and every losing deposit is refunded, all in one transaction. If any single payout would fail, the whole transaction reverts and nothing happens. Partial settlement is impossible.
If I win, what do I actually get?
A Story PIL license token minted to your wallet, plus a refund of your overpayment (deposit minus the winning bid). Both arrive in the same transaction as the seller's payment.
The license token is the artifact of value. It encodes which rights you bought (commercial use, derivatives, royalties) over which IP. The token is visible in any NFT explorer.
What if no one bids high enough?
Your full deposit is refunded. The contract enforces a reserve price set by the seller. It is sealed while bidding (you never see the floor) and revealed at settle, where the contract checks it against the seller's own signature before applying it. Bids below it can't win even if they're the highest, and if no valid bid clears the reserve, the auction ends with no winner and every bidder is refunded.
Can a seller cancel after I bid?
No. Auctions run to their deadline regardless of what the seller does. There's no cancel function on the contract. Once a seller lists, they've committed.
Can the marketplace operator take my deposit?
No. Deposits live in the SealedAuction contract, not in any SealedIP-controlled wallet. The contract has no admin function that lets us move funds. The only paths for WIP to leave are the settlement transfers documented in the contract source.
You can verify this yourself: SealedAuction on Storyscan ↗
What if my bid was malformed or my signature was wrong?
The contract silently skips it and refunds your full deposit at settle. Malformed bids can't cause settlement to fail; they just don't win. You don't lose anything for trying.
What can't happen
The contract checks bid amount ≤ deposit at settle. Bids exceeding their deposit are skipped, so you can't 'borrow' beyond what you escrowed.
If no valid revealed bid clears the reserve price, no license is minted and every deposit is refunded.
License mint, payment to seller, and all refunds happen in one transaction. If any single step would fail, the whole settlement reverts and nothing moves.
The contract loops through every losing slot and transfers their deposit. A skipped refund would revert the whole settlement, so the orchestrator can't pick winners and losers.
The deadline is set when the auction is created and immutable. There's no extend or shorten function.
The deep-dive version
The points above are the participant's view. If you're an auditor, engineer, or security researcher, the full technical security posture lives in the docs site:
See something exploitable?
This is a hackathon prototype. There is no formal bounty program yet. If you find an issue that would lose user funds, leak bid amounts before deadline, or let a non-winner claim the license, please disclose privately rather than exploiting on testnet.
Open a security advisory at github.com/sneg55/SealedIP. We'll respond within 7 days.