Frequently Asked Questions

Everything you need to know about private DCA with Beluga

How It Works

Why is there a Funding Wallet?

The Funding Wallet acts as a bridge between your main wallet and the Privacy Cash pool. Your main wallet (like Phantom) keeps its private keys hidden for security, but Privacy Cash needs direct access to sign transactions. By signing a message, you create a Funding Wallet that you control and can always recover. Your SOL goes: Main Wallet → Funding Wallet → Privacy Cash Pool → Stealth Wallets.

How long do DCA orders take to execute?

Orders execute according to your chosen duration. If you select a 4-hour DCA with 5 orders, each order will execute roughly 48 minutes apart (with randomization). The timing varies intentionally—orders are spaced 5+ minutes apart with random delays to prevent pattern detection.

What happens if an order fails?

Failed orders are automatically retried. If an order fails due to slippage (price moved too much), it will be rescheduled. If it fails due to insufficient funds or a critical error, the order is marked as failed and you can view the error in your dashboard. Your funds remain in the stealth wallet and are not lost.

What is the minimum/maximum DCA amount?

Minimum is 0.1 SOL and maximum is 100 SOL per DCA schedule. These limits help ensure privacy (very small or very large amounts can be easier to trace) and manage risk.

Security

Who has access to my private keys?

No one but you. Your ephemeral wallet keys are derived client-side using HKDF from your wallet signature. They are then encrypted with your password using AES-256-GCM before being stored. The server only ever sees encrypted blobs—without your password and wallet signature, the keys cannot be recovered. We use PBKDF2 with 100,000 iterations for key derivation.

What if I forget my password?

You can recover your keys by signing the same message with your wallet. The ephemeral keys are derived deterministically from your signature, not your password. The password only encrypts the keys for storage—if you forget it, just re-sign and set a new password.

What if Beluga goes down?

Your funds are safe. All keys are derived deterministically from your wallet signature. Even if our servers disappear, you can recreate your ephemeral keypairs by signing the same message and deriving the keys locally. Your tokens sit in standard Solana wallets that you fully control.

Is my password sent to the server?

Never. Encryption and decryption happen entirely in your browser. The server only receives and stores the encrypted ciphertext, salt, and IV. Your password never leaves your device.

Privacy

How does Privacy Cash break the link?

Privacy Cash is a zero-knowledge mixer. When you deposit SOL, it goes into a shared pool where your deposit becomes indistinguishable from others. When withdrawing, you use a ZK proof to prove you deposited without revealing which deposit was yours. The withdrawal goes to a fresh stealth wallet with no on-chain history connecting it to your identity.

Can anyone trace my purchases back to me?

The privacy guarantees come from multiple layers: (1) Privacy Cash breaks the deposit-withdrawal link using ZK proofs, (2) Each order uses a different stealth wallet, (3) Order amounts are randomized ±5-30%, (4) Order timing is randomized with 5+ minute gaps. An observer sees random wallets making random-sized purchases at random times—no pattern to trace.

Why do you screen wallets with Range?

Privacy is not anonymity for bad actors. We use Range Protocol to screen wallets for sanctions (OFAC) and fraud indicators. This ensures Beluga cannot be used for money laundering or sanctions evasion while still providing privacy for legitimate users. Clean privacy, no compromises.

What data does Beluga store?

We store: your wallet address (for authentication), encrypted key blobs (unreadable without your password), DCA schedules and order status, and ephemeral wallet addresses. We do NOT store: your password, unencrypted keys, or any data that could link your deposits to withdrawals.

Costs & Fees

What are the fees?

Beluga is currently free to use—no platform fees. You pay Privacy Cash fees (0% deposits, 0.35% + 0.006 SOL per withdrawal), standard Solana transaction fees (~0.000005 SOL per transaction), and Jupiter swap fees (typically 0.1-0.3% depending on the route). If you use ShadowWire for private consolidation, there is an additional 1% relayer fee.

Why do I need to leave SOL for gas?

Each stealth wallet needs SOL to pay for transaction fees (gas). We reserve 0.01 SOL per wallet for swap transactions. When depositing to the Privacy Cash pool, we leave 0.005 SOL in the Funding Wallet for the deposit transaction fee.

What if I want a refund?

Before starting a DCA (while in PENDING status), you can delete it and your funds remain in the Privacy Cash pool. Once a DCA is active, you can cancel it—pending orders are skipped, but completed orders cannot be reversed. Any tokens already purchased remain in your stealth wallets.

DCA Out & Consolidation

What is DCA Out?

DCA Out is the reverse of DCA In—it lets you sell your accumulated tokens gradually and privately. Instead of dumping all at once (which could move the market or reveal your position), you sell in randomized chunks over time. Proceeds can go back through Privacy Cash for maximum privacy.

How do I consolidate my tokens?

From the Holdings page, select a token and click Consolidate. You can transfer tokens from all stealth wallets to a single destination. For maximum privacy, use ShadowWire transfers which hide the transfer amounts using Bulletproof encryption (1% fee). Normal transfers are free but amounts are visible on-chain.

Can I send tokens to any wallet?

Yes. When consolidating, you can specify any Solana wallet address as the destination. This can be your main wallet, a cold wallet, an exchange deposit address, or any other wallet you control.

Private Transfers (Devnet)

What are Private Transfers?

Private Transfers (also called Z-Transfers) enable fully private token transfers on Solana using zero-knowledge proofs. You can shield tokens into a privacy pool, transfer them to other users without revealing sender, recipient, or amounts, and unshield back to public wallets. Unlike traditional transfers where everything is visible on-chain, Private Transfers hide all transaction details.

How do Private Transfers differ from Private DCA?

Private DCA helps you accumulate or sell tokens gradually without being detected by copy-traders. Private Transfers let you send tokens to anyone privately—the recipient, amount, and even token type are hidden. Think of DCA as private trading and Transfers as private payments.

What is Shield, Transfer, and Unshield?

Shield deposits your tokens into the privacy pool and creates a "shielded note" only you can spend. Transfer sends shielded tokens to another user's shielded address—no one can see who sent what to whom. Unshield withdraws tokens from the privacy pool back to a public Solana wallet. Each operation uses a ZK proof to verify correctness without revealing private data.

What makes the privacy pool special?

Beluga uses a Multi-Asset Shielded Pool (MASP)—all tokens share ONE Merkle tree. This means your anonymity grows with total usage across all tokens, not just the token you're using. Observers can't even tell if you transferred SOL or USDC. Traditional privacy pools fragment users by token, giving weaker privacy.

How are my keys managed for Private Transfers?

When you connect your wallet and sign a message, Beluga derives a key hierarchy: a Spending Key (to spend notes), a Viewing Key (to see your transactions), and a Shielded Address (to receive transfers). These are derived deterministically—same wallet signature always produces the same keys. Your spending key never leaves your browser.

Why is Private Transfers on devnet?

Private Transfers is a new feature using cutting-edge ZK technology. We're running it on Solana devnet to thoroughly test the circuits, proofs, and smart contracts before handling real funds. The cryptography is sound, but we want extensive testing and a security audit before mainnet deployment. Devnet tokens have no real value, so you can experiment safely.

How long do transfers take?

Generating a ZK proof takes about 3-5 seconds in your browser. Once the proof is generated, the transaction confirms on Solana in about 400ms. The proof generation happens entirely client-side using WebAssembly—your private data never leaves your device.

What tokens are supported?

Currently, wrapped SOL is supported on devnet. The protocol is designed to support any SPL token—USDC, BONK, and others are ready to be added. All tokens share the same privacy pool, so adding more tokens increases everyone's anonymity.