3 contracts: Basic NFT Random IPFS (hosted) NFT - random at creation time, true scarce and provably random Dynamic SVG NFT - hosted 100% on-chain and the image will change based-off some parameters i.e. 'dynamic'