Assets + Collections
Last updated
Last updated
Assets are distinct objects that are owned by users. In games, assets can be used for things like characters, cosmetics, weapons, or any other distinct, ownable content. In other apps, assets could be used to represent ownable goods such as tickets, coupons, or even goods in a supply chain. Assets differ from currencies in that individual units are not interchangeable.
Assets are grouped by collections. Each asset within a collection has a distinct serial number. Serial numbers start at #0 and are determined by the order in which the assets were minted. Minting is the process of creating new assets from a collection.
In addition to a serial number, assets have properties and expression values. Properties are editable key-value pairs organized as a JSON object. These can be used to track the static qualities of an asset, such as a character's name. They can also track dynamic qualities that change over time, such as a character's XP level.
Expression values are the files associated with a particular asset. These are used to represent the asset in games and other apps. For more information on expressions, check out Expressions.
Collections belong to slots. The expressions available to assets depend on the slot to which the collection an asset is a part of belongs. Collections can be identical or unique. Assets in an identical collection all share the same expression values. Assets in a unique collection can have different expression values from one another.
collectionId: a UUID for the collection
collectionName: a name for the collection
collectionImage: a url to a 300x300 image for the collection
collectionBanner: a url to an image used to represent the collection in the marketplace
description: a text description of the collection
creator: the userId and handle of the user that created the collection
slotId: the slot to which the collection belongs
maximum: the maximum number of assets that can be minted as a part of this collection
minted: the number of assets that have been minted from this collection
tags: array of strings used to add context to the collection
royaltyRecipient: the userId and Handle of the user that receives the creator royalties
type: "Identical" or "Unique". Assets in an identical collection all contain the same expression values. Assets in a unique collection can contain different expression values from one another. See Expressions for more details
properties: editable key-value pairs which can be used to add data to a collection. Collection properties are editable by the app which owns the slot to which the collection belongs.
status: shows whether the collection is active or inactive. Inactive collections and their assets won't show up in normal API requests
createdAt: date-time when the collection was created
updatedAt: date-time when the collection was last updated
exampleExpressionValues: expression values from asset #0 from the collection. See Expressions for more details.
assetId: a UUID for the asset
serial: the serial number for the asset based on the minting order
collectionId: the collection to which the asset belongs
collectionName: the name of the collection to which the asset belongs
user: the user who owns the asset
createdAt: date-time at which the Asset/NFT was created
updatedAt: date-time at which the Asset/NFT was last updated
properties: editable key-value pairs used to store data about an individual asset organized by app. Each app with access to an asset can create and edit its own properties.
expressionValues: the expression values for the asset (see Expressions for details)
Assets can be equipped to other assets to communicate relationships between assets. When one asset is equipped to another, the equipped asset is the child. It is equipped to the parent asset.
equipId: a UUID for the equip
slotId: the slotId for the slot that this equip corresponds to (optional)
assetIdParent: the assetId for the asset in the "parent" side of the equip
assetIdChild: the assetId for the asset in the "child" side of the equip