CW20
Abbreviation: CW20
Pronunciation: SEE-DUB-ul-YOU-two-zero
Also known as: CW20
Definition
CW20 is a CosmWasm contract interface standard for fungible tokens, defining common balance, transfer, allowance, minting, and query behavior. CW20 tokens are smart-contract assets, unlike native bank-module coins on Cosmos SDK chains. Their contract address, code version, decimals, and enabled extensions determine identity and behavior, even when display symbols match native or bridged assets. Wallets and payment systems should identify a CW20 by chain and contract address, inspect token information, and validate receiving-contract hooks.
Overview
CW20 standardizes fungible-token contracts in the CosmWasm ecosystem. It defines executable messages and queries for balances, transfers, sends to contracts, allowances, token information, and optional minting or marketing features implemented by a particular contract. CW20 tokens are smart-contract assets, unlike native bank-module coins on Cosmos SDK chains. Their contract address, code version, decimals, and enabled extensions determine identity and behavior, even when display symbols match native or bridged assets.
Wallets and payment systems should identify a CW20 by chain and contract address, inspect token information, and validate receiving-contract hooks. They must not send native coins through CW20 methods or assume every contract supports optional functions. Indexers should process canonical execution events and rollbacks. CW20 should be implemented against an exact document revision, status, and activation context. Draft, final, optional, and network-activated specifications have different authority, and similarly named deployments may support different subsets or extensions.
Implementations should validate normative requirements, encodings, error behavior, security conditions, and test vectors, including malformed and boundary inputs that ordinary happy-path tests miss. Conformance to CW20 requires more than matching a field name or example. Teams adopting CW20 should track errata, compatibility changes, and the deployed software versions that enforce it. A published standard does not prove universal adoption, safe implementation, or activation on a particular blockchain or payment network. This allows reproducible debugging when a later upgrade changes parsing, validation, signing, or interoperability behavior. Operational records for CW20 should retain the version and configuration used for each relevant transaction or message. Risk-control point: CW20 provides interoperable fungible-token messages, while each chain-specific contract remains the authoritative asset identity and implementation.
Key Takeaway
CW20 provides interoperable fungible-token messages, while each chain-specific contract remains the authoritative asset identity and implementation.
Sources
- CosmWasm cw-plus Repository — CosmWasm (2026-07-30)
- Ethereum Documentation: Smart Contracts — Ethereum Foundation (2026-07-30)
- Ethereum Documentation: Transactions — Ethereum Foundation (2026-07-30)