Overview

The Item standard is a new token standard for Ethereum, synthesizing and advancing on the ERC20, and ERC1155 standards. Because an Item can act as if it were any of these, it is naturally interoperable with all applications, and can do anything that all two can—and more.

Native Items

A native Item has all the capabilities of the Item standard.

Wrapped Items

Any ERC20, ERC721, ERC1155 or ETH can be wrapped as an Item, and thereby gain all the capabilities of the Item standard—with the exception that Wrapped Item collections cannot have extensions.

itemId

Every Item has its own unique itemId, which corresponds to the hexadecimal conversion of its Interoperable Interface address, and is in unint256 format.

Main Interface

There is one Main Interface for the Items protocol.

This is a singleton contract—a single address—shared by all Items, native and wrapped. It serves as their collective ERC1155 Interface. When an Item needs to interact with an ERC1155-based protocol or application, it does so via the Main Interface—or, more specifically, via its Collection, stored virtually in the Main Interface. It represents the ERC1155 face of an Item.

Interoperable Interface

Each Item has its own unique Interoperable Interface that is its ERC20 face. When an Item needs to interact with an ERC20-based protocol or application, it does so via its Interoperable interface.

An Interoperable Interface does this by implementing the IERC20, IERC20Metadata and IERC20Permit interfaces.

Collections

All Items belong to a Collection. A Collection is a set of Items that share the same metadata, mint logic, and host address.

collectionId

Each collection takes the form of a unique collectionId—a bytes32 key—that is stored virtually in the Main Interface’s Collection contract. So the Collection represented by a specific collectionId is virtualized in the singleton Main Interface contract.

Host Address

The host address of a Collection is its "owner". It can mint new Items for the Collection and modify its metadata and modify the metadata of its individual Items.

A Collection can have as its host an Extension or no one.

Extension

An Extension is a smart contract linked to a Collection as its host. Actually, you can use the MultiOperatorHost or the Native Extension, cloning it from the Extension Factory.

Dynamic Metadata

All Items can have dynamic metadata. This allows their metadata— their description, name, image, ticker etc.—to be not only saved but also regenerated at any time they like, fully on-chain and without using any centralized off-chain storage.

If so desired, Items can also have ‘traditional’ metadata, using off-chain storage such as IPFS.

Last updated