CashToken is the name for the native token system on the Bitcoin Cash (BCH) blockchain, which lets users create both fungible tokens and non-fungible tokens (NFTs) that are tracked and enforced by the network itself. CashTokens were activated in the Bitcoin Cash network upgrade of 15 May 2023, based on a proposal written by developer Jason Dreyzehner. They work by attaching token data directly to transaction outputs, so every full node checks token rules in the same way it checks BCH amounts.
Before CashTokens, tokens on Bitcoin Cash mainly used the Simple Ledger Protocol (SLP), an overlay that stored token data in transaction notes and relied on separate indexing software to decide which transfers were valid. CashTokens replaced that model with consensus-level validation. The system is often compared with Ethereum's ERC-20 and ERC-721 standards, but it follows Bitcoin's output-based design rather than an account model, and the plural "CashTokens" is used for the upgrade as a whole.
CashToken in plain terms
Bitcoin Cash keeps track of money as a large collection of separate "coins", each with an amount and a lock that says who can spend it. CashTokens let a small label be stuck onto any of those coins. The label might say "this coin also carries 500 units of a community's loyalty points", or "this coin is ticket number 42 to a concert".
When the coin is spent, the label travels with it, and every computer running the network checks that nobody has forged or duplicated a label along the way. Because the checking is built into the network rules, wallets and apps do not have to rely on a separate service to tell them whether a token is real. This makes tokens about as reliable as the coins they ride on.
How CashTokens work
Bitcoin Cash, like Bitcoin, uses unspent transaction outputs (UTXOs). CashTokens add an optional token field to each output, containing:
- A category. An identifier for the token type, derived from the transaction that created it, so no two tokens can share one by accident.
- A fungible amount. A number of interchangeable units, used for currencies, points or shares.
- An NFT. Optionally, a single non-fungible item carrying a short data field, called a commitment, that can describe it.
- Capabilities. An NFT can be fixed, mutable (its data can be changed) or minting (it can create more NFTs of the same category), allowing issuers to control supply.
Tokens can only be created in the transaction that defines their category, and the network rejects any transaction that creates units from nothing. Token-carrying outputs must still hold a small amount of BCH, as all outputs do. A 2022 upgrade had already given Bitcoin Cash scripts the ability to inspect the transaction they belong to, and together with CashTokens this lets developers build smart contracts that hold and move tokens under coded rules.
Uses
CashTokens are used for community and project tokens, collectible NFTs, tokenized receipts and tickets, and on-chain applications such as decentralized exchanges and crowdfunding contracts built on Bitcoin Cash. Because NFTs with minting or mutable capabilities can act as on-chain records of state, developers also use them as building blocks for more complex contracts, a role that account-based chains handle with contract storage. Several Bitcoin Cash wallets added CashToken support after the upgrade.
Comparison with other token systems
On Ethereum, a token is a balance stored inside a token standard contract such as ERC-20, and transfers call that contract. CashTokens instead live in the outputs themselves, which keeps transaction validation simple and parallel but means more complex logic has to be spread across outputs. On Bitcoin, token systems such as BRC-20 and other Bitcoin NFT schemes rely on off-chain indexers to interpret data, because Bitcoin's base rules do not recognise tokens, which is the gap CashTokens closed for Bitcoin Cash.
Limitations
CashTokens adoption depends on the size of the Bitcoin Cash ecosystem, which is much smaller than Ethereum's or Solana's, so liquidity and tooling are limited. Because the change was made through a hard fork, older software that was not upgraded could not process token outputs. As with any token system, the existence of a token says nothing about the value or legitimacy of what it represents.