A privacy-first consumer application that makes sending crypto gifts as easy as sharing a QR code. Built on Solana for lightning-fast transactions and minimal fees.
SOLPACKET is a consumer-facing application that revolutionizes how people send cryptocurrency gifts on Solana. Users can create private USDC gifts secured with escrow protection, generate a unique QR code, and share it with recipients who can claim funds instantly - all with complete privacy and wallet-level security.
Watch Demo Video (2-4 minutes)
This application showcases Solana's unique strengths:
- Speed - Sub-second finality enables instant gift creation and claiming
- Cost - ~$0.0001 fees make small gifts practical (try sending $0.10 on Ethereum!)
- Scalability - Handle thousands of simultaneous gifts without congestion
- Token Extensions - Token-2022 provides confidential transfer capabilities
- Mobile-First - Solana Pay QR codes work seamlessly with mobile wallets
Without Solana, this UX would be impossible. High fees and slow finality on other chains make instant, low-value gifting economically unviable.
- 🔐 Connect & Create - One-click wallet connection (Phantom/Solflare)
- 💰 Multi-Token Support - Send SOL or USDC gifts
- 📱 Instant QR Generation - Shareable QR codes created on-chain
- 📊 Dashboard - Track all gifts you've created and their claim status
- ⏰ 24-Hour Validity - Unclaimed funds auto-recoverable after expiration
- 🎯 Scan & Claim - Mobile wallet QR scanning for instant claims
- 🔒 Wallet-Restricted - Only designated recipient address can claim
- ✉️ Personal Messages - Creators can attach encrypted messages
- 🚀 Instant Settlement - Funds arrive in seconds, not minutes
- 🛡️ Zero-Knowledge Proofs - Transaction amounts hidden via ZK circuits
- 🔐 PDA Escrow - Non-custodial, program-controlled fund storage
- 🎭 Recipient Privacy - No public link between sender and recipient
- ⚡ Secure by Design - All transactions require wallet signature approval
Complete system architecture showing the flow from UI → Smart Contract → Database with all components and connections
- Program ID:
AiebTbnydag8QCPFhapiuPzd5hy8MvKNXeVVYR2dZ94Z(Devnet) - Explorer: View on Solana Explorer
- PDA Derivation: Seed-based escrow accounts per gift
- Instructions:
create_gift,claim_gift,recover_expired
- Framework: Next.js 15 (App Router)
- Wallet Integration: Solana Wallet Adapter (Phantom, Solflare)
- QR Codes: Solana Pay protocol + qrcode.react
- Database: Supabase (gift metadata, claim tracking)
- Styling: Tailwind CSS + Framer Motion animations
// Gift creation with ZK proof generation
const zkProof = generateAmountProof(amount, recipientPubkey);
const tx = await program.methods
.createGift(zkProof, encryptedAmount)
.accounts({ escrowPda, creator, recipient })
.rpc();Currently using Token-2022 confidential transfers for privacy (prepared for production after final audits). Roadmap includes:
- Arcium SDK (2025) for multi-party computation
- Light Protocol for ZK compression
- Stealth addresses for anonymous recipients
- Connect Solana wallet (Phantom/Solflare)
- Enter gift details:
- Recipient wallet address
- Amount (SOL/USDC)
- Optional message
- Approve transaction in wallet
- Receive unique QR code + shareable link
- Share with recipient via any channel
- Recipient scans QR code or opens link
- Connects their wallet
- App verifies:
- Wallet matches recipient address
- Gift not already claimed
- Gift not expired (24h window)
- Clicks "Claim" → approves transaction
- Funds instantly transferred from escrow PDA
solpacket/
├── programs/zk-escrow/ # Anchor smart contract
│ └── src/lib.rs # Escrow logic, PDA derivation
├── src/
│ ├── app/
│ │ ├── page.tsx # Landing page with hero + gift form
│ │ ├── dashboard/ # Created/received gifts dashboard
│ │ └── claim/[id]/ # Gift claim page with validation
│ ├── components/
│ │ ├── gift-form.tsx # Gift creation with wallet signing
│ │ ├── qr-code-display.tsx # Solana Pay QR generation
│ │ └── wallet-button.tsx # Wallet connection UI
│ └── lib/
│ ├── escrow-utils.ts # PDA derivation, transaction builders
│ ├── zk-privacy.ts # ZK proof generation (Token-2022)
│ └── solana-config.ts # Helius RPC configuration
└── README.md # This file- Node.js 18+ or Bun
- Solana CLI (for program deployment)
- Phantom or Solflare wallet with Devnet SOL
git clone https://github.com/NikhilRaikwar/solpacket.git
cd solpacketbun install
# or
npm installCreate .env.local:
# Helius RPC (get free key at helius.dev)
NEXT_PUBLIC_HELIUS_API_KEY=your_helius_api_key
# Supabase (for gift metadata storage)
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_keybun dev
# or
npm run devVisit http://localhost:3000 and connect your Devnet wallet.
solana airdrop 2 YOUR_WALLET_ADDRESS --url devnetOr use Solana Faucet
-
Create Gift:
- Connect wallet with devnet SOL
- Enter recipient address (can use same wallet for testing)
- Amount: 0.05 SOL
- Message: "Test gift! 🎁"
- Confirm transaction
-
Share & Claim:
- Copy QR code link
- Open in new browser/incognito
- Connect recipient wallet
- Click "Claim"
- Verify balance increase
- Create gift for
RecipientAddress123 - Try claiming with different wallet
- Expected: Error message showing expected vs connected wallet
- Connect correct wallet → claim succeeds
- Create gift
- Wait 24 hours (or simulate by modifying timestamp)
- Try claiming
- Expected: "Gift Expired" message with recovery option for sender
- Create multiple gifts to different recipients
- Navigate to Dashboard
- "Sent" tab: View all created gifts with status badges
- "Received" tab: View gifts sent to your wallet
- Copy claim links, view transaction on Solana Explorer
- Dark theme optimized for crypto users
- Mobile-first responsive layout
- Smooth animations (Framer Motion)
- Clear CTAs at every step
- Real-time status updates with toast notifications
- Copy-to-clipboard for QR links
- Transaction explorer links for transparency
- Inline validation (wallet address format, balance checks)
- Loading states during blockchain confirmations
- Error handling with helpful messages
- Core escrow smart contract deployment
- SOL and USDC support
- Basic wallet integration (Phantom/Solflare)
- QR code generation system
- Supabase database setup
- Dashboard for sent/received gifts
- Zero-knowledge proof integration (Token-2022)
- Advanced encryption for messages
- Multi-token support (all SPL tokens)
- Mobile-optimized UI/UX improvements
- Transaction history and analytics
- Mainnet deployment (post-audit)
- Batch gift creation (bulk airdrops)
- Custom branding for gifts (themes, images)
- API for third-party integrations
- Community governance token
- NFT Gifts: Send NFTs via QR codes
- Recurring Gifts: Subscription-based drips
- Social Features: Public gift walls, leaderboards
- Merchant Tools: Accept payments via gift links
- ✅ Internal code review completed
- 📋 Third-party audit scheduled for mainnet
- 🛡️ Bug bounty program (post-mainnet)
Found a vulnerability? Please report privately:
- Email: raikwarnikhil80@gmail.com
- Telegram: @NikhilRaikwar
- No formal audit yet (mainnet will be audited)
- Token-2022 privacy features disabled pending final testing
- 24h expiration hardcoded (will be customizable)
✅ Working Demo: Fully functional on Solana Devnet
✅ GitHub Repository: Complete source code with documentation
✅ Demo Video: 2-4 minute walkthrough (link above)
✅ Solana Integration: Core functionality powered by Solana's speed/cost
- Transaction Speed - Instant gift creation/claims (not possible on slow chains)
- Low Fees - $0.0001/tx enables micro-gifting use cases
- Token Extensions - Token-2022 confidential transfers for privacy
- Solana Pay - Mobile QR code standard for seamless UX
- PDAs - Secure escrow without custodial risk
- Crypto natives sending gifts to friends/family
- Content creators rewarding supporters
- Communities distributing airdrops/rewards
- Event organizers offering crypto prizes
- 🎂 Birthday/holiday crypto gifts
- 🏆 Contest prizes and bounties
- 💡 Onboarding new users with starter SOL
- 🎓 Educational rewards for students
- 💰 Tipping creators without addresses
vercel deployAdd environment variables in Vercel dashboard:
NEXT_PUBLIC_HELIUS_API_KEYNEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEY
npm run build
npm run startContributions welcome! Please:
- Fork repository
- Create feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open Pull Request
MIT License - see LICENSE for details
Nikhil Raikwar
- GitHub: @NikhilRaikwar
- Email: raikwarnikhil80@gmail.com
- Telegram: @NikhilRaikwar
- Solana Foundation for hackathon support
- Helius for reliable RPC infrastructure
- Supabase for database services
- Anchor Framework for smart contract development
- Phantom & Solflare for wallet integration
Built with ❤️ on Solana Devnet