ποΈ Attributes
The Attributes extension allows creating a list of on-chain values (key/value pairs) for an asset. The on-chain aspect means these values can be read by other Solana programs and therefore be used by them (e.g., for gaming).
ποΈ Blob
The Binary Large Object (Blob) extension allows storing generic data on-chain, such as images and documents. This data can be read by other Solana programs and therefore be used by them, e.g., for displaying the asset in a marketplace. While storing large amounts of data in a Solana account data is quite expensive, this extension gives the ability to create fully on-chain (FOC) assets for those who wish for them.
ποΈ Bucket
The Bucket extension allows storing generic data on-chain, similarly to a Blob extension. The main difference is that it is not necessary to specify its content type. The data can be read by other Solana programs, making it useful to store serialized ("object") data.
ποΈ Creators
The Creators extension allows adding a list of creators to an asset, specifying their status (verified or not) and a percentage share. In most cases, this extension is used in combination with Royalties to determine the addresses that should received royalties. There is no limit on how many creators can be added to an asset.
ποΈ Grouping
Assets can be part of an on-chain group (collection). A group asset is created using the Grouping extension, which specify the maximum size of the group (or indicates that the group has no upper limit) and its current size. Member assets of a group point to the group asset in their group account field.
ποΈ Links
The Links extension represents a generic way to point to off-chain data. It consists of a list of link pairs, each of which contains a name and a uri. This can be used to point to any additional off-chain data or resources.
ποΈ Manager
For use cases where the asset needs to be controlled (managed) by a third-party address, Nifty Asset allows the creation of "managed" assets. These assets have the Manager extension enabled, which defines a delegate address with customizable permissions.
ποΈ Metadata
The Metadata extension allows for assets to have on-chain description, symbol and uri pointing to off-chain metadata, for compatibility with existing NFT standards.
ποΈ Properties
The Properties extension allows creating a list of on-chain "typed" values (key/value pairs) for an asset. It currently supports three different "types": text, number (as an u64 value) and boolean. The on-chain aspect means these values can be read by other Solana programs and therefore be used by them (e.g., for gaming).
ποΈ Proxy
In addition to extensions, Nifty Asset implements the βProxy Pattern to allow developers extend the program behaviour. The Proxy extension is used to identify accounts that are "proxied" — these accounts will be required to be a signer on instructions that manipulate them. Since only the proxy program can add the signature for the account — the asset address is a PDA of the proxy program — it guarantees that it is always called on every instruction and it is allowed to perform custom logic.
ποΈ Royalties
Nifty Asset offers the ability to encode royalty enforcement directly into its transfer instruction using the Royalties extension, where creators can specify transfer constraints and royalties percentage.