As of v1.61.0, Sale widget has been moved into the Commerce Widget. Please visit the new Primary sales page for details.
Primary Sales
What is a Primary Sale?
A Primary Sale is the direct sale of an item to a customer in exchange for payment.
In the web3 world, this specifically refers to minting an item for the first time to a customer upon receiving payment.
This is different from Secondary Sales, where customers engage in trading with each other on a marketplace. For Secondary Sales, Immutable offers products such as the Orderbook and Checkout Widgets.
Typically, you will have to cater the following components in a Primary Sale:
These can be a lot to build, so Immutable tries to save you time with our Primary Sales product.
How does Immutable help?
Immutable provides a Primary Sales Widget that provides access to third party tools to handles the payment flows, allowing your users to pay for an item using crypto or fiat currencies. Our solution ensures items are minted directly to the users wallet, and manages collecting the fees. All in a secure, single on-chain transaction.
Fiat Payments: Allows users to pay by Debit/Credit Card, Google Pay or Apple Pay. Funds will be settled to you in USDC in your Immutable zkEVM wallet.
Coin Payments: Allows users to pay with cryptocurrency funds on Ethereum L1 or Immutable zkEVM, by connecting their wallet.
Users can pay by connecting their mobile wallets via WalletConnect, and any other EIP-1193 compliant wallets installed in their browsers, such as MetaMask, Coinbase Wallet and Trust Wallet.
Multiple currencies
Payments can be made with multiple ERC20 tokens, any ERC20 deployed on Immutable's zkEVM could be used. During primary sale flow, buyers have the option to select a currency they want to pay with. And, if they have insufficient funds, they may still be prompted to Swap their tokens, otherwise they can still pay with fiat.
By default the base currency for purchases will be USDC. However, this is a setting that can be changed by the seller. Please refer to the configuration section for more details.
ERC20 eligibility
To be eligible for payments an ERC20 token must:
- Be deployed on Immutable's zkEVM
- Be whitelisted by Immutable. Use the following form to request your token be listed.
- Be added to currencies list in primary sales backend configuration
- Optionally:
However, some customers may want to pay with other coins, such as their $ABC token. This will only be possible via swap if there is liquidity in QuickSwap for $ABC to either USDC or $XYZ.
USDC is the default currency for payments, since it has the most liquidity with other tokens, please ensure the tokens you wish to accept payments with have token pairs.
For more, please refer to the QuickSwap's liquidity provider guide.
Available wallets
Users can pay by connecting their Immutable Passport wallet, mobile wallets via WalletConnect, and any other EIP-1193 compliant wallets installed in their browsers, such as MetaMask, Coinbase Wallet, and Trust Wallet, and others are supported.
Learn more about the Gas sponsorship for Gamers program.
Transaction limits
Maximum number of items that can be purchased in a single transaction is 350. Transactions with a higher number of items will fail due to hitting the gas limit.
Primary Sale flow
Here is a high level preview of a primary sale widget flow:
A sequence diagram is shown below: