A Web3 donation page built with Nuxt 3 and Solana. Accept SOL donations with multi-wallet support and a beautiful glassmorphism UI.
- 🎨 Modern glassmorphism UI design
- 💜 Solana gradient theme
- 👛 Multi-wallet support (Phantom, Solflare, Backpack)
- 🔗 Connect/Disconnect wallet flow
- 📋 One-click address copy
- 💸 Quick donate buttons (0.1, 0.5, 1 SOL)
- ⏳ Transaction status modal (processing, success, error)
- 📱 Responsive design
# Clone the repository
git clone https://github.com/theepar/solana-donation.git
cd solana-donation
# Install dependencies
npm install
# Run development server
npm run devOpen http://localhost:3000 in your browser.
-
Switch to Devnet
- Open your wallet → Settings (⚙️)
- Developer Settings → Change Network → Devnet
-
Get Free SOL
Visit the official Solana faucet: https://faucet.solana.com/- Paste your wallet address
- Click "Confirm Airdrop"
- You'll receive free devnet SOL!
| Wallet | Status | Notes |
|---|---|---|
| Phantom | ✅ Supported | Most popular Solana wallet |
| Solflare | ✅ Supported | Solana-native wallet |
| Backpack | ✅ Supported | Multi-chain wallet |
Edit app/app.vue and update the destination wallet address:
const destinationWallet = 'YOUR_SOLANA_WALLET_ADDRESS'Update the connection in app/app.vue:
// Devnet (testing)
const connection = new Connection('https://api.devnet.solana.com', 'confirmed')
// Mainnet (production)
const connection = new Connection('https://api.mainnet-beta.solana.com', 'confirmed')
⚠️ Warning: On Mainnet, transactions use real SOL with real value!
- Framework: Nuxt 3
- Blockchain: Solana
- Packages:
@solana/web3.js- Solana JavaScript SDKbuffer- Buffer polyfill for browser environment
solana-donation/
├── app/
│ └── app.vue # Main donation page with wallet logic
├── plugins/
│ └── buffer.client.ts # Buffer polyfill for browser
├── nuxt.config.ts # Nuxt configuration
└── package.json
- User opens the donation page
- Clicks "Connect Wallet"
- Selects wallet (Phantom/Solflare/Backpack)
- Approves connection in wallet extension
- Clicks donate amount (0.1, 0.5, or 1 SOL)
- Approves transaction in wallet
- Transaction confirmed → Success! 🎉
After donating, you can verify your transaction on Solscan block explorer:
- Account: [https://solscan.io/account/<WALLET_ADDRESS>?cluster=devnet]
- Transaction:
https://solscan.io/tx/<SIGNATURE>?cluster=devnet
- Account:
https://solscan.io/account/<WALLET_ADDRESS> - Transaction:
https://solscan.io/tx/<SIGNATURE>
npm install -g vercel
vercelnpm run generate
# Upload dist/ folder to NetlifyMIT License - feel free to use for your own projects!
Pull requests are welcome!
Made with 💜 and ☕