Kamigo is an AI-powered Solana wallet that deposits into Kamino yield vaults, automates balance triggers, and executes trades — all through plain English commands. No seed phrases. No complexity. Built on Kamino, Solflare, and QuickNode.
- "Send 2 SOL to my friend"
- "Swap 50 SOL to USDT"
- "Put my idle SOL to work earning yield"
- "Alert me when my balance drops below 1 SOL"
The AI understands intent, confirms with the user, and (once Web3 execution is wired) dispatches the on-chain transaction.
Monrepo structure setup for the purpose of adding a custom backend later kamigo/ ├── apps/ │ ├── frontend/ # React + Vite app ├── pnpm-workspace.yaml └── package.json
| Route | Description |
|---|---|
/ |
Landing page + sign up / sign in (email + password) |
/dashboard |
Portfolio overview — balances, SOL price, 30-day chart, token list, recent txs |
/command |
AI chat interface with quick-command shortcuts |
/strategies |
Kamino yield vaults (LP + lending markets) with AI suggestions |
/automation |
Create and manage on-chain trigger conditions |
/analytics |
Portfolio history charts, asset allocation, Kamino P&L |
- Frontend: React 18, Vite, Tailwind CSS, Recharts, Lucide React
- Backend: Supabase edge functions — webhook registration, ai agent, automation trigger evaluation
- Auth: Supabase Auth (email/password)
- Database: Supabase PostgreSQL
user_profiles— wallet address, display nameportfolio_snapshots— 30-day portfolio historyai_conversations— chat historyautomation_triggers— user-defined conditions + QuickNode webhook IDsautomation_notifications— real-time trigger fired events (Supabase Realtime)kamino_positions— yield position tracking
- AI: Mistral 7B via Supabase Edge Function (
ai-wallet-agent) - Blockchain: Solana mainnet via QuickNode RPC
- DeFi: Kamino Finance (
@kamino-finance/klend-sdk+ REST API), Jupiter (swaps) - Automation: QuickNode Webhooks — monitors wallet addresses on-chain and fires triggers
- VITE_SUPABASE_URL=
- VITE_SUPABASE_ANON_KEY=
- VITE_QUICKNODE_RPC_URL=
- VITE_QUICKNODE_RPC_URL_MAINNET=
# Run frontend from root
pnpm dev
# Or inside frontend folder
pnpm --filter frontend devKamigo uses QuickNode Webhooks to monitor wallet activity on-chain and evaluate user-defined trigger conditions in real time.
User creates trigger in UI ↓ Saved to Supabase automation_triggers ↓ Frontend calls POST /api/webhooks/register on backend ↓ Backend creates QuickNode KV list + solanaWalletFilter webhook ↓ QuickNode fires POST /api/webhooks/quicknode on every wallet transaction ↓ Backend evaluates conditions (wallet_activity, balance_below, balance_above etc.) ↓ Writes to automation_notifications → Supabase Realtime → UI toast/alert
Supported trigger types:
| Trigger | Description |
|---|---|
wallet_activity |
Fires when SOL moves to or from a wallet |
balance_below |
Fires when SOL balance drops under a threshold |
balance_above |
Fires when SOL balance exceeds a threshold |
scheduled |
Time-based (handled separately, not webhook-driven) |
price_change |
Reserved for price feed integration |
yield_threshold |
Reserved for Kamino APY monitoring |
- User sends a message in
/command useAIChathook callsai-wallet-agentEdge Function- Mistral 7B returns a natural language reply + a structured
<action>block - UI shows an ActionCard with Confirm / Cancel
- (Web3 execution pending) Confirm triggers the appropriate on-chain instruction
The app is fully functional as a UI + AI chat layer. Auth, database, kamino lending, swapping, portfolio reading, AI responses, and webhook-based automation all work end-to-end.
Colors use a sol-* Tailwind token family:
sol-purple(#1a7cff) — primary actionssol-green(#00c9a7) — success statessol-dark(#080a10) — page backgroundsol-card(#10121c) — card surfaces
Custom CSS classes: .glass-card, .btn-sol, .btn-ghost, .sol-input, .chat-user, .chat-ai, .status-dot
