Token contracts are smart contracts that manage token balances and operations, while tokens themselves are the digital assets represented by those balances.In contrast to existing standards like ERC-721 or ERC-1155, Object Tokens store structured and extensible data directly within token contracts. Beyond local state, properties related to interactions across objects and across contracts are maintained in a shared coordination layer called the Omni Registry.
Standard | Token Contract Storage | Omni Registry Storage |
---|---|---|
ERC20 | map(owner => balance) | — |
ERC721 | map(id => owner) map(id => uri) | — |
ERC1155 | map(owner => id => balance) map(id => uri) | — |
Objects | map(id => owner) map(id => metadata) map(id => elements) | map(id => position) |
Property | Description |
---|---|
id | A unique identifier within a set (non-fungible only) |
owner | The address that currently owns the token |
balance | Amount held by an address (for fungible or semi-fungible tokens) |
uri | A metadata URI (used in ERC721 and ERC1155 only) |
metadata | Structured metadata stored onchain (unique to object tokens) |
elements | Modular components such as matter, values, uniques, and info |
position | Logical or spatial location, used for linking and layout |
mint
, transfer
, and burn
.
Object tokens introduce additional operations that support mutation, evolution, and interoperation — all native to the protocol.
Operation | Description | Implemented In | Affected Properties |
---|---|---|---|
mint | Create a new object from a set | Token Contract | owner , metadata , elements |
transfer | Change the ownership of an object | Token Contract | owner |
burn | Permanently remove an object | Token Contract | owner , metadata |
update | Modify an object’s metadata or elements | Token Contract | metadata , elements |
upgrade | Apply kind-defined upgrades to the object | Token Contract | metadata |
relate | Establish a relation between objects | Omni Registry | position |
unrelate | Remove a relation between objects | Omni Registry | position |
move | Change an object’s spatial or logical position | Omni Registry | position |