NFTs Are More Than Goofy Jpegs

We see NFTs as tokenized React Applications. They serve as hybrids which connect the on- and off-chain worlds. This means they are minified programs that consume, generate, and manipulate data.

In short, these Non-Fungible Applications (NFAs) serve as tokenized software programs which double as containers of value!

I don’t think NFTs are inherently immutable. I’m sure I’ve seen some NFTs that have the ability to be “evolved” and change their attributes. The contract logic may be immutable, but attributes aren’t, and voting power that is derived from attributes may be dynamic as well.
Francisco Giordano, OpenZeppelin

NFT Use Cases

NFTs may be also be understood as deeds (i.e., writs of ownership) and derivatives of physical, real world assets and liabilities. In short, they represent ownership over digital and physical assets. Given this interpretation, NFTs may also be consigned to third party brokers/wallets/auctioneers (“operators”). Examples of include:

  • Physical property: houses, unique artwork
  • Virtual collectables: unique pictures of kittens, collectable cards
  • Debt and “Negative value assets”: loans, legal claims, burdens and other responsibilities

To illustrate, houses are distinct and no two kittens are alike. Likewise, NFTs are distinct and code must track the ownership of each one separately.
—Paraphrase from EIP-721 Summary And Abstract

Code Sport Labs is building an industry focused ecosystem of programmable and utility NFTs. We see NFTs as tokenized React Applications. We call them Non-Fungible Applications (NFAs).

Below is a non-exhaustive list of potential use cases:

  1. Programmable payments (e.g. salaries, dividends, interest, rewards, etc.)
  2. Asset Tokenization (e.g., Gold [PAX Gold and Tether Gold], Real Estate, etc)
  3. Proof of Provenance, Certifications Such as Diplomas & Completion Certificates, and POAPs1
  4. Access control functionality (membership)2
  5. Governance (voting) via an ERC-721 DAO
  6. Dynamic QR Codes Integration
  7. Payment Escrows
  8. Brick and mortar payments integration (QR code scanning and crypto wallet integration)
  9. Non-transferable NFTs for credentialing, diplomas, certifications, authentication, etc.3
  10. Rewards (monetary or otherwise) for staking

Because NFTs are bound to smart contracts (and are programmable), they may be used as primitives to provide cash flow entitlements, Blockchain‐based credentialing, proof of provenance (origin), proof of work (completed labor), and proof of attendance (of events) for individuals in real life scenarios.

Programmable NFTs have multiple uses cases. To illustrate:

  1. Monetary Entitlements: NFTs may entitle holders to either (a) perpetual, (b) limited with expiry, (c) continuous, or (d) discrete claims on future cash flows based on
    • Vesting of Monetary Awards
    • Staking: Interest Earned based on an amount of ETH staked by a member
    • Payments for Labor: Satisfactory completion of time based labour services performed by a member
  2. Certifications: NFTs may be used as primitives to provide Blockchain‐based credentialing, verifications and certifications such as
    • Proof of Work/Contribution: Verifies satisfactory completion of time‐based labour services performed by a member
    • Proof of Ownership: Attestation of ownership and therefore a claim on cash flows from a revenue generating product or business
    • Proof of Attendance/Completion/POAPs: Confirms attendance and/or completion of classes/courses/homework from an educational institutions
    • Proof of Provenance/Origin: Attests that NFT was issued by a smart contract owned and deployed by a specific entity (e.g., a school/educational institution, individual, or any organizational entity)
  3. Authentication & Access Control: User logins as well as gatekeeping access to events, portions of a website, e-commerce discounts, etc.
    • The ERC-721 DAO minter can create NFTs with various privileges defined by NFT meta data
    • Minter contract may dynamically update an on-chain access control list based on NFT type and or wallet address
    • NFT metadata stored on IPFS may be “updated” by changing tokenURI via the _setTokenURI() function.
      • NB: An off-chain database (e.g., mySQL) may provide an alternative, additional, and/or redundant authentication, access control, and metadata storage mechanisms
      • In off-chain scenarios, privileges may be manually changed (added or revoked) by trusted administrators
    • Asset Tokenization: 100% backed, 1-1 collateralization with real world assets. Examples include real estate or in the fungible case, USDC

1Proof of Attendance Protocol (POAP): Technical information on POAPs may be found here

2Access Control Functionality: For example, holders of an NFT could have exclusive access to gated web or real life communities. Or access to purchase member-only real world items (physical memorabilia, goods, or even services).

3Non-transferable NFTs: Use cases for non-transferability would include diplomas, credentialing and certifications as well as POAPs. And, although non-transferability is currently not supported on any EVMs, Vitalik supports the need this functionality.

  • NB: An interim solution to the non-transferability issue is to revoke the NFTs utility by changing its metadata file upon transfer.

4Dynamic NFTs: Are React Apps that change state and pull in real time data by connecting to an API. To facilitate feature updates, the metadata JSON file is typically self-hosted and not pinned to IPFS. Chainlink offers an explainer in What is a Dynamic NFT.

By design, the atomic [dynamic] layer of NFTs is not the NFT — it’s the NFT’s metadata.
Playground Studios

5Interactive NFTs: These are React Apps (or HTML5 Canvas apps) that change state based on user clicking prompts or buttons within the NFT. Unlike Dynamic NFTs, they do not pull in real time data. As with Dynamic NFTs, the metadata JSON file is typically self-hosted and not pinned to IPFS.

  • Live Example 1: This is json metadata for a Canvas-based game. Because it’s self hosted, the app may be easily updated by the creator without paying gas fees.
  • Live Example 2: Here is another interactive NFT hosted by Ether Cards. Their animation_url key points to an iframe. The iframe then embeds this React App

6Containerized NFTs: Charged Particles has innovated this concept.