
The next chapter of NFTfi is NFT 2.0
Empowering NFT collection creators and holders through cross-chain NFT collateralization
How Do Collateralized NFTs Work?
Collateral Cycle
DNFT is pioneering the NFT 2.0 standard enabling asset-backed NFTs. Benefits include sustainable NFT royalties backed by real assets, on-chain verifiable floor price, discounted collateral, and additional monetization streams for NFT collection creators.

DNFT
"Asset-backed NFTs offer many advantages to both NFT creators and holders. Ability to monetize NFT collections, gamify engagement, and ensure verifiable price floor bring innovation to the NFT space at large."
BLOCTECH
"Dnft protocol steps in with a fresh open source toolbox to empower NFT collections, creators, and aficionados alike that will enable the collateralization of NFT's, empowering market players to establish a verified price floor for NFT's."
DIVI LABS
"Dnft Protocol's low-cost privacy and interoperability tools are leading the way in helping blockchain projects overcome the most common hurdles to scaling."
DNFT
dnftNFT is the THE revolution in the NFT space. Collateralization and gamification brings NFT to the next level. NFT 2.0 is born…
Mint your NFT collection in 10 minutes or less with a simple code snippet.
| 1 | // SPDX-License-Identifier: MIT |
| 2 | // DNFTContracts (last updated v0.3.0) (ERC721/presets/EnviousBasePreset.sol) |
| 3 | |
| 4 | pragma solidity ^0.8.0; |
| 5 | |
| 6 | /// @title ERC721 Collateralization Mock |
| 7 | /// This mock shows a generic implementation of ERC721Envious with additional |
| 8 | /// ability to use {IBondDepository} and {INoteKeeper}. ERC721Enumerable is used, |
| 9 | /// so in this example {_disperse} function is based on {totalSupply} of it. |
| 10 | /// |
| 11 | /// @author 5Tr3TcH @dnftown |
| 12 | contract ERC721EnviousBasePreset is |
| 13 | AccessControlEnumerable, |
| 14 | ERC721Burnable, |
| 15 | ERC721Pausable, |
| 16 | ERC721Envious, |
| 17 | ERC721Enumerable |
| 18 | { |
| 19 | using SafeERC20 for IERC20; |
| 20 | |
| 21 | // addresses of DNFT token and DNFTBonding |
| 22 | address public _dnftAddress; |
| 23 | address public _dnftBondingAddress; |
| 24 | |
| 25 | string private constant ONLY_OWNER = "incorrect role"; |
| 26 | string private constant ZERO_ADDRESS = "zero address found"; |
| 27 | |
| 28 | bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); |
| 29 | bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); |
| 30 | bytes32 public constant DNFTY_ROLE = keccak256("DNFTY_ROLE"); |
| 31 | |
| 32 | constructor( |