Non-Fungible Tokens (NFTs)

NFTs are unique digital assets, and similar to the ERC-721 standard on Ethereum, the CosmWasm ecosystem uses the CW721 standard. XION supports this NFT standard, with several ready-to-use contracts available in the cw-nfts repository. These contracts enable teams to deploy NFT collections with minimal customization while benefiting from enhanced security and reliability.

Available CW721 Contract Variants

Contract
Transferable
On-Chain Metadata
Updatable Metadata
Use Case Examples

cw721-base

Yes

No

No

Basic NFT collections with off-chain metadata

cw721-updatable

Yes

No

Yes

Dynamic NFTs (e.g., avatars that evolve, gaming NFTs)

cw721-metadata-onchain

Yes

Yes

No

Fully on-chain generative art, digital collectibles

cw721-soulbound

No

No

No

Identity badges, certificates, proof-of-participation

cw721-expiration

Yes

No

Yes (via expiration)

Subscription NFTs, time-limited memberships

cw721-fixed-price

Yes

No (usually off-chain)

Yes (price config)

Simple marketplaces with fixed price sales

cw721-non-transferable

No

No

No

Achievements, diplomas, SBTs (Soulbound Tokens)

cw721-receiver-tester

Yes

No

No

Utility contract used for testing receive hooks

cw2981-royalties

Yes

Yes

No

Royalty-enabled NFTs for artists and creators

1. cw721-base

The standard implementation of the CW721 specification. Features:

  • Minting, transferring, burning

  • Token-level ownership and metadata

  • Approved operators

Ideal for: Basic NFT collections with off-chain metadata

📦 Repo: cw721-base

2. cw721-updatable

An extension of cw721-base that allows metadata to be updated after minting. Features:

  • All cw721-base features

  • Supports updating token metadata

Ideal for: Dynamic NFTs such as evolving avatars, game characters, or NFTs that change over time

📦 Repo: cw721-updatable

3. cw721-metadata-onchain

A variant of cw721-base where full metadata is stored directly on-chain. Features:

  • All cw721-base features

  • Stores metadata (name, description, image) directly in state

Ideal for: NFTs where immutability and decentralization of metadata are critical (e.g., generative art, collectibles)

📦 Repo: cw721-metadata-onchain

4. cw721-soulbound

Implements non-transferable NFTs, often referred to as Soulbound Tokens (SBTs). Features:

  • Minting only

  • Disables transfer and approval functionality

Ideal for: Credentials, identity, certifications, badges, or non-transferable memberships

📦 Repo: cw721-soulbound

5. cw721-expiration

Extends cw721-base with support for setting expiration times on NFTs. Features:

  • All cw721-base features

  • Optional expiration timestamp per token

  • Hooks for expiration-based behavior

Ideal for: Time-based NFTs such as subscriptions, memberships, or event passes

📦 Repo: cw721-expiration

6. cw721-fixed-price

A contract combining NFT minting with a built-in fixed-price marketplace. Features:

  • Minting and transferring

  • Price configuration per token

  • Direct buy functionality

Ideal for: Launching NFT collections with fixed-price sales without needing a separate marketplace contract

📦 Repo: cw721-fixed-price

7. cw721-non-transferable

A stricter soulbound implementation with enforced immutability. Features:

  • No transferring or burning

  • Tokens are permanent and non-movable once minted

Ideal for: Highly permanent identity artifacts such as diplomas, licenses, or irreversible credentials

📦 Repo: cw721-non-transferable

8. cw721-receiver-tester

A testing utility contract for verifying the cw721 Receive hook functionality. Features:

  • Implements cw721::Receiver interface

  • Logs or validates token reception

Ideal for: Testing and verifying behavior of contracts that send or receive NFTs

📦 Repo: cw721-receiver-tester

9. cw2981-royalties

Implements the CW2981 royalty standard for NFT creators. Features:

  • Attaches royalty info to CW721 tokens

  • Royalty enforcement during sales (via marketplaces)

Ideal for: NFT collections where artists or creators want automatic royalty support 📦 Repo: cw2981-royalties

Last updated

Was this helpful?