project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

FrameSea

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.

FrameSea

Created At

Frameworks

Project Description

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.

How it's Made

The beauty of this project is in its simplicity.

  • I started by cloning https://github.com/HugoBrunet13/NFT-Marketplace-Auction/tree/main - props to HugoBunet13. Asides from a light bug in the NFTCollection.sol\tokenURI function, it worked great. I effectively had to do no smart contract engineering to manage the NFT auction - this package smart contracts for an NFT, an ERC20, and the Marketplace that I used.
  • I deployed all smart contracts on Base Sepolia. Thanks to Taylor Caldwell for the Sepolia ETH!
  • The Farcaster Frame application was where I spent the bulk of my time. Frames.js made debugging dramatically faster (thank you, what a change in the past 2 months!!), but there were still a lot of logical flows here. Thankfully I have experience with Frames after a couple hackathons. I had already established flows for things like identifying the connected wallets of the users viewing frames using Neynar.

NOTE: This project was not finished in time, I couldn't get the last bits of the frame flow and transactions to work.

background image mobile

Join the mailing list

Get the latest news and updates