Non-fungible data for Wallet Display
  • 13 Feb 2024
  • 4 Minutes to read
  • Dark
    Light
  • PDF

Non-fungible data for Wallet Display

  • Dark
    Light
  • PDF

Article Summary

“Non-fungible data” exists on each separately non-fungible unit of a non-fungible resource. It is distinct from Entity Metadata.

The data structure of the NFT resource manager defines the fields and types of data that are stored on individual non-fungibles of that resource. All non-fungible unit (also called "non-fungibles" or NFs) under a non-fungible resource use the same data structure.

Individual NFT unit non-fungible data

Clients will typically use non-fungible data for display in a very similar way as metadata, and so we list some standards of usage in this document.

Wherever non-fungible resource managers (which may be thought of as “collections” of NFTs for users) are shown in the wallet, the associated individual NFT units (non-fungibles) are shown grouped beneath the resource manager as the heading. Non-fungible data affects how each of these units are displayed under the heading.

Non-fungible data fieldTypeIntended Use
nameStringSimple name of this particular non-fungible unit as intended to be displayed, with capitals.
descriptionStringSummarized description of this particular non-fungible unit as intended to be displayed, with capitals.
key_image_urlUrlLocation of the image to be associated with this non-fungible unit.
[other arbitrary data fields]AnyAdditional user-facing structured data; or programmatic data associated with this non-fungible.

Name

Shown as an additional identifier along with the NonFungibleLocalId (which is universally used as the unique identifier for the non-fungible by the wallet).

For example:

Mavs vs Lakers 12-25-2024

The name may be truncated after 32 characters.

Description

Not shown as an identifier for the NFT - only listed under the general detailed information for the non-fungible.

For example:

This NFT grants access to the American Airlines center for the 12-25-2024 matchup between…​

Intended to provide a short, simple description in the context of a "get info" style screen. As with other metadata fields, no formatting is supported.

Line breaks, extra whitespace, and other types of formatting tags should not be used - they may either be shown explicitly as text or ignored.

The description may be truncated after 256 characters.

Key Image URL

A non-fungible may often represent or be closely associated with an image - whether a unique piece of art, a profile picture, or simply an image that gives a greater sense of the purpose of the NFT. The image at the URL specified here, if present, will be used in the wallet as the primary visual representation of the non-fungible, displayed prominently as a user browses their assets.

At preview level, images may be shown cropped. If wider than 16:9 (W:H), it will be cropped into the largest possible 16:9 rectangle. If taller than 1:1, it will be cropped into the largest possible 1:1 square.

  • A detail view will show it at full aspect ratio.
  • Supported types: JPG, PNG, GIF (including animated)
  • May be ignored for file sizes above 10MB

Also note that most decentralized data storage platforms offer a standard URL to individual files. This means that a non-fungible on Radix may be linked to decentralized image storage in this way using this data field.

Future extensions

A later expansion of the metadata standard may include the ability to specify more - such as different images for different sizes and usage, explicit mutability and aspect ratio, and verifiable hashes. We start with a simple single URL field standard for now, which the Radix Wallet will always intend to support, and will expand the standard (and its adoption in the Radix Wallet) from developer community feedback.

Some NFT creators may wish to set additional data fields pointing to richer visual data (like multiple sizes, video, or 3D data), or include verifying data like a hash of the image in question. In the first instance of the Radix Wallet, this information would be shown among the “arbitrary data fields” below, with this key_image_url as the only field given special visual presentation. This wallet support may be expanded and improved as community standards emerge.

Additional fields

The wallet may truncate these as needed.

A nonfungible resource manager specifies a specific set of available metadata fields for all of its nonfungible resources via the schema. In addition to the specially-handled metadata above, the wallet will show any additional fields as key / value pairs if the value are of simple types like strings, integers, and addresses. More complex data types may or may not be shown by the wallet necessarily.

e.g.

Section = G
Seat number = 44
Game date = 12-25-24

Not shown in this list is the NonFungibleLocalId even though this piece of data may be set by the NFT’s creator and will be shown prominently in the Radix Wallet.

The NonFungibleLocalId is used to address a specific non-fungible, must be unique, and may be set by the NFT creator. Because the creator may set it, it is a useful way to “brand” a given non-fungible.

For example, the NonFungibleLocalId might be a string set to “mavs_lakers_122524_44G”.

For more details on how we recommend non-fungibles to be displayed, please see the non-fungible display UI/UX standard.


Was this article helpful?

What's Next