Files
worldmonitor/scripts
Elie Habib d5cabc6ecd feat(market): add CoinPaprika fallback for crypto/stablecoin data (#1092)
* feat(api): add comprehensive health check endpoint for UptimeRobot

Checks all 44 Redis cache keys (33 bootstrap + 11 standalone) plus
17 seed-meta freshness timestamps in a single Redis pipeline.

- Returns HEALTHY/DEGRADED/UNHEALTHY with per-key status
- Distinguishes seed-backed keys (STALE_SEED) from on-demand keys (EMPTY_ON_DEMAND)
- No auth required, ?compact=1 for minimal payload
- UptimeRobot: keyword monitor on "HEALTHY", HTTP 503 on UNHEALTHY

* feat(market): add CoinPaprika fallback for crypto/stablecoin data

CoinGecko 429 rate limiting causes seed and RPC failures.
Added CoinPaprika (free, 250K req/mo, no key) as automatic fallback
when CoinGecko fails. Also adds CoinGecko Pro key support.

- _shared.ts: fetchCryptoMarkets() unified wrapper (CoinGecko → CoinPaprika)
- list-crypto-quotes.ts: use fetchCryptoMarkets instead of direct CoinGecko
- list-stablecoin-markets.ts: same, removed duplicate CoinGecko fetch
- seed-crypto-quotes.mjs: CoinPaprika fallback + Pro key support
- seed-stablecoin-markets.mjs: same
- ais-relay.cjs: both seedCryptoQuotes and seedStablecoinMarkets
2026-03-06 08:40:30 +04:00
..