A small Next.js dashboard for live crypto market data in EUR.
It tracks:
BTCETHSOLUSDCUSDT
It also shows:
- Bitcoin dominance
- Fear & Greed index
Next.js 16React 19Tailwind CSS- App Router (
src/app)
- Live euro-denominated crypto prices
- 24h change per asset
- Bitcoin dominance and Fear & Greed indicators
- In-memory caching to reduce upstream load
- Fallback pricing path when CoinGecko is unavailable
- Compact dashboard UI optimized for desktop and mobile
- Primary prices:
CoinGecko - Price fallback:
Coinbasespot/stats APIs - FX conversion for fallback prices:
Frankfurter(USD -> EUR) - Bitcoin dominance:
CoinGecko Global - Fear & Greed:
Alternative.me
- Price quotes are cached for
30s - Stale prices can be served for up to
5 minutes - Market signals are cached for
5 minutes - Stale market signals can be served for up to
30 minutes - FX rates are cached for
1 hour
If CoinGecko rate-limits or fails, the app falls back to Coinbase prices and converts them to EUR.
You can provide a CoinGecko demo key to improve reliability:
COINGECKO_DEMO_API_KEY=your_key_hereInstall dependencies:
npm installStart the development server:
npm run devOpen http://localhost:3000.
npm run dev
npm run build
npm run start
npm run lintsrc/
app/
api/prices/route.js
globals.css
layout.js
page.js
components/
price-dashboard.js
lib/
crypto-prices.js
fx-rates.js
market-signals.js
- The UI is euro-based.
- The API route at
/api/pricesaggregates prices and market signals for the frontend. - The project uses server-side fetches and caching instead of exposing third-party API calls directly to the browser.