Non-Fungible Tokens (NFTs)
Last updated
Was this helpful?
Last updated
Was this helpful?
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 repository. These contracts enable teams to deploy NFT collections with minimal customization while benefiting from enhanced security and reliability.
Reusing these contracts without modification may reduce or eliminate the need for a security audit before deploying to XION Mainnet.
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
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
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
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)
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
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
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
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
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
Implements the CW2981 royalty standard for NFT creators. Features:
Attaches royalty info to CW721 tokens
Royalty enforcement during sales (via marketplaces)
📦 Repo:
📦 Repo:
📦 Repo:
📦 Repo:
📦 Repo:
📦 Repo:
📦 Repo:
📦 Repo:
Ideal for: NFT collections where artists or creators want automatic royalty support 📦 Repo: