Vault freezing

Freezing vaults is only possible for resources where this feature has been enabled, by setting an explicit rule for freezer or freezer_updater. Such resources are clearly flagged in the Radix explorer and wallet, as per the resource behaviors guide.

To freeze or unfreeze

Retrieve a vault address from an API such as the Gateway API, and then you can pass it to the FREEZE_VAULT or UNFREEZE_VAULT manifest commands, assuming the requisite proofs are on the authzone for the freezer auth for a resource.

These commands use a binary flags approach to specify which actions to freeze. Add the flags up determine which to specify on calls to FREEZE/UNFREEZE:

  • 1 - Withdraws

  • 2 - Deposits

  • 4 - Burns

Some examples are below:

# Freeze Withdraws from a vault
FREEZE_VAULT Address("<VAULT_ADDRESS>") Tuple(1u32);

# Freeze Deposits into a vault
FREEZE_VAULT Address("<VAULT_ADDRESS>") Tuple(2u32);

# Freeze Burns in a vault
FREEZE_VAULT Address("<VAULT_ADDRESS>") Tuple(4u32);

# Freeze Withdraws/Deposits/Burns of a vault
FREEZE_VAULT Address("<VAULT_ADDRESS>") Tuple(7u32);

# Unfreeze Withdraws from a vault
UNFREEZE_VAULT Address("<VAULT_ADDRESS>") Tuple(1u32);

# Unfreeze Deposits into a vault
UNFREEZE_VAULT Address("<VAULT_ADDRESS>") Tuple(2u32);

# Unfreeze Burns in a vault
UNFREEZE_VAULT Address("<VAULT_ADDRESS>") Tuple(4u32);

# Unfreeze Withdraws/Deposits/Burns of a vault
UNFREEZE_VAULT Address("<VAULT_ADDRESS>") Tuple(7u32);

EG a <VAULT_ADDRESS> could look like internal_vault_sim1tzmfs5qf8xkkqptce9naaf0f52fn6lgfg8uyr4me5qs5derjcmquc4.