Decent Protocol & SDK
The easiest and most versatile way to deploy NFT contracts and utility wrappers.
Welcome to the DecentSDK
A developer toolkit for building NFT-based applications via simple JavaScript functions.
Endeavoring to build towards a future where NFTs are not just digital collectibles, but a foundation upon which to build sovereign applications. The DecentSDK enables you to rapidly deploy and interact with variety smart contracts to create your own web3 ecosystem powered by NFTs. We prioritized ease-of-use and composability so that you can do more with less, leading to accelerating and compounding innovation.
The DecentSDK is currently deployed to Ethereum, Arbitrum, Optimism, zkSync, Polygon and each chain's primary testnet. We hope that you enjoy using the SDK and encourage developers to contribute new modules via pull requests and post updates and issues in the repository's discussion forum and Discord.
If you would like to use Decent logos or branding in your application, please use our brand kit. This repository contains Decent's official logos and color palette.
Core Modules
- DCNTSDK
This contract serves as a permanent, immutable, and permissionless foundation upon which to build your application. Its primary function is to allow artist-owned and gas-efficient deployments of the core contracts within the DecentSDK.
NFT Release Mechanisms
We refer to Edition, Rentable, and Crescendo as Base contracts, defined as release mechanisms that generate the root unit of exchange in a community. The Vault and Staking modules are Wrapper contracts, meaning they can be used to add utility to either a new or existing NFT collection. Vault-Backed is a Hybrid contract; it leverages both the Edition or Rentable module plus the Vault module to enable both a base and wrapper contract to be deployed in a single transaction.
Base and hybrid contracts support the NFT Royalty Standard (EIP2981).
-
Edition
NFT drop utilizing the gas-optimized ERC721A which allows minting multiple NFTs for nearly the cost of one. -
Rentable
An extension to Edition implementing ERC4907A / EIP4907, which allows a token's owner to grant time restricted user rights to another account. -
Crescendo
NFT drop utilizing a gas-optimized version of ERC1155 with bonding curves to enable dynamic pricing for fan powered price discovery and guarantee liquidity to collectors. -
Treasury-Backed
A module to simplify the process of launching a Vault-Backed NFT into a single transaction, allowing you to deploy either an Edition or Rentable which will be automatically backed by a shared Treasury. -
ZKEditions
An extension of Decent's gas-optimized ERC721A which enables people to collect NFTs while preserving their privacy. -
Staking
A staking vault allowing owners of an ERC721 or ERC4907 collection to stake their NFTs and earn ERC20 tokens distributed based on the length of the lock up. -
Treasury
A time-locked vault to distribute ERC20 tokens to owners of an ERC721 or ERC4907 collection at expiry based on their percentage of ownership in the collection.
Marketplace Modules
- Rental Market
A rental marketplace allowing instant daily rentals for Rentable or any other NFT which implements the EIP4907 standard.
Infrastructure Modules
-
Registry
The Registry serves as a public on-chain record of all contracts deployed via the DecentSDK and as a point of entry for the Decent Cross-Chain Indexer (please reach out to a Decent team member for access to the indexer). -
Metadata Renderer
A shared on-chain metadata renderer adhering to the music metadata standard which stores and renders metadata as base64 encoded URLs. -
IPFS
Simplifies the process of uploading files and metadata to IPFS, allowing you to generate IPFS URLs for media files such as images, audio, and video, as well as metadata json files.
Updated 22 days ago