What Happens to Frozen Aptos Coins During a Network Upgrade?
Frozen Aptos coins remain frozen across a network upgrade. The upgrade does not thaw them, delete them, or alter their frozen status in any way. A network upgrade changes the validator software and the on-chain Move modules that define core protocol behavior, but it does not reach into individual account resources to override freeze flags. If a coin was frozen before the upgrade, it stays frozen after the upgrade completes.
How freezing works on aptos
Freezing on Aptos is not a property of the coin token itself. It is a permission enforced by the Fungible Asset standard, which replaced the older Coin type in later protocol versions. Under that standard, a freeze is a boolean flag stored inside the asset's metadata object on-chain. The entity that holds the freeze reference for that asset - typically the asset's issuer or a delegated manager - can set that flag to true for a specific account address.
When an account holds a frozen asset, the Aptos Move virtual machine checks the freeze flag before allowing any transfer or burn of that asset from that account. If the flag is true, the VM aborts the transaction with a MoveAbort error. The coins remain in the account's balance; they simply cannot move.
Freezing is granular per asset and per account. An account can have a frozen balance of one token and a fully liquid balance of another.
What a network upgrade actually changes
Aptos network upgrades happen through on-chain governance proposals. Validators vote, and if the proposal passes, the network applies the upgrade at a specific epoch boundary. The upgrade typically includes:
- New validator node software with updated consensus or networking logic
- Updated Move modules for core system contracts (staking, gas, account management, the Fungible Asset standard itself)
- Possibly new features or bug fixes in the Move VM
The upgrade does not iterate over every account and modify freeze flags. It does not read or write individual asset metadata objects unless the upgrade explicitly includes a migration script that targets them. In practice, Aptos upgrades avoid mass state mutations unless a critical security fix demands one.
Scenarios and What Stays the Same
| Situation | Before Upgrade | During Upgrade | After Upgrade |
|---|---|---|---|
| Account A has frozen USDC | Cannot transfer USDC | Upgrade runs; no change to freeze flag | Still cannot transfer USDC |
| Account B has liquid APT | Can transfer APT | Upgrade runs; no change | Can still transfer APT |
| Issuer revokes freeze reference | Freeze flag still exists, but no one can change it | Upgrade does not restore the reference | Freeze is permanent unless issuer regains reference via new mechanism |
| New freeze added post-upgrade | N/A | N/A | Works normally; upgrade did not disable freezing |
Can an upgrade unfreeze coins?
Yes, but only if the upgrade's code explicitly does so. This would require a migration script included in the upgrade proposal. The script would need to call the unfreeze function on specific asset metadata objects for specific accounts. This is rare. Unfreezing via upgrade is a governance decision, not an automatic side effect.
A more common path to unfreezing is the issuer using their freeze reference to call unfreeze in a normal transaction. The upgrade does not change that ability unless the upgrade itself modifies the freeze reference ownership rules.
What about staked or delegated frozen coins?
Frozen coins that are staked or delegated behave differently depending on the asset type:
-
Staked APT: APT staked through the Aptos staking module is held in a
StakePoolresource, not directly in the account's liquid balance. Freezing APT in an account does not affect the staked APT that has already been deposited into the stake pool. The validator can still earn rewards and the account can still withdraw the staked APT after the unlock period, provided the withdrawal transaction is not blocked by a freeze on the liquid balance at that time. -
Delegated liquid tokens: If an account delegates a liquid token (for example, a liquid staking derivative) that is itself frozen, the delegation may fail at the point of transfer, depending on how the delegation contract handles the transfer. If the token is already delegated when the freeze is applied, the delegation remains active, but the account cannot withdraw the token back to liquid form while frozen.
Network upgrades do not resolve these complications. The freeze state is independent of the staking or delegation state.
Practical Implications
- If you are building an application that relies on freeze functionality, you do not need to write special upgrade-handling code. The freeze flags persist across upgrades.
- If you are an asset issuer planning to unfreeze accounts after an upgrade, do not wait for the upgrade to do it. Submit a normal transaction with your freeze reference.
- If you are an account holder whose coins are frozen, a network upgrade is not a remedy. You need to contact the asset issuer or, if the freeze was applied by a protocol-level mechanism, wait for a governance action.
Checking freeze status after an upgrade
You can verify that a freeze survived an upgrade by querying the asset metadata object on-chain. Use the Aptos SDK or a block explorer to read the freeze_events and the frozen field in the FungibleStore resource for your account and asset. The same query worked before the upgrade; it will work after. No new tooling is needed.
Not financial advice. suiboxer.xyz publishes market data and general information about digital assets. Crypto assets are volatile and you can lose everything you put in. Nothing here is a recommendation to buy, sell or hold, and we make no price predictions.
Prices are sourced from third parties and may be delayed or wrong. Verify anything you intend to act on against a primary source.