Skip to main content
Pause the TRANSFER feature during an incident without stopping issuance or cancellation. B20 grants pause and unpause through separate roles so you can separate emergency response from recovery authority.
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

The demo uses a local browser-generated account to submit real transactions on Base Vibenet. If Vibenet or its B20 features are unavailable, it automatically switches to an illustrative offline version.
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.

Pause and Resume Stock Transfers

pause and unpause each accept a PausableFeature[] array. Pass [0] to target TRANSFER only. The four pausable features are TRANSFER (0), MINT (1), BURN (2), and SEIZE (3). Pausing one feature does not affect the others. A holder can still transfer while MINT is paused, and a minter can still mint while TRANSFER is paused. Passing an empty array reverts EmptyFeatureSet. A feature already in the requested state is a no-op; the call does not revert. After the call, read isPaused(feature) to confirm the current state. The event emitted (Paused or Unpaused) carries the exact array you passed, not the resulting paused set. If a caller attempts an operation while its feature is paused, the call reverts ContractPaused(feature).
Transfer pause state changes without pausing mint or burn.
pause requires PAUSE_ROLE. unpause requires UNPAUSE_ROLE. These are separate roles, so grant recovery authority more narrowly than emergency pause authority.

See Also

Restrict Eligible Holders

Gate who can hold with policies.

Cancel Blocked Shares

Burn units from a blocked account.