EXM) with six decimals.
Real-world asset (RWA) tokenization is one of many use cases for the B20 Asset standard. The examples on this page use a stock token for illustration; the same flows apply to other asset types.Tokenized securities examples shown for illustration. Base is a general-purpose blockchain; issuance and compliance are the responsibility of the issuer under applicable law.
Demo
New to B20? See the B20 Token Standard for the concepts and a full launch walkthrough. These samples target
base-std@be6d045, viem@2.55.11, and Base Foundry v1.1.1.Create and Verify the Stock Token
Choose the Asset variant when you need configurable decimals, announcements, a scheduled UI multiplier, extra metadata, orbatchMint. Asset decimals must be in the range [6, 18]; values outside that range revert InvalidDecimals. The type is sealed into the token address at creation and cannot change.
(variant, sender, salt). Address byte [10] is 0x00 for Asset tokens. Reusing the same (variant, sender, salt) triple reverts TokenAlreadyExists. Optional initCalls, such as the role grants above, run on the new token in the same transaction. The factory drops access after createB20 returns.
See the B20 token standard for the complete interface, roles, and policies.
The factory emits
B20Created for the Asset variant and returns the deterministic token address.See Also
Issue Shares
Mint asset units to holders.
Restrict Eligible Holders
Gate who can hold with policies.