| # API Resources — Datasourceforcryptocurrency-2 |
|
|
| Canonical data-source registry for the v2 Hugging Face Space. |
|
|
| ## Files |
|
|
| | File | Role | |
| |------|------| |
| | `crypto_resources_unified_2025-11-11.json` | **Primary reference** — structured registry (~274 external + local routes), rotation pools | |
| | `ultimate_crypto_pipeline_2025_NZasinich.json` | **Supplement** — 55 curated sources with rate limits, TypeScript examples, free-tier notes | |
| | `fallback_chains.json` | **Hierarchical failover** — ordered provider chains per data type (market, news, sentiment, explorers) | |
|
|
| ## Architecture |
|
|
| ``` |
| Request |
| → local v2 endpoint (priority 0) |
| → rotation pool from unified registry (priority / round_robin / weighted) |
| → fallback_chains.json ordered chain (on 429 / 5xx / timeout) |
| → v4 complement Space (only if v2 chain exhausted) |
| → never return empty — cached stale data as last resort |
| ``` |
|
|
| ## Registry choice |
|
|
| - **Primary:** `crypto_resources_unified_2025-11-11.json` — machine-readable schema, section keys match `resource_rotation_bridge.py`, env key resolution via HF secrets. |
| - **Supplement:** `ultimate_crypto_pipeline_2025_NZasinich.json` — human-friendly examples; merged into unified when URLs are unique. Fixed: stray filename line removed so JSON parses cleanly. |
|
|
| ## API keys |
|
|
| Never hardcode keys in registry JSON. Use HF Space secrets: |
|
|
| - `CRYPTOCOMPARE_API_KEY`, `COINMARKETCAP_KEY_1/2`, `ETHERSCAN_KEY_1/2` |
| - `BSCSCAN_API_KEY`, `TRONSCAN_API_KEY`, `NEWSAPI_KEY`, `HF_TOKEN`, `COINGECKO_API_KEY` |
|
|
| See `config/api_keys.json` for the full mapping. |
|
|
| ## Regenerate merged registry |
|
|
| ```bash |
| python patches/datasource-v2/scripts/merge_api_registries.py |
| ``` |
|
|
| ## Endpoints |
|
|
| - `GET /api/resources/rotation` — pool plan + runtime stats |
| - `GET /api/resources/rotation/health` — pool availability |
| - `GET /api/resources/fallback-chains` — all chain names |
| - `GET /api/resources/fallback-chains?data_type=market_price` — single chain |
|
|