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