We have just recently released the Auctions feature on Litemint! NFT owners on Litemint can now run live, time limited auctions with reserve price to further engage with their potential buyers. Collections also accept a dynamic filter for your auctions, show them off!
It is important to mention that Litemint auctions are fully decentralized, require no escrow, with full settlement on the Stellar DEX. Stellar offers all the tools to power such auctions, let’s uncover these tools and dissect these auctions!
- Decentralized, at no time should a third party (e.g., Litemint) have ownership or access to the assets being traded.
- Participants should be guaranteed that their bids cannot be filled before the auction expires.
- NFT owners should be guaranteed that execution only occurs if the best price is at or above their reserve price at the end of the auction.
- At any time before the end of the auction, NFT owners should be able to withdraw their NFT from auction.
- At any time before the end of the auction, bidders should be able to retract their bids.
🛠️ The Stellar Toolbox
⏳ Time-Bound Transactions
Stellar allows us to specify time bounds for transaction validity so transactions can fail if submitted too early (or too late) to the network. Using these properties, we can ensure that a settlement transaction cannot happen before a specific time determined by the auction duration.
✍️ Pre-Authorized Transactions
Stellar allows an account to pre-authorize transactions on the network. These transactions can be used to lock accounts and have them execute very specific operations for settlement, and nothing else.
💱 Path Payment Operations
Path payments can be used for filling the highest bidder on SDEX at the end of the period. The pathPaymentStrictSend operation also allows us to specify a destination minimum amount, the auction reserve. If this amount is not met, all other operations fail.
📜 The Contract
Piecing all this together, we can now bind participants to a contract implemented via a time bound, pre-authorized transaction on Stellar. By locking the contract holder account, we can guarantee that the bids can never be filled before the end of the auction.
Although Litemint does it automatically, anyone can submit this pre-authorized transaction to the network at the end of the auction, ensuring the execution is fully decentralized.
Here is a sequence diagram to help visualize the various operations.
You can find a sample XDR from this link on Stellar laboratory with the contract transaction generated for the live auction below. This transaction is automatically summited at the end of the auction.
Again, thanks for being with us, making NFT on Stellar a reality, and happy auctioning on Stellar! Any questions or comment, feel free to let us know.
Also make sure you follow us on our social channels to keep posted about our latest news:
Web App: https://litemint.app/
Google Play: https://play.google.com/store/apps/details?id=com.litemint.app
Thanks for reading.
Prev. Developer and Technical Lead for BGC Partners, Crédit Lyonnais Bank (trading systems) and British Government National Program for IT (smart card technology in healthcare). Indie game developer, co-founder of Israeli-based video game company Massive Games (pie.ai) and winner of the Honorable Mention Prize at the 2014 Linux Foundation & Samsung Tizen App Challenge.