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.
Reusing these contracts without modification may reduce or eliminate the need for a security audit before deploying to XION Mainnet.
Available CW721 Contract Variants
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
featuresSupports 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
featuresStores 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
featuresOptional 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
interfaceLogs 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?