Chainpilot
ChainPilot is an AI-powered blockchain copilot that helps you chat, swap tokens, send crypto, track balances, and explore multiple chains with ease — all non-custodially.
Video
Sự miêu tả
# ChainPilot 🚀
Welcome to **ChainPilot** — your AI-powered blockchain copilot for the next generation of crypto users!
## What is ChainPilot?
ChainPilot is an intelligent, user-friendly web app that empowers anyone to:
- 💬 **Chat with an AI agent** about blockchain, DeFi, and crypto topics
- 🔄 **Swap tokens** across chains with simple, guided steps
- 📤 **Send crypto** to anyone, safely and easily
- ⛽ **Check live gas fees** and get real-time blockchain data
- 📊 **Track wallet balances** and view transaction history
- 📚 **Learn blockchain concepts** in plain English
- 🦊 **Connect your wallet** (MetaMask)
- 🔒 **Enjoy non-custodial, secure interactions** — your keys, your crypto, your control
All powered by a conversational AI assistant that makes blockchain accessible for everyone.
---
## 🌐 Currently Supported Blockchains
ChainPilot currently supports:
- **Flow Testnet**
- **Ethereum**
- **Binance Smart Chain (BSC)**
- **Arbitrum**
- **Polygon**
🛠️ *More chains coming soon — stay tuned!*
---
## 📄 Deployed Contract
- **Contract Address (CT/ChainToken)**: `0x8E32897002906e0ec1F27A5495C80CefcfACCe07`
- **Block Explorer (Flow Testnet)**: [View on FlowScan](https://evm-testnet.flowscan.io/address/0x8E32897002906e0ec1F27A5495C80CefcfACCe07)
---
## 🌟 Capabilities
- **AI Chatbot**: Ask anything about crypto, DeFi, NFTs, or smart contracts
- **Flow Blockchain Integration**: Direct queries for Flow Testnet accounts, transactions, and blocks
- **Guided Actions**: Swap, send, and interact with contracts through natural language
- **Multi-Chain Support**: Ethereum, Polygon, Arbitrum, Optimism, and Flow Testnet
- **Real-Time Data**: Get up-to-date gas fees, token prices, and wallet info
- **Educational**: Learn as you go, with clear explanations and step-by-step help
- **Modern UI**: Beautiful, responsive, and theme-aware design
---
## 🚧 Future Goals
- **More Chains**: Add support for additional blockchains and L2s
- **Deeper DeFi**: Integrate lending, staking, and yield farming protocols
- **Personalized AI**: Smarter, context-aware assistant with memory
- **Notifications**: Real-time alerts for transactions and market changes
- **Mobile App**: Native mobile experience for on-the-go blockchain management
- **Open Source**: Community-driven features and plugins
---
**ChainPilot** is your trusted guide to the world of blockchain. Whether you're a beginner or a pro, let the AI and 🦊 MetaMask SDK make your crypto journey smarter, safer, and more fun!
---
## API: Chat Agent (`/api/start`)
This project exposes a chat/agent API implemented directly in Next.js, mirroring a Python LangChain agent.
- Endpoint: `POST /api/start`
- Body:
```json
{
"input": "What balance of 0x... on polygon?",
"chat_history": [
{ "role": "human", "content": "Hi" },
{ "role": "ai", "content": "Hello!" }
]
}
```
- Response:
```json
{
"output": "Native: 1.23 MATIC\nUSDC: 10.5",
"intermediate_steps": null
}
```
### Supported Tools
- `add(a,b)`, `sub(a,b)`, `mul(a,b)`
- `web_search(query)` via SerpAPI
- `get_main_balances(address, chain)` for native, USDC, USDT
- `get_wallet_transactions(address, chain, limit)`
- **Flow Blockchain Functions**:
- `getFlowAccountBalance(address)` - Get Flow account balance and details
- `getFlowTransaction(txId)` - Get transaction details and status
- `getFlowTransactionResult(txId)` - Get detailed transaction result
- `getFlowBlock(height)` - Get block information by height
- `getFlowBlockById(blockId)` - Get block information by ID
- `getFlowEvents(type, startHeight, endHeight)` - Query events
- `getFlowNetworkParameters()` - Get network configuration
### Flow API Examples
Query Flow blockchain data directly:
```bash
# Check Flow account balance
curl -X POST http://localhost:3000/api/start \
-H "Content-Type: application/json" \
-d '{"input":"What is the balance of 0x1234567890abcdef on Flow?"}'
# Check Flow transaction
curl -X POST http://localhost:3000/api/start \
-H "Content-Type: application/json" \
-d '{"input":"Check Flow transaction 0xabc123..."}'
# Get Flow block info
curl -X POST http://localhost:3000/api/start \
-H "Content-Type: application/json" \
-d '{"input":"Show me Flow block at height 12345678"}'
```
For detailed Flow API documentation, see [FLOW_API_GUIDE.md](./FLOW_API_GUIDE.md)
### Environment Variables
Create a `.env.local` at the project root with:
```bash
# Google GenAI (Gemini)
GOOGLE_API_KEY=your_google_genai_api_key
# SerpAPI for web search
SERPAPI_API_KEY=your_serpapi_key
# Explorers
POLYGONSCAN_API_KEY=your_polygonscan_key
ETHERSCAN_API_KEY=your_etherscan_key
BSCSCAN_API_KEY=your_bscscan_key
ARBISCAN_API_KEY=your_arbiscan_key
```
Only chains with an explorer key set will return token balances/transactions. Native balances work without explorer keys.
### Test Quickly
```bash
curl -X POST http://localhost:3000/api/start \
-H "Content-Type: application/json" \
-d '{"input":"What balance of 0xB702203B9FD0ee85aeDB9d314C075D480d716635 on polygon?"}'
```
You can also check health with:
```bash
curl http://localhost:3000/api/start
```Tiến độ hackathon
80
Công nghệ sử dụng
React
Next
Web3
Ethers
Solidity
Node
Trạng thái huy động vốn
100
Trưởng nhóm
MManjeet Sharma
Mã nguồn mở
Github liên kết
https://github.com/manjeetsharma0796/ChainpilotNgành
AIDeFiOther