Private payments on Solana using zero-knowledge proofs.
- Private Transfers - Hide transaction amounts using Bulletproofs
- Multi-Token Support - SOL, USDC, ORE, BONK, JIM, GODL
- Multiple Wallets - Phantom, Solflare, Torus, Ledger
- Deposit & Withdraw - Seamlessly manage your ShadowWire balance
- Fast & Secure - Built on Solana with audited smart contracts
npm installCopy the example environment file:
cp .env.example .env.localThen edit .env.local and add your Solana RPC endpoint:
NEXT_PUBLIC_RPC_URL=https://your-rpc-endpoint.comRPC Provider Options:
- Helius:
https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY- Get free API key - Alchemy:
https://solana-mainnet.g.alchemy.com/v2/YOUR_API_KEY- Get free API key - QuickNode:
https://YOUR_ENDPOINT.solana-mainnet.quiknode.pro/YOUR_API_KEY/- Get free API key - Custom: Any Solana RPC endpoint
npm run devOpen http://localhost:3000 in your browser.
Click "Select Wallet" and choose your preferred Solana wallet (Phantom, Solflare, etc.)
- Click the Deposit tab
- Enter amount to deposit
- Approve transaction in your wallet
- Wait for confirmation
- Click the Withdraw tab
- Enter amount (or click "Max")
- Approve transaction in your wallet
- Funds return to your wallet
- Click the Transfer tab
- Choose transfer type:
- Private (Internal) - Amount completely hidden (requires both users on ShadowWire)
- Public (External) - Amount visible, sender anonymous (works with any wallet)
- Enter recipient address
- Enter amount
- Send payment
| Token | Decimals |
|---|---|
| SOL | 9 |
| USDC | 6 |
| ORE | 11 |
| BONK | 5 |
| JIM | 9 |
| GODL | 11 |
- Framework: Next.js 14 with TypeScript
- Styling: Tailwind CSS
- Blockchain: Solana Web3.js
- Wallet: Solana Wallet Adapter
- Privacy: @radr/shadowwire SDK
By default, the app supports all ShadowWire tokens (SOL, USDC, ORE, BONK, JIM, GODL). To limit to specific tokens:
- Open
components/Dashboard.tsx - Modify the
SUPPORTED_TOKENSarray:
// Support only SOL
const SUPPORTED_TOKENS = ['SOL'] as const
// Support only ORE
const SUPPORTED_TOKENS = ['ORE'] as const
// Support SOL and USDC only
const SUPPORTED_TOKENS = ['SOL', 'USDC'] as constThe token selector will automatically update to show only your chosen tokens.
NEXT_PUBLIC_RPC_URL- Solana RPC endpoint (required) - Works with any RPC provider (Helius, Alchemy, QuickNode, etc.)
- Client-side wallet connection
- No private keys stored
- All transactions signed by your wallet
- Audited smart contracts
- Zero-knowledge proofs for privacy
- 1% relayer fee on transfers
- Standard Solana transaction fees
Telegram: https://t.me/radrportal Twitter: https://x.com/radrdotfun Email: hello@radrlabs.io
MIT