Courtyard.io includes a framework to facilitate the trading of physical assets via the blockchain. Our approach shares similarities with standard Web3 initiatives, but it is also different in many ways.
Courtyard’s architecture consists of three pieces: smart contracts which handle the ERC-721 NFTs themselves, a web frontend for users to mint NFTs, and a centralized backend that handles inventory management and authorizes minting NFTs representing that inventory. While the minting experience feels familiar, behind the scenes, a unique tokenization request is generated by Courtyard’s backend and passed to the smart contract to authorize every mint. This provides a guarantee that [every NFT is backed 1:1 by a physical asset.](link to “Courtyard NFTs” section).
At the core of Courtyard’s smart contracts is the concept of a registry - a single contract that can be used for multiple assets and for multiple purposes. The architecture is flexible so that when a brand like Sneaks works with Courtyard, they can utilize a new registry for all of their future drops, and entrust as much or as little of the administration of the contract and its appearance on marketplaces like OpenSea to Courtyard as they wish.
A single registry can utilize one or more minting contracts to allow users to mint tokens. These contracts can be standard minting contracts that handle presale, public sale, wallet limits, or other permissioning logic on-chain, or they can utilize Courtyard’s oracle to require an approval signature to mint. While the single registry provides a clear place to find all of a brand’s NFTs, the ability to use multiple minting contracts allows every drop to have a unique user experience.