Decent Protocol & SDKs

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.

Decent is endeavoring to build a future where NFTs are not just digital collectibles, but a foundation upon which to build sovereign applications. We expect applications moving forward to live on L2's and app chains, so we have prioritized L2 support and cross-chain transactions in our developer tools. The DecentSDK enables you to rapidly deploy and interact with a variety of smart contracts to create your own web3 ecosystem powered by NFTs.

The DecentSDK is currently deployed to Ethereum, Arbitrum, Optimism, Polygon, and each chain's primary testnet. We hope that you enjoy using the SDK, and we 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.

The Box

The Box enables 1-click checkout for any NFT with any token across chains and primary and secondary sales. It abstracts bridging and swapping to provide users a seamless transaction experience regardless of chain, meeting users at their point of liquidity. Instead of making users scour aggregated secondary marketplaces, The Box serves NFTs up with a single click within the context they were meant to be sold.

The Box is designed to be imported as a single React component. Developers can either style our frontend interface to match their branding, or build an entirely customized interface calling upon The Box's underlying functions.

For additional details, view The Box documentation.

Core Modules

    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.

  • Series
    NFT drop utilizing the gas-optimized ERC1155, which allows releasing any number of semi-fungible tokens.

  • 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

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.