Withdrawing
How to withdraw privately from Shinobi Cash.
Overview
Withdrawing uses a zero-knowledge proof to verify you own a deposit without revealing which one. The recipient can be any address on any supported chain.
Withdrawal Steps
- Navigate to Withdraw — Select the Withdraw tab
- Select Notes — Choose one or two notes to withdraw from
- Enter Amount — Up to the total balance of selected notes
- Enter Recipient — Any valid address
- Select Destination Chain — Where funds should arrive
- Review Fees — Relay fee + solver fee (if crosschain)
- Confirm — Proof generates in your browser, then submits
Note Selection
You can select up to 2 notes for a single withdrawal:
| Mode | Description |
|---|---|
| Single note | Withdraw from one note |
| Merge (2 notes) | Combine two notes into one withdrawal |
Merging is useful when you have multiple small notes and want to make a larger withdrawal.
When you select 2 notes, the UI shows a "Merge" indicator.
Proof Generation
When you confirm a withdrawal, your browser generates a zero-knowledge proof.
This takes approximately 5-15 seconds. Keep the browser tab active during this time.
The proof verifies:
- You know the secret for a valid commitment
- The commitment is in the pool and approved by an ASP
- The nullifier hasn't been spent
No Wallet Gas Required
Shinobi Cash uses ERC-4337 Account Abstraction for withdrawals:
- You don't need gas in your wallet
- A paymaster sponsors the transaction
- Gas cost is deducted from your withdrawal (relay fee)
This means you can withdraw to a fresh address without funding it first.
Same-Chain Withdrawal
When withdrawing on the pool chain:
- Proof validates in the pool contract
- Funds transfer directly to recipient
- Paymaster sponsors gas
Fees: Relay fee only
Crosschain Withdrawal
When withdrawing to an origin chain:
- Proof validates on pool chain
- Intent created with escrowed funds
- Solver fills on destination chain
- Recipient receives funds
Fees: Relay fee + solver fee
Change Notes
A change note is always created with your remaining balance:
| Amount | |
|---|---|
| Selected notes | 1.0 |
| Withdrawal | 0.3 |
| Change note | 0.7 (minus fees) |
If you withdraw the full amount, the change note has zero balance.
Withdrawal States
| Status | Meaning |
|---|---|
| Preparing | Generating zero-knowledge proof |
| Submitting | Transaction being sent via bundler |
| Confirming | Waiting for block confirmation |
| Confirmed | Complete; notes will sync shortly |
For crosschain withdrawals, there's an additional wait for the solver to fill.
Fees
| Fee | When | Purpose |
|---|---|---|
| Relay Fee | Always | Covers gas (dynamic) |
| Solver Fee | Crosschain only | Compensates solver |
Tips
Troubleshooting
Proof generation is slow
- Keep the browser tab active and focused
- Close other resource-heavy tabs
- Normal time: 5-15 seconds
Transaction failed
- Check the note is still available (not spent elsewhere)
- Verify recipient address is valid
- Ensure ASP approval is complete
Crosschain withdrawal stuck
- Solvers usually fill within minutes
- If expired, funds return as a refund commitment
- Refund can be withdrawn normally
Important
Learn More
- Privacy Pools — Understand the cryptography
- Crosschain Architecture — How crosschain works
- FAQ — Common questions