Base’s Cobalt upgrade lets token issuers seize and reassign holder balances
Base’s own documentation confirms the Cobalt hardfork activated on mainnet Wednesday (September 30, 2026) at 18:00 UTC, adding a native seizeWithMemo function that lets issuers of B20 tokens reassign a holder’s balance independently of ordinary transfer rules. For institutional investors holding regulated stablecoins or tokenized assets on Base, the change formalizes a chain-level compliance tool that previously only let issuers destroy tokens outright rather than reassign them.
- seizeWithMemo moves tokens between addresses without altering total supply and is gated by a new SEIZE_ROLE.
- The function only works once an issuer configures SEIZE_EXEMPT_POLICY; left unset, every seizure call reverts with AccountNotSeizable.
- Sepolia testnet ran Cobalt starting Sept. 23, seven days before the Sept. 30 mainnet activation, according to Base’s upgrade overview.
- Sept. 30 Cobalt mainnet activation, one week after testnet debut
- Sept. 23 Sepolia testnet activation, 7 days ahead of mainnet
- 2 hrs scheduled mainnet maintenance window, 18:00 to 20:00 UTC
B20 is Base’s own token standard, built as a Rust precompile rather than a deployed smart contract so it runs faster and cheaper than standard ERC-20 while remaining fully compatible with existing ERC-20 tooling. It comes in Asset and Stablecoin variants and already gives administrators role-based control over transfers through a policy registry. The Cobalt changelog says the update, first flagged by CryptoSlate, extends that same surface to cover administrative seizure of balances, separate from transfer permissions.
Base Gates seizeWithMemo Behind SEIZE_ROLE and Two New Policy Slots
According to the changelog, seizeWithMemo(from, to, amount, memo) reassigns a specified amount from a holder to another address in a single admin call. It skips ordinary transfer policies and holder allowances entirely, and it is checked against two new slots: SEIZE_EXEMPT_POLICY, tested against the sender, and SEIZE_RECEIVER_POLICY, tested against the destination.
A native seizure path matters to any issuer of a regulated instrument running on that same B20 rail.
The predecessor tool, burnBlocked, destroys a blocked holder’s tokens outright and only applies to accounts already denied under TRANSFER_SENDER_POLICY. Base’s documentation for B20’s compliance architecture describes burnBlocked as the prior freeze-and-seize path; Cobalt keeps that function callable with its existing behavior, but labels it deprecated.
Unset Policy Means No Account Is Seizable on Any Token
The changelog is explicit that seizure is opt-in per token: SEIZE_EXEMPT_POLICY defaults to always-allow, so until an issuer actively configures the slot, no holder on that token can be seized and every seizeWithMemo call reverts with AccountNotSeizable. That is a stricter default than burnBlocked, which already functioned the moment an account landed on a transfer blocklist.
The practical effect is decoupling: a holder can remain free to transfer under one policy track while separately appearing on a seize-eligibility list, because transfer checks and seizure checks are now independent gates rather than the same blocklist doing both jobs.
Centralized issuers have historically relied on off-chain freeze orders. seizeWithMemo brings a comparable control onto the token’s native precompile layer rather than requiring an issuer to coordinate a separate legal freeze process, though Base’s documentation does not say whether any issuer has yet enabled the policy on a live token.
Node Operators Faced the Same Sept. 30 Deadline as the Hardfork
Base’s upgrade overview lists Sepolia as running Cobalt since Sept. 23 and mainnet as shipping on Sept. 30, giving developers a one-week testnet window before the live cutover. The v1.4.2 client release added Cobalt mainnet support and told node operators to upgrade by the same 18:00 UTC deadline the hardfork activated.
Base’s status page listed the mainnet transition as scheduled maintenance from 18:00 to 20:00 UTC, a two-hour window for the network to finalize the switch.
The changelog does not say whether any existing B20 stablecoin or asset issuer plans to migrate from burnBlocked to seizeWithMemo, leaving that decision to each token’s own DEFAULT_ADMIN_ROLE holder.
The CCS read. We read this as Base courting regulated stablecoin issuers who want a reversible compliance lever rather than permanent destruction of supply. A seizure that preserves total supply looks more attractive to an issuer managing sanctions exposure than a burn that permanently writes down balances, and it gives Base a feature Ethereum’s plain ERC-20 standard cannot offer natively.
Base has not disclosed whether any issuer has yet set SEIZE_EXEMPT_POLICY on a live token, so the open question is which B20 deployment, Asset or Stablecoin, becomes the first to activate seizeWithMemo rather than continue relying on the deprecated burnBlocked path.