ZoraCart

ZoraCart

Chrome Extension that lets you add Zora NFTs to a cart and then checkout in a single click.

ZoraCart

ZoraCart

Chrome Extension that lets you add Zora NFTs to a cart and then checkout in a single click.

The problem ZoraCart solves

"Minting NFT is easy, NFTs is hard".

Minting multiple NFTs involves performing multiple transactions and if the NFT can be minted only using ERC20 tokens then 2 transactions are necessary (approval and minting). Every transaction takes up its own fee.

To make matters worse you might also have to connect wallet multiple times.

ZoraCart chrome extension allows adding multiple NFTs to a single cart and checkout/mint all NFTs in a single transaction.

The Cherry on the cake, the transaction is sponsored using Coinbase Paymaster, so the user need not have ETH in their wallet to perform the transaction!

Challenges I ran into

Chrome extensions are very difficult to build!

I faced a lot of racing condition challenges when using Chrome's Storage API.

One tricky part was getting the media of the NFT in my cart, in the initial few days I was reverse engineering the Zora Frontend to find out the URL for the NFT media so I could show it in my cart. Later I found out about Zora ZDK which I started using for Metadata and price information. NFTs that can be minted using ERC20 tokens pose the challenge of fetching the currency information too!

ZDK uses Axios (or at least it does not use fetch) I know this because Chrome background scripts can only use fetch and ZDK didn't use that so I had to figure out where to make the API calls to fetch the information now I do that in Chrome Content Scripts.

Later I found out about Zora Protocol SDK and everything from there on was smooth sailing! Zora Protocol SDK has everything information about Metadata plus the best part erc20Approval (the dev who came up with this idea deserves a raise), the SDK returns transaction data for approving the token that is being used to mint the NFT!

Coinbase Smart Wallet is seamless, the developer experience is top-notch. The only concern I had was my paymaster credits I wanted to securely push my code to GitHub and be assured that my credits could not be misused, the Coinbase Developer Portal helped me figure this out!

Tracks Applied (3)

Coinbase Smart Wallet

ZoraCart extension users with/without wallets can connect, mint multiple NFTs, and enjoy gasless transactions because th...Read More

Paymaster and Bundler

ZoraCart extension users enjoy gasless transactions because the extensions support Coinbase Smart Wallet and Coinbase Pa...Read More

Creator Track

ZoraCart extension is probably the first of its kind Chrome extension to allow collectors with an interface where collet...Read More

CREATOR with Zora

Cheer Project

Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.

Discussion