An automated micro-investment app that tracks Solana wallet transactions and rounds up each outgoing transaction to the nearest USD value. The rounded-up difference is accumulated off-chain and later transferred on-chain to a pooled investment contract.
- Wallet Integration: Connect with Phantom, Solflare, or Backpack wallets
- Transaction Tracking: Real-time monitoring of Solana wallet transactions
- Round-up Calculation: Automatic calculation of round-up amounts
- Investment Pool: Transfer round-ups to a pooled investment contract
- Portfolio Tracking: View your investment position and performance
- Node.js 18+
- npm or yarn
- A Solana wallet (Phantom, Solflare, or Backpack)
- Clone the repository:
git clone <repository-url>
cd coffee-change- Install dependencies:
npm install- Start the development server:
npm run dev- Open http://localhost:3000 in your browser
src/
├── app/
│ ├── api/ # API endpoints
│ │ ├── transactions/scan/ # Transaction scanning
│ │ ├── prices/ # Price oracle data
│ │ └── pool/position/ # Pool position data
│ ├── globals.css # Global styles with coffee theme
│ ├── layout.tsx # Root layout with Solana provider
│ └── page.tsx # Main app entry point
├── components/
│ ├── ui/ # Reusable UI components
│ ├── app-navigation.tsx # Main navigation component
│ ├── dashboard.tsx # Dashboard with wallet info
│ ├── roundup-review.tsx # Round-up review and transfer
│ ├── investment-position.tsx # Investment portfolio view
│ ├── solana-provider.tsx # Solana wallet context
│ └── wallet-connect-button.tsx # Wallet connection UI
└── lib/
└── utils.ts # Utility functions
The app uses a coffee-themed design system with:
-
Primary Colors:
- Dark Coffee Bean (#2D2016) - Primary text and backgrounds
- Mocha Brown (#735557) - Buttons and accents
- Creamy Foam (#D9D9D9) - Card backgrounds and surfaces
-
Typography: Clean, modern sans-serif fonts (Inter, Sora, Roboto)
-
Layout: Card-based design with rounded corners and subtle shadows
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
- Dashboard: Main screen showing wallet info, transaction tracking, and round-up balance
- Round-up Review: Screen for reviewing and confirming round-up transfers
- Investment Position: Portfolio view showing user's position in the investment pool
GET /api/transactions/scan- Get latest transaction scan resultsPOST /api/transactions/scan- Trigger new transaction scanGET /api/prices- Get current SOL/USD and USDC/USD pricesGET /api/pool/position?wallet=<address>- Get user's pool position
Currently configured for Solana Devnet for development and testing.
- Phantom
- Solflare
- Backpack
- Any wallet supporting the Wallet Standard
This is a development version with mock data. In production, you would need to:
- Implement real transaction scanning
- Connect to actual price oracles
- Deploy smart contracts for the investment pool
- Add real wallet balance fetching
- Implement actual Solana transactions
This project is for development purposes.