A conversational AI agent for cryptocurrency insights, powered by @iqai/adk. This agent can answer crypto-related questions, fetch a coin/token price, market cap, volume or category and retrieve the latest news from CoinDesk directly from your terminal.
- Conversational CLI: Ask multiple questions in a single session without need to restart the process.
- Crypto Data Queries: Get real-time prices, market cap, category and volume for cryptocurrencies/tokens.
- Crypto News: Fetch the latest curated news or specific number of articles from CoinDesk.
- Husky: Git hooks for code quality
- Biome: Linting and formatting
- GitHub Actions: CI/CD pipeline
- PNPM: Fast package manager
- Node.js 18+ and PNPM installed
- LLM Model API Key (e.g GPT, Gemini, Claude, etc)
- CoinGecko API Key
- CoinDesk API Key
Clone the repository:
git clone https://github.com/frankiefab100/crypto-ai-agent.git
cd crypto-ai-agentInstall dependencies:
pnpm installRun the agent:
export GOOGLE_API_KEY=your-llm-model-api-key
npx tsx src/index.tsCreate a .env file in the root directory with the necessary variables and fill in your credentials:
LLM_MODEL=your-llm-model # Large Language model (e.g., `gemini-2.5-flash`)
GOOGLE_API_KEY=your-google-api-key # Gemini LLM Model API key
COINGECKO_API_KEY=your-coingecko-api-key # Coingecko Demo plan API key
COINDESK_API_KEY=your-coindesk-api-key # Coindesk Data API keyThe main agent code lives in src/index.ts. Agents and their tools are organized as follows:
├── src/
│ ├── agent/
│ │ ├── index.ts # AI agent configuration
│ │ └── tools/
│ │ ├── crypto-data-tool.ts # Cryptocurrency data tool
│ │ └── coindesk-news-tool.ts # Coindesk news/articles tool
│ ├── lib/
| | ├── env.ts # Environment variables schema
│ │ ├── types.ts # Type definitions
│ │ └── utils.ts # Utility functions
│ └── index.ts # CLI logic for user interaction
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes and commit:
git commit -m "Add your feature" - Push to your fork:
git push origin feature/your-feature - Open a Pull Request
This project is licensed under the MIT License .