Next.js demo application for Adelos Protocol stealth transfers.
- Receiver Page: Register identity, scan for transfers, withdraw funds
- Sender Page: Send SOL privately to registered recipients
- Wallet Balance: Real-time balance display with auto-updates
- Modern UI: Dark theme with toast notifications and loading states
- Node.js 18+
- Phantom Wallet (or other Solana wallet)
- SOL on Devnet (get from faucet)
cd demo-dapp
npm installCopy .env.example to .env.local:
cp .env.example .env.localEdit .env.local:
# RPC URL (Helius recommended for better performance)
NEXT_PUBLIC_RPC_URL=https://api.devnet.solana.comnpm run dev- Connect your Phantom wallet
- Go to
/receiver - Click "Register Identity" (~0.002 SOL for rent)
- Share your wallet address with senders
- Click "Unlock Privacy" then "Scan Transfers"
- Click "Withdraw" to claim funds to your wallet
- Or click "Withdraw To" to send to a custom address
- Connect your Phantom wallet
- Go to
/sender - Enter receiver's wallet address (must be registered)
- Enter SOL amount
- Click "Send Stealth Transfer"
- Receiver can now scan and claim the funds
demo-dapp/
├── src/
│ ├── app/
│ │ ├── page.tsx # Landing page with protocol docs
│ │ ├── receiver/page.tsx # Receiver dashboard
│ │ └── sender/page.tsx # Sender form
│ ├── components/
│ │ ├── WalletProvider.tsx # Wallet context
│ │ ├── Header.tsx # Shared header with balance
│ │ └── Toast.tsx # Toast notification system
│ └── globals.css # Dark theme styles
├── .env.example
├── .env.local # Your config (git-ignored)
└── README.md
Modern toast system replacing browser alerts:
- Success (green): Successful operations
- Error (red): Failed operations
- Warning (yellow): Identity mismatches
- Info (cyan): General information
Consistent header across all pages with:
- Logo and navigation
- Wallet balance (auto-updates)
- Network badge (Devnet)
- Wallet connect button
| Variable | Description | Default |
|---|---|---|
NEXT_PUBLIC_RPC_URL |
Solana RPC endpoint | https://api.devnet.solana.com |
NEXT_PUBLIC_HELIUS_API_KEY |
Helius API key (optional) | - |
MIT