- Table of Contents
- Description
- Deployment
- Try it yourself:
- Mint Pack(s)
- Claim Pack(s)
- Features
- Built With:
- Getting Started
⚠️ This code has not been audited. Use at your own risk.
PackMyNFT is an innovative web application designed for any EVM blockchain, enabling users to bundle various assets into a single NFT pack. This project simplifies the process of grouping native coins, ERC20 tokens, and NFTs (ERC721 and ERC1155), and allows to create up to 200 packs per transaction. The packs are represented as ERC721 tokens, which means they can be traded on any marketplace supporting this standard.
The project is currently deployed at this address (same for all chains):
address: `0x${string}` = "0x99482d34dD610067b66b0A32Fa3Cf1a512D77b2b";
on the following networks:
Deployed & Verified on:
- Ethereum // Might come later
- Polygon
- Optimism
- Arbitrum One
- Fantom Opera
- Binance Smart Chain
Deployed & Verified on:
- Ethereum Sepolia
- Polygon Mumbai
- Optimism Goerli
- Arbitrum Sepolia // Not verified
- Fantom testnet
- Bsc Testnet // Not verified
- Select your assets:
Simply select the assets that you want to bundle into a pack, then click on the "Next" button.
- Check pack content and enter the desired amount of pack(s):
On the following screen, double-check the content of your pack(s), then enter the number of pack(s) that you want to mint.
- Mint your packs:
Finally, click on the Mint
button. You will be prompted to sign approvals depending on what assets you decided to pack, and to sign the transaction(s) to mint the pack(s). Once the transaction is confirmed, you will be able to claim the assets from the pack(s) by burning them.
Note: Make sure you have enough funds to pay for gas fees, especially if you want to batch-mint a lot of packs at once!
Note 2: Since you can batch-mint up to 10,000 packs in a raw, you might have to sign multiple transactions to mint all your packs (200 packs per transaction).
- Select the pack to claim:
Simply select the pack that you want to claim, then click on the "Claim" button.
- Wait and see the content:
After the transaction is confirmed, you will be able to see the content that you have just unpacked.
- Asset Bundling: Combine native coins, ERC20 tokens, and NFTs into a single NFT pack.
- Asset Claiming: Claim the assets from a pack by burning it.
- Batched Transactions: Create up to 200 packs per transactions (Minting 10,000 packs would only require 50 transactions).
- Multi-Chain Support: Supports Ethereum, Polygon, Optimism, Arbitrum, Fantom, and Binance Smart Chain.
- Responsive Design: Fully responsive and accessible on various devices and screen sizes.
- Simple UI/UX: Intuitive and easy-to-use interface.
- node.js installed (developed on LTS v18)
- bun or pnpm or yarn or npm installed
- Git
- Ethereum Wallet (like MetaMask)
- Clone the Repository
git clone https://github.com/Pedrojok01/PackMyNFT.git .
- Navigate to the Repositories
There are two repositories, one for the frontend and one for the smart contracts (foundry). Unless you want to deploy your own contracts, you will only need to install the frontend dependencies.
Report to the readme files of each repository for more information about the installation process.
Contributions to PackMyNFT are always welcome, whether it be improvements to the documentation, new functionality, or bug fixes. Feel free to fork the project and create a pull request.
Distributed under the MIT License. See License for more information.