Different types of smart contracts on Mintnite

We offer the following types of smart contracts for you to deploy on Ethereum or EVM blockchain without needing to write a single line of code. Our contracts are based on OpenZeppelin templates and the source code is available on our GitHub channel.

ERC20 Contract

This is the standard cryptocurrency contract that you may use to mint the widely-accepted ERC20 tokens. Examples of crypto that use this contract standard are USDT, MATIC, USDC and WETH. The tokens created by this contract are fungible and the contract supports 18 decimal places – the recommended standard. This means your contract shall display token balance such as 0.123456789012345678.

ERC721 NFT Contract

This is the typical NFT contract that is compliant with OpenSea, Rarible and other NFT marketplaces. It mints conventional NFTs and each token payload is stored on IPFS (InterPlanetary File System) which is a decentralized data storage system. The link (e.g., https://ipfs.io/ipfs/bay…/metadata.json) to the payload on IPFS is stored as the token URI. You can add virtually any digital file as the payload as long that they are supported by IPFS.

ERC721 SBT Contract

SBT stands for soulbound token and it is a hybrid of NFT. Its purpose is to create tokens that are not transferrable by the token holder. Imagine that you wish to issue an NFT certificate to someone, you’d want to use SBT smart contract because you’d want to prevent the token holder from transferring that certificate to someone else. This type of contract is also useful when you wish to issue non-transferrable digital coupons or any NFTs that are meant to identify the person owning the token. It could be used in self-sovereign identity use cases.

ERC1155 Contract

ERC1155 smart contract is like a cross between ERC20 and ERC721 contracts. It is mainly used in Web3 games where it enables a game developer to mint fungible and non-fungible tokens under one single contract.  Each token has a unique ID and a token URI, regardless if it’s fungible or non-fungible. The token URI is used to provide more info about the specific token ID. For example, you’d use ERC1155 if you want to create a fungible type of token called “bananas” which is your in-game currency, and you also wish to issue tradable game items such as hats and masks – the non-fungible items.

However, you may also use ERC1155 for other real-world use cases.

ERC721 NFT With Access Control

This type of ERC721 is more advanced since it offers more control for the contract owner. The creator may issue tokens for any wallets and also burn the tokens even though the tokens were already sent to the wallets. We envisage an array of uses cases where token creators require this feature such as in NFT coupons (used coupons), NFT tickets (for canceled or refunded tickets), NFT certificate (revoking a certificate) and just simply reversing a token issuance due to some error or typos.

Contract owners also have the power to assign privileges to other wallets such as the ability to issue and burn tokens. We imagine a scenario where a general manager delegating the token minting and burning tasks to lower-level managers.

ERC721 SBT With Access Control

This contract is exactly the same as ERC721 NFT, with the exception that the soulbound tokens (SBTs) holders are not able to transfer their tokens out from their wallet addresses. This means the contract owner can mint and issue SBTs to any wallets without them retransferring.