Bid to Mint NFT Marketplace is a marketplace where potential buyers can make bids on NFTs before they mint them. If they are the highest bidder, then they can mint the 1 of 1 NFT item.
When sellers list their NFTs on the marketplace, they can specify the duration of bidding length, after the first bid is received. The highest bidder at the end of this duration is the winner and can mint the NFT.
Bids on NFTs can be made with either ETH or traditional Fiat payments. Fiat payments are processed using the Circle API. A popup opens to ask for credit card and billing information. On submission, it makes a call to the Circle API to charge the card.
Bids can be placed in both ETH and fiat using Circle payments api. The higher bid will be computed at the time of bid placement.
This platform removes a lot of the maintenance and fees for sellers. Sellers don't need to pay to pre-mint their NFTs, and buyers can bid between themselves before any NFTs are minted. Support for both ETH and Fiat payments reach a wider audience, and helps sellers get the highest possible price for their work while reducing fees.
This project uses scaffold-eth, branch buyer-mints-nft as the base. There is additional logic for keeping track of the highest bid and the highest bidder for each item. Buyers can place bids on items before items get minted.
Integration with Circle API for making fiat payments with credit cards, in order to place bids in USDC alongside ETH bids.
The UI popup to collect credit card information is built using antd modal and form templates. It has default credit card values from Circle sample documentation. API calls are made within scaffold-eth with existing Typescript files from the Circle team, collecting data inside a new JSX page as templated from other scaffold-eth pages.