The privacy layer for Solana.
Zero-knowledge proofs · Stealth addresses · Shielded transfers
Website · Documentation · Twitter/X · Discord
PROPRIETARY SOFTWARE — ALL RIGHTS RESERVED
© 2026 Volta Team | Developed by Slashy Fx Ps:"There no team Im all alone XD"
This repository is visible for hackathon evaluation purposes only. No license is granted to use, copy, modify, fork, or distribute this code.
See LICENSE for details.
Download APK: Protocol-01.apk*
- Download the APK on your Android device
- Open the file → Allow "Install from unknown sources" if prompted
- Tap "Install"
- Open Protocol 01
- Tap "Create Wallet" to generate a new wallet
- Save your seed phrase (12 words) - this is your backup
- Set up biometric authentication (optional)
- You're ready to use P-01!
Option 1 - Chrome Web Store: (Coming soon)
Option 2 - Manual Install (Developer Mode):
- Download the extension: protocol-01-extension.zip
- Extract the ZIP file
- Open Chrome →
chrome://extensions/ - Enable "Developer mode" (top right toggle)
- Click "Load unpacked"
- Select the extracted
distfolder - Protocol 01 icon appears in your toolbar!
- Click the P-01 icon in toolbar
- "Create Wallet" or "Import Wallet"
- Set a password to encrypt your wallet
- Done!
Send crypto without anyone knowing who sent it or who received it.
| Step | Action |
|---|---|
| 1 | Go to "Privacy Zone" or "Shield" |
| 2 | Deposit SOL into the shielded pool |
| 3 | Tap "Private Send" |
| 4 | Enter recipient address + amount |
| 5 | Confirm → ZK proof is generated |
| 6 | Transaction is completely private! |
Set up automatic recurring payments with privacy.
| Step | Action |
|---|---|
| 1 | Go to "Streams" tab |
| 2 | Tap "Create Stream" |
| 3 | Enter recipient, amount, frequency |
| 4 | Choose: Weekly / Bi-weekly / Monthly |
| 5 | Enable "Private Mode" for stealth payments |
| 6 | Confirm → Payments run automatically! |
Receive payments to unique one-time addresses.
| Step | Action |
|---|---|
| 1 | Go to "Receive" |
| 2 | Tap "Generate Stealth Address" |
| 3 | Share the address or QR code |
| 4 | Each address is unique and unlinkable! |
# Get devnet SOL
solana airdrop 2 --url devnet
# Smart Contracts (Devnet)
ZK Shielded: GbVM5yvetrSD194Hnn1BXnR56F8ZWNKnij7DoVP9j27c
Specter: 2tuztgD9RhdaBkiP79fHkrFbfWBX75v7UjSNN4ULfbSp
Subscription: 5kDjD9LSB1j8V6yKsZLC9NmnQ11PPvAY6Ryz4ucRC5Pt
Stream: 2yH26XmXwgPuHMvV1NbmgJin32rfP3msQt18W6168mws
Fee Splitter: muCWm9ionWrwBavjsJudquiNSKzNEcTRm5XtKQMkWiD
Whitelist: AjHD9r4VubPvxJapd5zztf1Yqym1QYiZaQ4SF5h3FPQEProtocol 01 is a privacy-first financial ecosystem on Solana. It combines Groth16 zero-knowledge proofs, ECDH stealth addresses, and a private relay network to deliver fully untraceable transactions.
Unlike mixers or tumblers, P-01 provides cryptographic privacy at the protocol level. Amounts, senders, and recipients are hidden by default through ZK circuits, not operational obfuscation.
User creates ZK proof (Groth16)
-> Proof sent to relayer
-> Relayer verifies off-chain (snarkjs)
-> Funds sent to stealth address
-> No on-chain link between sender and recipient
protocol-01/
├── apps/
│ ├── extension/ # Chrome/Brave extension wallet (Manifest V3)
│ ├── mobile/ # React Native (Expo) mobile wallet
│ └── web/ # Next.js marketing site & SDK demo
├── packages/
│ ├── p01-js/ # @p01/sdk — Merchant integration (Protocol01 client)
│ ├── specter-sdk/ # @p01/specter-sdk — Stealth wallets & transfers (P01Client)
│ ├── zk-sdk/ # @p01/zk-sdk — ZK proof generation (ShieldedClient)
│ ├── auth-sdk/ # @p01/auth-sdk — "Login with P-01" authentication
│ ├── whitelist-sdk/ # @p01/whitelist-sdk — On-chain developer whitelist
│ ├── specter-js/ # @p01/js — Pay button & browser SDK
│ ├── ui/ # @p01/ui — Shared design system & components
│ └── sdk/ # @p01/stream — Payment stream utilities
├── circuits/
│ ├── transfer.circom # Main ZK circuit (2-in-2-out, Merkle depth 20)
│ ├── merkle.circom # Merkle tree membership proof
│ └── poseidon.circom # ZK-friendly hash function
├── programs/
│ ├── zk_shielded/ # Shielded pool — shield/transfer/unshield with Groth16
│ ├── specter/ # Stealth address registry + private streams
│ ├── subscription/ # Recurring payments with delegated authority
│ ├── stream/ # Time-locked payment streaming (escrow)
│ ├── whitelist/ # Developer access control
│ └── p01-fee-splitter/ # Fee routing (0.5% protocol fee)
└── services/
└── relayer/ # Express.js — ZK verification, proof gen, subscription crank
Circuits written in Circom, proven with snarkjs.
Verified on-chain via Solana's native alt_bn128 syscalls.
| Parameter | Value |
|---|---|
| Proving system | Groth16 (BN254) |
| Hash function | Poseidon (ZK-native, ~300x fewer constraints than Keccak) |
| Merkle tree depth | 20 (~1M notes capacity) |
| Transfer model | 2-in-2-out (UTXO-style) |
| On-chain verification | ~200K compute units |
The circuit proves:
- Ownership — Prover holds the spending key for input notes
- Membership — Notes exist in the on-chain Merkle tree
- Nullifiers — Prevents double-spending without revealing which note was spent
- Conservation — Input amounts = output amounts + public amount
Adapted from Ethereum's EIP-5564 for Solana. Each payment creates a unique one-time address using Elliptic Curve Diffie-Hellman key exchange.
Sender: ephemeralKey = random()
Shared secret = ECDH(ephemeralKey, recipientViewingKey)
Stealth address = recipientSpendingKey + H(sharedSecret) * G
The recipient scans incoming payments using a viewTag (2-byte fast filter). Then derives the private key to spend.
On-chain Anchor program. Stores encrypted notes in a sparse Merkle tree.
| Instruction | Description |
|---|---|
shield |
Deposit transparent SOL/SPL into the pool |
transfer |
Private 2-in-2-out transfer within the pool |
transfer_via_relayer |
Gasless private transfer via relay |
unshield |
Withdraw from pool back to transparent balance |
The relayer breaks the on-chain link between sender and recipient:
- User generates a ZK proof client-side
- User funds the relayer (amount + 0.5% fee + gas)
- Relayer verifies the proof off-chain (snarkjs)
- Relayer sends funds from its own wallet to the stealth address
- On-chain: only
Relayer -> Stealth Addressis visible
The relayer network supports health checks, load balancing, and random selection. Maximum privacy through relay diversity.
Full Solana wallet as a Chrome/Brave extension. Built on Manifest V3.
- Wallet creation & import (BIP39)
- SOL & SPL token management with real-time prices
- Privacy Zone: stealth addresses + shielded transfers
- Payment streams dashboard
- dApp connection (Wallet Standard)
- AES-256-GCM seed encryption (PBKDF2, 100K iterations)
Stack: React 18, TypeScript, Zustand, Vite, TailwindCSS, @solana/web3.js
Native wallet for iOS and Android. Privacy on the go.
- Biometric authentication (Face ID / Fingerprint)
- QR code payments
- Push notifications
- AI-powered assistant
- Payment streams management
- Cloud backup (Privy integration)
Stack: React Native, Expo, Expo Router, NativeWind, Reanimated 3
Marketing site, SDK demo, and documentation portal. Built with Next.js 16 and Framer Motion.
Stack: Next.js 16, TypeScript, TailwindCSS v4, Framer Motion
// @p01/specter-sdk — Stealth wallets & private transfers
import { P01Client, createWallet, sendPrivate } from '@p01/specter-sdk';
const client = new P01Client({ cluster: 'devnet' });
const wallet = await createWallet();
await client.connect(wallet);
// Send to stealth address (recipient unlinkable on-chain)
await sendPrivate({ amount: 1.5, recipient: stealthMetaAddress });
// Create payment stream (time-locked escrow)
await client.createStream({ recipient, amount: 10, duration: 30 * 86400 });// @p01/zk-sdk — Shielded pool with Groth16 ZK proofs
import { ShieldedClient } from '@p01/zk-sdk';
const zkClient = new ShieldedClient({ rpcUrl, programId });
await zkClient.shield(1_000_000_000n, notes); // Deposit 1 SOL to private pool
await zkClient.transfer(proofInputs); // Private transfer (amount hidden)
await zkClient.unshield(outputNotes, 500_000_000n); // Withdraw to public address// @p01/sdk — Merchant integration & subscriptions
import { Protocol01 } from '@p01/sdk';
const p01 = new Protocol01({ merchantId: 'my-saas', merchantName: 'My App' });
await p01.requestPayment({ amount: 29.99, description: 'Pro Plan' });
await p01.createSubscription({ amount: 9.99, interval: 'monthly' });| Layer | Mechanism |
|---|---|
| Seed phrase | AES-256-GCM, PBKDF2 (100K iterations) |
| Note storage | XChaCha20-Poly1305 |
| Key management | Keys never leave the device |
| ZK soundness | Invalid proofs cannot be generated |
| ZK completeness | Valid spends always produce valid proofs |
| Zero-knowledge | Proofs reveal nothing beyond validity |
| Double-spend | Nullifiers are unique per note, stored on-chain |
Threat model: Blockchain observers cannot link senders to recipients. Amounts are hidden within the shielded pool. Spending patterns cannot be analyzed.
- Node.js 18+
- pnpm 8+
- Rust + Anchor CLI (for on-chain programs)
- Circom 2.x (for circuit compilation)
git clone https://github.com/IsSlashy/Protocol-01.git
cd Protocol-01
pnpm install
pnpm dev # All apps
pnpm dev:web # Web only
pnpm dev:extension # Extension only
pnpm dev:mobile # Mobile only (requires Expo Go)pnpm build:extension # -> apps/extension/dist
pnpm build:web # -> apps/web/.next
pnpm build:mobile # Expo EAS buildcd circuits
circom transfer.circom --r1cs --wasm --sym -o build
snarkjs groth16 setup build/transfer.r1cs pot_final.ptau transfer.zkey
snarkjs zkey export verificationkey transfer.zkey vk.jsonProtocol 01 maintains comprehensive test coverage across all layers of the stack.
| Layer | Suite | Tests | Status |
|---|---|---|---|
| Smart Contracts | Anchor/Rust (6 programs) | 310 | Localnet |
| Extension | React components (14 files) | 195 | Passing |
| Web App | Next.js components + API (18 files) | 369 | Passing |
| Mobile App | Stores, services, crypto (17 files) | 426 | Passing |
| auth-sdk | Client + Server + Protocol | 123 | Passing |
| p01-js | SDK core + Registry + Protocol01 | 267 | Passing |
| specter-sdk | Stealth, wallet, transfers, client | 129 | Passing |
| zk-sdk | Notes, Merkle, keys, client | 131 | Passing |
| whitelist-sdk | On-chain whitelist operations | 40 | Passing |
| ui | Design tokens + theme | 85 | Passing |
| relayer | Private send + stealth + ZK verify | 20 | Passing |
| E2E Integration | Full protocol flows (4 scenarios) | 81 | Devnet |
| TOTAL | 59+ test files | ~2175+ |
- On-chain programs: PDA derivation, instruction handlers, state machines, error codes, account sizes, vesting math, Bloom filter nullifiers, Groth16 proof verification
- Privacy flows: Stealth address generation/scanning/claiming, ZK shield/transfer/unshield, payment splitting, relayer routing
- Auth protocol: Session lifecycle, QR generation, Ed25519 signature verification, subscription proofs, replay prevention
- Frontend: All major components, user interactions, wallet connection, payment flows, settings
- SDK: Full API coverage with mocked Solana RPC, error handling, edge cases
# All unit tests (SDK + apps)
pnpm test
# Smart contract tests (requires local validator)
anchor test
# E2E integration tests
pnpm test:e2e
# Individual packages
pnpm --filter auth-sdk test
pnpm --filter p01-js test
pnpm --filter specter-sdk testAutomated via GitHub Actions on every push/PR:
- Lint -- ESLint + Prettier
- Build -- TypeScript compilation across all packages
- Test -- Full test suite execution
- No hardcoded secrets -- All API keys and private keys use environment variables
.envfiles gitignored --.env.examplefiles document required variables without exposing values- TypeScript strict mode -- Enabled across the entire monorepo
- Input validation -- All API endpoints and SDK methods validate inputs
- ZK proof verification -- Server-side Groth16 proof verification with nullifier tracking to prevent double-spends
- Stealth address privacy -- ECDH key exchange ensures only the recipient can detect and claim payments
- Proprietary license -- Code visible for hackathon evaluation only
- Chrome/Brave extension wallet
- Mobile app (iOS/Android)
- ZK shielded pool (Groth16, Circom)
- Stealth addresses (ECDH)
- Private relay (off-chain ZK verification)
- Payment streams (SPL)
- Jupiter swap integration
- Fiat on-ramp (MoonPay, Ramp)
- SDK v1 (@p01/sdk, @p01/zk-sdk)
- On-chain relayer (Anchor program)
- Decentralized relayer network
- Advanced privacy (decoy transactions)
- Cross-chain bridges
- Desktop app (Windows/macOS)
- CLI tool
- DAO governance
- Hardware wallet support
| Website | protocol-01.vercel.app |
| Documentation | protocol-01.vercel.app/docs |
| Roadmap | protocol-01.vercel.app/roadmap |
| Twitter/X | @Protocol01_ |
| Discord | discord.gg/KfmhPFAHNH |
| GitHub | IsSlashy/Protocol-01 |
Built on Solana
© 2026 Volta Team — All rights reserved











