Privacy Withdrawals
How to withdraw from the privacy pool and receive your anonymous card
10 min read
Privacy Withdrawals
Withdrawing from the privacy pool is how you exchange your deposit for an anonymous virtual card. This guide explains the withdrawal process, zero-knowledge proof generation, and what to expect when claiming your card.
Before You Withdraw
Make sure you're ready to withdraw before starting the process.
What you need:
- Your secret recovery note from when you deposited
- Solana wallet connected to ALIAS (can be different from deposit wallet)
- Small amount of SOL for gas fees (~0.02 SOL)
- Patience for proof generation (2-5 seconds)
What you're about to do:
- Provide your secret recovery note
- System generates zero-knowledge proof on your device
- Submit proof to blockchain for verification
- Receive virtual card if proof is valid
When to withdraw:
- Immediately: Weakest privacy (small anonymity set)
- After hours: Better privacy (medium anonymity set)
- After days: Best privacy (large anonymity set)
Use Different Wallet for Maximum Privacy
For strongest privacy, withdraw to a wallet different from your deposit wallet. This breaks the on-chain connection between deposit and card creation.
Understanding the Withdrawal Flow
Knowing what happens helps you understand the waiting periods and steps.
Step 1: You provide recovery note Paste your secret note into the withdrawal interface.
Step 2: ZK proof generation Your browser performs complex mathematics to generate a proof that you made a deposit without revealing which one.
Step 3: Proof submission Proof is submitted to the privacy pool smart contract on Solana.
Step 4: On-chain verification Blockchain verifies the proof is valid and the nullifier hasn't been used before.
Step 5: Card creation If verification succeeds, your virtual card is created and delivered to your dashboard.
Step 6: Nullifier marked Your nullifier is recorded on-chain to prevent double-spending this deposit.
Step-by-Step Withdrawal Process
Here's exactly how to withdraw and receive your card.
Step 1: Navigate to Privacy Withdrawal
Go to the ALIAS dashboard and find the "Withdraw from Privacy Pool" option.
You might find this under a "Privacy" tab or in your privacy deposits history.
Click to begin the withdrawal process.
Step 2: Enter Recovery Note
You'll see a text field asking for your secret recovery note.
Find your note:
- Check your password manager
- Look for the text file you saved
- Retrieve from paper backup
- Ensure you have the complete note (both secret and nullifier parts)
Paste carefully: Copy the entire recovery note and paste it into the field. Make sure there are no extra spaces or missing characters.
Validation: The system checks if your note is formatted correctly. If it shows an error, double-check what you pasted.
Step 3: Select Withdrawal Wallet
Choose which wallet address will receive the card.
Same wallet: Use the currently connected wallet (less private)
Different wallet: Connect a different wallet first (more private)
Privacy consideration: Using a different wallet than your deposit wallet enhances privacy by breaking the on-chain link.
Step 4: Generate Zero-Knowledge Proof
Click "Withdraw and Create Card" to begin proof generation.
What happens: Your browser performs complex cryptographic calculations using your secret note to create a zero-knowledge proof.
Time required: Typically 2-5 seconds depending on your device speed. Faster computers generate proofs quicker.
Don't close the window: Keep the browser tab open during proof generation. Closing it will interrupt the process.
What you'll see: A loading indicator showing "Generating proof..." and eventually "Proof generated successfully."
Fast Devices Help
ZK proof generation is CPU-intensive. Desktop computers and modern laptops generate proofs faster than older devices. Mobile devices may take 5-10 seconds.
Step 5: Approve Transaction
After proof generation, your wallet asks you to approve the withdrawal transaction.
What you're approving: Submitting the ZK proof to the blockchain for verification.
Gas fees: Small SOL fee (~0.02 SOL) for the on-chain transaction.
Review and approve: Check the transaction details in your wallet and click "Approve" or "Confirm."
Step 6: Blockchain Verification
The Solana blockchain verifies your proof.
What's being checked:
- Proof is mathematically valid
- Corresponds to a real deposit in the pool
- Nullifier hasn't been used before
- Amount matches a valid denomination
Verification time: Typically under 1 second on Solana.
If verification fails: Transaction is rejected and no card is created. Your deposit remains in the pool and can be retried.
Step 7: Card Creation
If verification succeeds, your virtual card is created.
What happens:
- ALIAS backend detects successful withdrawal
- Virtual card is created with your specified amount
- Card details are encrypted and stored
- Card appears in your dashboard
Delivery time: Usually within 2-3 seconds of blockchain confirmation.
Card details: 16-digit card number, CVV, expiration date, billing address—everything needed for online purchases.
Step 8: Nullifier Marked as Used
The blockchain records your nullifier hash to prevent double-spending.
What this means: Your recovery note is now "spent" and cannot be used again. Attempting to withdraw the same note again will fail.
Your deposit: Marked as withdrawn in the privacy pool. The connection between your original deposit and this withdrawal is cryptographically hidden.
What Information is Revealed
Understanding what's public and what's private during withdrawal.
Public (visible on blockchain):
- Someone withdrew from the privacy pool
- Amount withdrawn ($100, $50, etc.)
- Nullifier hash (random-looking string)
- Withdrawal wallet address
- Timestamp of withdrawal
Private (NOT visible):
- Which deposit this withdrawal corresponds to
- Who made the original deposit
- Your secret recovery note
- Connection between deposit wallet and withdrawal wallet
- Your identity
To ALIAS: ALIAS sees the withdrawal wallet and the card created for it. But ALIAS can't connect this to your original deposit wallet (that's the point of privacy).
To merchants: Merchants only see a normal Mastercard transaction. No crypto, no blockchain, no wallet addresses.
Withdrawal Wallet is Visible
Your withdrawal wallet address is recorded on the blockchain. For maximum privacy, use a wallet you haven't linked to your identity or used for other identifiable transactions.
Anonymity Set Size Matters
Your privacy level depends on how many people deposited before you withdraw.
Small set (10-50 deposits): You're one of a small group. Statistical analysis might narrow down possibilities.
Medium set (50-200 deposits): Good privacy. Very difficult to link withdrawal to specific deposit.
Large set (200+ deposits): Excellent privacy. Practically impossible to trace with current techniques.
How to check: The withdrawal interface shows how many deposits exist for your amount. Larger numbers mean stronger privacy.
When to wait: If the anonymity set is small (under 50), consider waiting hours or days for more deposits to accumulate.
Common Withdrawal Issues
Invalid recovery note
The note you entered doesn't match the expected format or contains errors.
Solutions:
- Check for typos or missing characters
- Ensure you copied the entire note
- Verify you're using the right note (if you have multiple)
- Try downloading from password manager again
Nullifier already used
This recovery note has already been used to withdraw.
What happened: You or someone with access to your note already withdrew this deposit.
Solutions:
- Check your dashboard for the card from this withdrawal
- If you didn't withdraw, your note may have been compromised
- Each note can only be used once
Insufficient SOL for gas
Your wallet doesn't have enough SOL to pay transaction fees.
Solution: Transfer at least 0.02 SOL to your withdrawal wallet and try again.
Proof generation failed
Browser encountered an error during ZK proof computation.
Solutions:
- Refresh page and try again
- Use a desktop browser (mobile browsers sometimes struggle)
- Ensure JavaScript is enabled
- Try different browser if problem persists
Transaction failed after proof
Proof was generated but blockchain transaction failed.
Solutions:
- Check Solana network status
- Ensure you have SOL for fees
- Try again—your note is still valid if withdrawal didn't complete
Never Share Recovery Notes
If someone gets your recovery note before you withdraw, they can steal your funds by withdrawing before you do. Treat notes as cash—protect them carefully.
After Withdrawal
What to expect after successfully withdrawing.
Card availability: Your card appears in the dashboard within seconds of successful withdrawal.
Card details: All information (number, CVV, expiration, billing address) is immediately available.
Using your card: You can start using it for online purchases right away. No waiting period.
Recovery note: Your note is now spent. You can delete it or archive it for record-keeping, but it can't be reused.
Deposit status: If you check your privacy deposits, this deposit will show as "Withdrawn."
Best Practices for Withdrawals
Timing:
- Wait for large anonymity sets (50+ deposits) before withdrawing
- Don't withdraw immediately after depositing (timing correlation)
- Check pool stats to see current deposit volume
- Be patient for maximum privacy
Wallet usage:
- Use a fresh wallet for withdrawal if possible
- Don't reuse the same withdrawal wallet repeatedly
- Separate deposit wallet from withdrawal wallet
- Consider using a newly created wallet with no transaction history
Security:
- Withdraw from secure network (not public WiFi)
- Use private browser window or VPN for additional privacy
- Don't discuss your withdrawal publicly
- Store spent recovery notes securely (for record-keeping)
Verification:
- Double-check recovery note before submitting
- Verify withdrawal wallet address is correct
- Confirm anonymity set is large enough
- Review transaction in wallet before approving
Recovery Note After Withdrawal
What to do with your recovery note after successful withdrawal.
The note is spent: It cannot be reused for another withdrawal. Attempting to do so will fail.
Keep for records: You may want to save the note for proof that you withdrew, even though it's no longer functional.
Secure deletion: If you want to delete the note, use secure deletion methods (not just moving to trash).
Don't reuse: Never attempt to withdraw the same note twice. The blockchain will reject it and you'll waste gas fees.
Privacy Considerations
Maximizing your privacy during withdrawal.
Timing analysis: If you deposit and withdraw within minutes, timing correlation might reduce privacy. Wait hours or days for better anonymity.
Amount pattern: Don't always deposit and withdraw the same amount. Vary between denominations to avoid patterns.
Wallet reuse: Using the same withdrawal wallet repeatedly can create linkability across withdrawals. Use different wallets.
Network privacy: Consider using Tor or VPN when withdrawing to hide your IP address from ALIAS servers.
On-chain analysis: Large-scale blockchain analysts might attempt correlation attacks. Larger anonymity sets make this impractical.
Next Steps
After withdrawing and receiving your card:
- Managing Cards - How to view and use your card
- How Privacy Works - Deep dive into privacy mechanics
- Understanding Privacy - Learn about ZK proofs
- Privacy Protocol Overview - High-level introduction
Privacy Achieved
Congratulations! You've successfully used zero-knowledge proofs to create an anonymous virtual card. The connection between your deposit and card is mathematically hidden.