Overview
The/send command executes a complete private transfer: it deposits SOL from your wallet into Privacy Cash, generates a zero-knowledge proof, and withdraws to your recipient—all in one flow.
How it works
1
Choose amount
You can select from preset buttons (
0.1, 0.25, 1 SOL), enter a custom amount, or use the MAX button to send your entire withdrawable balance (minus fees).2
Enter recipient
Provide the recipient’s Solana wallet address. The bot validates the format and checks against the blocklist if configured.
3
Confirm transfer
Review the details and confirm. The bot will:
- Deposit from your active Privy wallet to Privacy Cash
- Generate the zero-knowledge proof and note hash
- Submit the withdrawal to the recipient
- Log the transaction in Supabase
Amount options
| Option | Description |
|---|---|
| Preset buttons | Quick-select common amounts (0.1, 0.25, 1 SOL) |
| Custom amount | Type any amount up to your available balance |
| MAX | Automatically calculates max sendable (balance - fees) |
Recipient validation
The bot validates recipient addresses by:- Checking the Solana address format (base58, 32-44 characters)
- Optionally checking against the
blocked_addressestable in Supabase - Rejecting invalid or blocked addresses with a clear error message
Transfer lifecycle
- Deposit: SOL moves from your Privy wallet to Privacy Cash
- Proof generation: Privacy Cash SDK creates the zero-knowledge proof
- Withdrawal: Funds are withdrawn to the recipient address
- Logging: Transaction details saved to
private_transferstable
- Surface a clear error message
- Persist the error to
transfer_errorsfor debugging - Provide a “Retry” button to replay from the failed stage
Fees
Privacy Cash charges fees for:- Depositing into the privacy pool
- Generating zero-knowledge proofs
- Withdrawing to recipients
Troubleshooting
Insufficient balance
Insufficient balance
Check your balance with
/balance. Remember that fees are deducted, so you need slightly more than the send amount.Transfer stuck
Transfer stuck
Use the “Retry” button if provided, or contact support with the transaction ID.
Invalid recipient address
Invalid recipient address
Double-check the address format. Solana addresses are base58-encoded and typically 32-44 characters long.