GreenThumb is an AI-powered gardening assistant built on ElizaOS, integrated with Privy for seamless Web3 wallet authentication and USDC stablecoin tipping functionality. Get personalized plant care advice, troubleshooting help, and expert guidance for your gardening journey.
- π€ AI-Powered Chat Assistant: Real-time gardening advice powered by ElizaOS
- π Web3 Authentication: Seamless login with Google OAuth via Privy
- πΌ Embedded Wallets: Automatic wallet creation for all users
- π° USDC Tipping: Support your AI assistant with stablecoin tips on Base Sepolia
- π Multi-Wallet Support: Works with embedded wallets and external wallets (MetaMask, etc.)
- π Real-Time Balances: View your ETH and USDC balances in the chat interface
- π Block Explorer Integration: Clickable transaction links for transparency
- Frontend: React + TypeScript + Vite
- Backend: ElizaOS (AI agent framework)
- Web3: Privy SDK (
@privy-io/react-auth) - Blockchain: Base Sepolia Testnet
- Stablecoin: USDC (ERC-20)
- Real-time Communication: Socket.IO
- Routing: React Router DOM
- Node.js 18+ and npm/bun
- A Privy App ID (Get one here)
- Google OAuth credentials (for Google login)
- Base Sepolia testnet ETH and USDC for testing
git clone https://github.com/ileana-pr/greenthumb-V0.1.git
cd greenthumb-V0.1npm install
# or
bun installCreate a .env file in the root directory:
# Privy Configuration
VITE_PRIVY_APP_ID=your_privy_app_id_here
# Agent Wallet (for receiving tips)
VITE_AGENT_WALLET_ADDRESS=0xYourWalletAddressHere- Go to Privy Dashboard
- Enable Google login method
- Configure Google OAuth:
- Authorized JavaScript origins:
http://localhost:5173http://127.0.0.1:5173
- Authorized Redirect URIs:
https://auth.privy.io/api/v1/oauth/callback
- Authorized JavaScript origins:
- Set Base Sepolia as your default chain
# Start the ElizaOS backend server
npm run dev
# In another terminal, start the frontend (if needed)
cd src/frontend
npm run devThe app will be available at http://localhost:5173
- Click "Connect Wallet" on the homepage
- Choose your login method:
- Google: Sign in with your Google account (creates embedded wallet automatically)
- Email: Email-based authentication
- Wallet: Connect external wallet (MetaMask, etc.)
- Navigate to the chat interface
- Ask questions about:
- Plant care and maintenance
- Troubleshooting plant issues
- Growing tips and best practices
- Seasonal gardening advice
- After receiving a response from GreenThumb, click "Tip GreenThumb"
- Select a tip amount (1, 5, 10, or 25 USDC) or enter a custom amount
- Confirm the transaction
- View your transaction on the block explorer
To receive USDC tips, configure your wallet address:
- Create or use an existing wallet on Base Sepolia testnet
- Add to
.env:VITE_AGENT_WALLET_ADDRESS=0xYourWalletAddressHere
β οΈ Important: If not set, tips will be sent to a demo address and may be lost!
- Get testnet ETH first (for gas)
- Bridge or swap ETH to USDC on Base Sepolia
- Or use a testnet USDC faucet if available
Note: Privy's useFundWallet feature does not support testnet USDC funding.
This project is built for the "Best App Using Stablecoin Built on Privy" bounty ($5,000):
- β Privy Integration: Full use of Privy's authentication and embedded wallet APIs
- β Stablecoin Functionality: USDC tipping system on Base Sepolia
- β User Experience: Seamless Web2-to-Web3 onboarding with Google OAuth
- β No Gambling/Wagering: Pure utility application for gardening assistance
GreenThumb leverages Privy's embedded wallet infrastructure to create a seamless Web2-to-Web3 onboarding experience, enabling users to authenticate with Google OAuth and automatically receive embedded wallets for USDC stablecoin tipping. Our implementation showcases Privy's full potential by combining authentication, embedded wallet creation, real-time balance monitoring, and ERC-20 token transactions - all while maintaining a user-friendly interface that abstracts away blockchain complexity for mainstream adoption.
greenthumb-V0.1/
βββ src/
β βββ frontend/ # React frontend application
β β βββ App.tsx # Root component with PrivyProvider
β β βββ HomePage.tsx # Landing page with wallet connection
β β βββ GreenthumbApp.tsx # Main chat interface
β βββ ... # ElizaOS backend files
βββ .env.example # Environment variables template
βββ package.json # Dependencies and scripts
βββ README.md # This file
- Never commit your
.envfile to version control - Use testnet addresses for development
- Verify all transaction details before confirming
- Keep your private keys secure
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.
- Built with ElizaOS - AI agent framework
- Powered by Privy - Web3 authentication and wallet infrastructure
- Deployed on Base Sepolia - Ethereum L2 testnet
Built with π by cheddarqueso
Note: This is a hackathon project built for ETHGlobal Cannes. The app is currently running on Base Sepolia testnet for demonstration purposes.