Self-host a Perplexity-style crypto research console with one API key
Stream OpenRouter chat completions through a Next.js SSE proxy
Cluster public RSS into a narrative dashboard without paid feeds
Deploy to Vercel, Fly, or Railway with no database
Needs only an OpenRouter API key in .env.local before npm run dev.
X-Agent is a self-hostable web app for crypto research that the author calls a Perplexity for crypto with a Bloomberg-terminal feel. It lets you chat with an AI about coins, look at live prices, scan news narratives, and watch a list of tokens, all from a single Next.js application that you run yourself. The project is built around three hard rules. First, every call to a language model goes through OpenRouter, which is a service that gives you access to many AI models through one key, so you do not need separate accounts at OpenAI or Anthropic. Second, the app does not use the Twitter API, the Reddit API, or any paid data feeds, only public sources like RSS news feeds and the free APIs of CoinGecko (for prices) and DefiLlama (for on-chain value locked in protocols). Third, the README states that no data is faked, so if a number is not available from a public source, the UI hides that tile instead of showing made-up values. Setup is described as short. You clone the repo, run npm install, copy the example env file, paste in your OpenRouter API key, and run npm run dev to get it running on localhost. The same project deploys to Vercel, Fly, or Railway with that one environment variable set. There is no signup, no database, and no admin panel. Inside, it is a single Next.js 15 app. The browser talks to small server routes under the api folder, which in turn fetch from OpenRouter, CoinGecko, DefiLlama, and RSS feeds. Chat replies stream token by token, so text appears as the model produces it rather than all at once. The README is detailed and technical, with sections on architecture, caching, and how to extend the app.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.