🧩Composability

NFT Composability allows you to assemble NFTs into one and break them back down like puzzle pieces.

What Is & Isn't NFT Composability

Composability in the context of NFTs is defined as NFTs that can be combined together and subsequently be broken down. This means when pieces are combined into a whole, the pieces cannot be used (transferred).

This is different than a multitoken gated mint that allows a NFT to be minted by having "pre-requisite" NFTs. This is also different than 1 NFT acting a token gate for multiple token whitelists. The main difference here different NFTs are prerequisites for acquiring another rather that combining and disassembling NFTs.

In our implementation the NFT pieces must be owned by one owner and vice versa aka "Collect-them-All Composabilitiy"

In this case composability is not referring to being able to break up smart contract code into modular components.

📚 Terms

One might refer to NFTs that combine together into a bigger NFT as children, however we viewed the Children-Parent terminology not suitable as something that can be encompassed by something else doesn't mean it came from that bigger part, like a child does from a parent. So we are using the following terms

Piece and whole.

Something that is a a bunch of pieces can be made into whole and can also be a piece in a bigger whole.

This is composability.

🧱 Types of Composability

  • Layers: taking from existing assets

  • Predetermined outcomes: already existing whole assets uploaded that only point when "piece" conditions are met.

  • Request for Composition: where after composition and request for media file is made based on metadata conditions is passed in

  • Oracle: dependent on an oracle to update information

🤔 Questions We Asked Ourself

  • Should we define composability within a NFT or with a separate proxy contract? How does a NFT know if it belongs to something bigger?

    • Basing off of the NFT Fractionalization example

  • Should we burn a NFT (how do we get it back), should we long piece NFT

  • Should type of composability or the way something is rendered be defined on part or whole level?

  • Can metadata be dynamic for pieces and how will dynamic metadata for pieces effect the composition of whole NFTs?

  • Can ownership of pieces still be used for token gated functionality? Does a user still own a piece when combined into a whole? Does ownership of a whole exists if pieces have not been combined yet?

  • Should the cardinality of composability only be Many->1, is 1->1 composability defined by something else like a evolving NFT? (Wouldn't be a dynamic NFT" because token-id would be different that a dynamic NFT which commonly denotes the same token's metadata changing.

👨🏽‍💻 Our Implementation

// put composability snippet here

Use Cases

For overall GasPump use cases

🏎️Use Cases

Looking At Other Ecosystems

Solana

Metaplex Fusion (lucking the same dev who wrote this is working on this)

Sui Capsules

Ethereum?

Why?

There are certains things we left out but we decided that composability is essential must have. Learn more in the ideas page

💡Ideas

Last updated