FrameSea is an NFT Auctions dApp that runs entirely in Farcaster by using Frames Transactions. Expand the audience for your best sales by keeping the action where it’s hot: right in Warpcast, not in yet another closed ecosystem.
The heart of our project is combining the NFT-Marketplace-Auction smart contract from https://github.com/HugoBrunet13 with Farcaster Frames, creating a way to launch and participate in NFT auctions directly in Farcaster. This is significant because Users can engage with the auction natively within the Farcaster experience where they already spend their time, instead of being forced to use a foreign ecosystem. It’s an incredible way to expose smart contract functionality in an interface that’s trusted, familiar, and most importantly easy to do.
The Seller of an NFT would start by looking at a Cast containing our NFT Auction Generator Frame. Here, the Seller is guided step by step through the configuration of the auction, including the identifying information of the NFT being auctioned, a minimum bid price, and the end time of the auction. Once configuration is complete, a checkout step enables the Seller to execute a variety of transactions to approve use of the NFT in the auction, use an ERC20 token for payments, and finally to call our createAuction function to finalize the instance and give the Auction contract ownership of the NFT. That function returns an [NFT Auction URL] endpoint that’s returned to the Seller. Note, this was a no-code operation, and yet the Seller just launched a unique frame!
When the Seller creates a Cast that contains the [NFT Auction URL], anybody can see information about the NFT and then input a bid using a Frames Transaction. New bidders will see the highest bid and corresponding bidder when they view the Frame. Once the end time of the auction has been passed, the Seller can call the claimToken function, receiving the highest bid, and initiating the transfer of the NFT to the bidder’s account.
The beauty of this project is in its simplicity.
NOTE: This project was not finished in time, I couldn't get the last bits of the frame flow and transactions to work.