Cover photo

NFT Smart Contracts and their popular features

What are smart contracts?

Smart contracts are computer programs or transaction protocols designed to automatically execute, control, or document binding actions or events.

These digital contracts are trustless, autonomous, decentralized, and transparent — and are usually irreversible and unmodifiable once deployed. 

Smart contracts can be used for:

  • Financial transactions;

  • Exchanges of digital goods and services;

  • Exchange of coins;

  • Building DAOs (Decentralized Autonomous Organization);

  • Legal agreements;

  • Real Estate (fractional ownership);

What is NFT smart contract?

A Non-Fungible Token is a unique digital identifier that cannot be copied, substituted, or subdivided, that is recorded in a blockchain, and that is used to certify authenticity and ownership.

NFTs are created via a process known as minting, which involves converting images, videos, sound bites, and other digital files into crypto assets on a blockchain. Essentially, when you mint NFTs, you’re configuring the underlying smart contract code that decides the qualities of your crypto assets.

Defining scope of NFT smart contract

You will need to cover everything, starting from Art & attributes, ending with all the integrations you might require.

What needs to be defined:

  • Art - Attributes;

  • Generative Art;

  • Metadata & Images;

  • Total Supply: number of NFT that can be minted;

  • Price and logic of minting;

  • Tokenomics;

  • Additional Features that need to be implemented;

  • Additional Extensions that need to be implemented;

  • Integrations.

  • Airdrop and whitelists - We can generate tokens for a predefined set of addresses without any conditions and fees.

  • Reveal - When the user mints NFT, you display a placeholder and after a certain period of time (could be 1 or even 15 days), you reveal the actual image.

  • Staking - Stake your tokens to receive back rewards. 

  • Voting and Governance - Token owners can vote against proposals. Voting has different options, one can initiate a proposal that triggers a real transaction for example. And then voting passes -> the transaction is executed. More details here: https://docs.openzeppelin.com/contracts/4.x/governance#proposal_lifecycle

  • Breeding - the user can merge two NFTs and mint a new NFT;

  • Burn - One can burn tokens; It is often used in Breeding, wherein the old NFTs that were used for breeding get burned.

  • Pausable - The owner can pause all transactions;

  • Freezable - The owner can freeze their tokens on anybody’s wallet, meaning they will not be able to do transactions on it.

  • Upgradeability - We can make source codes of contracts upgradable, even more, we can separate state and logic contracts and make some parts of them upgradeable.

Integrations & Ecosystem

  • Gating — Tokens can be used to allow/disallow certain actions on-chain and off-chain

  • Payments — We can make users/customers pay using internal (utility) tokens;

  • 3rd party integrations — Tokens can be exchanged for NFTs and vice versa. In addition to that, exchange with other tokens if we find any good synergy with other projects.

  • Wallets & Web2 — TKN will be displayed inside wallets as assets and also on web pages and other web2/web3 systems where we need it.