Skip to main content
You can freeze a wallet — blocking all outgoing transactions — by combining a policy with wallet tags. This allows you to immediately block transactions in case of a security incident, suspected compromise, or compliance hold, and unblock the wallet when the situation is resolved.
Only outgoing transactions can be blocked. Incoming transactions are on-chain and cannot be prevented by Dfns.
Policies only apply to organization-managed wallets. Delegated wallets bypass the policy engine entirely.

How it works

  1. Create a policy that blocks all transactions from wallets tagged frozen
  2. To freeze a wallet, add the frozen tag to it
  3. To unfreeze, remove the tag
The policy stays in place permanently — you control which wallets are frozen by managing tags, not by editing policies.

Set up the freeze policy

This policy must be created via the API — the dashboard does not currently support the AlwaysTrigger + Block combination. Create a policy with the AlwaysTrigger rule and Block action, filtered to the frozen tag:
const policy = await dfns.policies.createPolicy({
  body: {
    name: 'Freeze Tagged Wallets',
    activityKind: 'Wallets:Sign',
    rule: {
      kind: 'AlwaysTrigger',
      configuration: {},
    },
    action: {
      kind: 'Block',
    },
    filters: {
      walletTags: {
        hasAny: ['frozen'],
      },
    },
    status: 'Active',
  },
})
This policy only needs to be created once. Any wallet tagged frozen will have all outgoing transactions blocked.

Freeze a wallet

Add the frozen tag to the wallet you want to freeze.

From the dashboard

1

Open the wallet

Go to Wallets and click the wallet you want to freeze.
2

Edit the wallet

Click Edit to open the wallet settings.
3

Add the frozen tag

In the Tags field, type frozen and click Add. Then click Update to save.

With APIs

await dfns.wallets.tagWallet({
  walletId: 'wa-xxx-xxx',
  body: { tags: ['frozen'] },
})
All outgoing transactions from this wallet will now be blocked.

Unfreeze a wallet

Remove the frozen tag to allow the wallet to transact again.

From the dashboard

1

Open the wallet

Go to Wallets and click the frozen wallet.
2

Edit the wallet

Click Edit to open the wallet settings.
3

Remove the frozen tag

Click the x next to the frozen tag to remove it. Then click Update to save.

With APIs

await dfns.wallets.untagWallet({
  walletId: 'wa-xxx-xxx',
  body: { tags: ['frozen'] },
})
The wallet can transact again immediately.
Last modified on March 2, 2026