TESTNET

Emergency Withdrawal

โš  Emergency Only. This function bypasses relayers and ZKML checks. Use only when standard withdrawal is unavailable (relayer down, time-lock active, or contract pause). Higher gas cost, reduced privacy.
๐Ÿšจ Direct Emergency Withdraw
Bypass Relayer
Direct on-chain TX โ€” your wallet pays gas (links address)
Skip ZKML Check
No coercion detection โ€” --no-zkml flag
Force Withdraw
Bypass time-lock if emergency mode enabled by owner
Pool Amount1.0 ETH
Gas Cost (direct)~0.015 ETH
Privacy Impactโš  Gas wallet linked
You Receive~0.985 ETH
When to Use
1

Relayer is Down

All relayers offline. Direct withdrawal bypasses relayer dependency.

2

ZKML False Positive

Time-lock triggered incorrectly. Owner can enable emergency mode to bypass.

3

Contract Migration

Moving funds to new contract version. Use migrateOut() for atomic migration.

4

Network Emergency

Chain issues, pending upgrade, or protocol-level emergency pause.

CLI Commands
# Emergency withdraw (direct, no relayer)
node cli.js withdraw note.json 0xAddr \
--direct --no-zkml
# Migrate to new contract
node cli.js migrate note.json \
--target 0xNewContract