| { |
| "categories": { |
| "market_data": { |
| "name": "Market Data", |
| "description": "Real-time and historical cryptocurrency market data", |
| "icon": "📊" |
| }, |
| "news": { |
| "name": "News & Media", |
| "description": "Crypto news from multiple sources", |
| "icon": "📰" |
| }, |
| "sentiment": { |
| "name": "Sentiment Analysis", |
| "description": "Market sentiment and Fear & Greed Index", |
| "icon": "🎭" |
| }, |
| "analytics": { |
| "name": "On-Chain Analytics", |
| "description": "Blockchain data and whale tracking", |
| "icon": "🔗" |
| }, |
| "defi": { |
| "name": "DeFi Data", |
| "description": "DeFi protocols, TVL, and yields", |
| "icon": "🏦" |
| }, |
| "technical": { |
| "name": "Technical Analysis", |
| "description": "Technical indicators and trading signals", |
| "icon": "📈" |
| }, |
| "ai_models": { |
| "name": "AI & ML Models", |
| "description": "AI-powered analysis and predictions", |
| "icon": "🤖" |
| }, |
| "explorers": { |
| "name": "Block Explorers", |
| "description": "Blockchain explorer APIs", |
| "icon": "🔍" |
| } |
| }, |
| "services": { |
| "market_data": { |
| "providers": [ |
| { |
| "id": "coingecko", |
| "name": "CoinGecko", |
| "url": "https://api.coingecko.com/api/v3", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "10-50 req/min", |
| "endpoints": ["/simple/price", "/coins/markets", "/coins/{id}/market_chart"], |
| "features": ["prices", "market_cap", "volume", "historical", "ohlcv"], |
| "active": true |
| }, |
| { |
| "id": "coinmarketcap", |
| "name": "CoinMarketCap", |
| "url": "https://pro-api.coinmarketcap.com/v1", |
| "free": true, |
| "requires_key": true, |
| "key_env": "COINMARKETCAP_KEY_1", |
| "rate_limit": "333 req/day", |
| "endpoints": ["/cryptocurrency/quotes/latest", "/cryptocurrency/listings/latest"], |
| "features": ["prices", "market_cap", "rankings"], |
| "active": true |
| }, |
| { |
| "id": "binance", |
| "name": "Binance", |
| "url": "https://api.binance.com/api/v3", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "1200 req/min", |
| "endpoints": ["/ticker/price", "/klines", "/ticker/24hr"], |
| "features": ["prices", "ohlcv", "trades", "depth"], |
| "active": true |
| }, |
| { |
| "id": "cryptocompare", |
| "name": "CryptoCompare", |
| "url": "https://min-api.cryptocompare.com/data", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "100K/month", |
| "endpoints": ["/pricemulti", "/histoday", "/histohour"], |
| "features": ["prices", "historical", "social"], |
| "active": true |
| }, |
| { |
| "id": "coincap", |
| "name": "CoinCap", |
| "url": "https://api.coincap.io/v2", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "200 req/min", |
| "endpoints": ["/assets", "/rates", "/candles"], |
| "features": ["prices", "history", "exchanges"], |
| "active": true |
| }, |
| { |
| "id": "coinpaprika", |
| "name": "CoinPaprika", |
| "url": "https://api.coinpaprika.com/v1", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "unlimited", |
| "endpoints": ["/tickers", "/coins", "/ohlcv"], |
| "features": ["prices", "ohlcv", "exchanges"], |
| "active": true |
| }, |
| { |
| "id": "messari", |
| "name": "Messari", |
| "url": "https://data.messari.io/api/v1", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "20 req/min", |
| "endpoints": ["/assets", "/assets/{symbol}/metrics"], |
| "features": ["prices", "metrics", "profiles"], |
| "active": true |
| }, |
| { |
| "id": "coinlore", |
| "name": "CoinLore", |
| "url": "https://api.coinlore.net/api", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "unlimited", |
| "endpoints": ["/tickers/", "/global/"], |
| "features": ["prices", "global_stats"], |
| "active": true |
| } |
| ], |
| "collection_interval": "15m", |
| "realtime_supported": true |
| }, |
| "news": { |
| "providers": [ |
| { |
| "id": "cryptocompare_news", |
| "name": "CryptoCompare News", |
| "url": "https://min-api.cryptocompare.com/data/v2/news/", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "100K/month", |
| "endpoints": ["?lang=EN", "?categories=BTC"], |
| "features": ["news", "categories", "sources"], |
| "active": true |
| }, |
| { |
| "id": "newsapi", |
| "name": "NewsAPI", |
| "url": "https://newsapi.org/v2", |
| "free": true, |
| "requires_key": true, |
| "key_env": "NEWSAPI_KEY", |
| "rate_limit": "100 req/day", |
| "endpoints": ["/everything", "/top-headlines"], |
| "features": ["news", "search", "sources"], |
| "active": true |
| }, |
| { |
| "id": "cryptopanic", |
| "name": "CryptoPanic", |
| "url": "https://cryptopanic.com/api/v1/posts/", |
| "free": true, |
| "requires_key": true, |
| "key_env": "CRYPTOPANIC_KEY", |
| "rate_limit": "500 req/day", |
| "endpoints": ["?auth_token={key}", "?filter=hot"], |
| "features": ["news", "sentiment_votes", "trending"], |
| "active": true |
| }, |
| { |
| "id": "bitcoin_magazine_rss", |
| "name": "Bitcoin Magazine", |
| "url": "https://bitcoinmagazine.com/feed", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "unlimited", |
| "endpoints": [], |
| "features": ["rss", "articles"], |
| "active": true |
| }, |
| { |
| "id": "decrypt_rss", |
| "name": "Decrypt", |
| "url": "https://decrypt.co/feed", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "unlimited", |
| "endpoints": [], |
| "features": ["rss", "articles", "web3"], |
| "active": true |
| }, |
| { |
| "id": "cryptoslate_rss", |
| "name": "CryptoSlate", |
| "url": "https://cryptoslate.com/feed/", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "unlimited", |
| "endpoints": [], |
| "features": ["rss", "articles", "analysis"], |
| "active": true |
| }, |
| { |
| "id": "cointelegraph_rss", |
| "name": "CoinTelegraph", |
| "url": "https://cointelegraph.com/rss", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "unlimited", |
| "endpoints": [], |
| "features": ["rss", "articles"], |
| "active": true |
| }, |
| { |
| "id": "coindesk_rss", |
| "name": "CoinDesk", |
| "url": "https://www.coindesk.com/arc/outboundfeeds/rss/", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "unlimited", |
| "endpoints": [], |
| "features": ["rss", "articles"], |
| "active": true |
| }, |
| { |
| "id": "theblock_rss", |
| "name": "The Block", |
| "url": "https://www.theblock.co/rss.xml", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "unlimited", |
| "endpoints": [], |
| "features": ["rss", "research"], |
| "active": true |
| } |
| ], |
| "collection_interval": "15m", |
| "realtime_supported": false |
| }, |
| "sentiment": { |
| "providers": [ |
| { |
| "id": "fear_greed_index", |
| "name": "Fear & Greed Index", |
| "url": "https://api.alternative.me/fng/", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "unlimited", |
| "endpoints": ["?limit=1", "?limit=30"], |
| "features": ["fear_greed", "historical"], |
| "active": true |
| }, |
| { |
| "id": "lunarcrush", |
| "name": "LunarCrush", |
| "url": "https://lunarcrush.com/api", |
| "free": true, |
| "requires_key": true, |
| "key_env": "LUNARCRUSH_KEY", |
| "rate_limit": "50 req/day", |
| "endpoints": [], |
| "features": ["social_volume", "sentiment", "influencers"], |
| "active": true |
| }, |
| { |
| "id": "santiment", |
| "name": "Santiment", |
| "url": "https://api.santiment.net/graphql", |
| "free": true, |
| "requires_key": true, |
| "key_env": "SANTIMENT_KEY", |
| "rate_limit": "varies", |
| "endpoints": [], |
| "features": ["onchain", "social", "development"], |
| "active": true |
| }, |
| { |
| "id": "augmento", |
| "name": "Augmento", |
| "url": "https://api.augmento.ai/v0.1", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "100 req/day", |
| "endpoints": [], |
| "features": ["sentiment_topics", "social_trends"], |
| "active": true |
| } |
| ], |
| "collection_interval": "15m", |
| "realtime_supported": true |
| }, |
| "analytics": { |
| "providers": [ |
| { |
| "id": "whale_alert", |
| "name": "Whale Alert", |
| "url": "https://api.whale-alert.io/v1", |
| "free": true, |
| "requires_key": true, |
| "key_env": "WHALE_ALERT_KEY", |
| "rate_limit": "10 req/min", |
| "endpoints": ["/transactions"], |
| "features": ["whale_transactions", "alerts"], |
| "active": true |
| }, |
| { |
| "id": "blockchair", |
| "name": "Blockchair", |
| "url": "https://api.blockchair.com", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "30 req/min", |
| "endpoints": ["/bitcoin/stats", "/ethereum/stats"], |
| "features": ["blockchain_stats", "addresses"], |
| "active": true |
| }, |
| { |
| "id": "glassnode", |
| "name": "Glassnode", |
| "url": "https://api.glassnode.com/v1/metrics", |
| "free": true, |
| "requires_key": true, |
| "key_env": "GLASSNODE_KEY", |
| "rate_limit": "varies", |
| "endpoints": [], |
| "features": ["onchain_metrics", "sopr", "nupl"], |
| "active": true |
| }, |
| { |
| "id": "cryptoquant", |
| "name": "CryptoQuant", |
| "url": "https://api.cryptoquant.com/v1", |
| "free": true, |
| "requires_key": true, |
| "key_env": "CRYPTOQUANT_KEY", |
| "rate_limit": "100 req/day", |
| "endpoints": [], |
| "features": ["exchange_flows", "miner_data"], |
| "active": true |
| } |
| ], |
| "collection_interval": "30m", |
| "realtime_supported": false |
| }, |
| "defi": { |
| "providers": [ |
| { |
| "id": "defillama", |
| "name": "DefiLlama", |
| "url": "https://api.llama.fi", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "300 req/min", |
| "endpoints": ["/protocols", "/tvl", "/chains", "/yields"], |
| "features": ["tvl", "protocols", "yields", "stablecoins"], |
| "active": true |
| }, |
| { |
| "id": "1inch", |
| "name": "1inch", |
| "url": "https://api.1inch.io/v4.0", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "varies", |
| "endpoints": ["/1/quote", "/1/swap"], |
| "features": ["dex_aggregator", "quotes", "swap"], |
| "active": true |
| }, |
| { |
| "id": "uniswap_subgraph", |
| "name": "Uniswap Subgraph", |
| "url": "https://api.thegraph.com/subgraphs/name/uniswap", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "varies", |
| "endpoints": [], |
| "features": ["pairs", "swaps", "liquidity"], |
| "active": true |
| } |
| ], |
| "collection_interval": "15m", |
| "realtime_supported": false |
| }, |
| "technical": { |
| "providers": [ |
| { |
| "id": "taapi", |
| "name": "TAAPI.IO", |
| "url": "https://api.taapi.io", |
| "free": true, |
| "requires_key": true, |
| "key_env": "TAAPI_KEY", |
| "rate_limit": "50 req/day", |
| "endpoints": ["/rsi", "/macd", "/ema"], |
| "features": ["indicators", "rsi", "macd", "bollinger"], |
| "active": true |
| } |
| ], |
| "collection_interval": "15m", |
| "realtime_supported": true |
| }, |
| "ai_models": { |
| "providers": [ |
| { |
| "id": "huggingface", |
| "name": "HuggingFace Inference", |
| "url": "https://api-inference.huggingface.co/models", |
| "free": true, |
| "requires_key": true, |
| "key_env": "HF_TOKEN", |
| "rate_limit": "varies", |
| "endpoints": ["/ElKulako/cryptobert", "/ProsusAI/finbert"], |
| "features": ["sentiment_analysis", "text_generation", "classification"], |
| "active": true |
| } |
| ], |
| "collection_interval": "on_demand", |
| "realtime_supported": true |
| }, |
| "explorers": { |
| "providers": [ |
| { |
| "id": "etherscan", |
| "name": "Etherscan", |
| "url": "https://api.etherscan.io/api", |
| "free": true, |
| "requires_key": true, |
| "key_env": "ETHERSCAN_KEY", |
| "rate_limit": "5 req/sec", |
| "endpoints": ["?module=account&action=balance", "?module=gastracker"], |
| "features": ["balances", "transactions", "gas"], |
| "active": true |
| }, |
| { |
| "id": "bscscan", |
| "name": "BscScan", |
| "url": "https://api.bscscan.com/api", |
| "free": true, |
| "requires_key": true, |
| "key_env": "BSCSCAN_KEY", |
| "rate_limit": "5 req/sec", |
| "endpoints": ["?module=account&action=balance"], |
| "features": ["balances", "transactions"], |
| "active": true |
| }, |
| { |
| "id": "tronscan", |
| "name": "TronScan", |
| "url": "https://apilist.tronscanapi.com/api", |
| "free": true, |
| "requires_key": true, |
| "key_env": "TRONSCAN_KEY", |
| "rate_limit": "varies", |
| "endpoints": ["/account"], |
| "features": ["balances", "transactions"], |
| "active": true |
| }, |
| { |
| "id": "ethplorer", |
| "name": "Ethplorer", |
| "url": "https://api.ethplorer.io", |
| "free": true, |
| "requires_key": false, |
| "rate_limit": "varies", |
| "endpoints": ["/getAddressInfo"], |
| "features": ["tokens", "balances"], |
| "active": true |
| } |
| ], |
| "collection_interval": "on_demand", |
| "realtime_supported": true |
| } |
| }, |
| "api_endpoints": { |
| "unified_service": { |
| "base": "/api/service", |
| "endpoints": [ |
| {"method": "GET", "path": "/rate", "params": "?pair=BTC/USDT", "description": "Get exchange rate"}, |
| {"method": "GET", "path": "/rate/batch", "params": "?pairs=BTC/USDT,ETH/USDT", "description": "Get multiple rates"}, |
| {"method": "GET", "path": "/market-status", "params": "", "description": "Market overview"}, |
| {"method": "GET", "path": "/top", "params": "?n=10", "description": "Top coins"}, |
| {"method": "GET", "path": "/sentiment", "params": "?symbol=BTC", "description": "Get sentiment"}, |
| {"method": "GET", "path": "/whales", "params": "?chain=ethereum&min_amount_usd=1000000", "description": "Whale transactions"}, |
| {"method": "GET", "path": "/onchain", "params": "?address=0x...&chain=ethereum", "description": "On-chain data"}, |
| {"method": "POST", "path": "/query", "params": "", "description": "Universal query endpoint"} |
| ] |
| }, |
| "market": { |
| "base": "/api", |
| "endpoints": [ |
| {"method": "GET", "path": "/market", "params": "?limit=100", "description": "Market data"}, |
| {"method": "GET", "path": "/ohlcv", "params": "?symbol=BTC&timeframe=1h&limit=500", "description": "OHLCV data"}, |
| {"method": "GET", "path": "/klines", "params": "?symbol=BTCUSDT&interval=1h", "description": "Klines (alias)"}, |
| {"method": "GET", "path": "/historical", "params": "?symbol=BTC&days=30", "description": "Historical data"}, |
| {"method": "GET", "path": "/coins/top", "params": "?limit=50", "description": "Top coins"} |
| ] |
| }, |
| "news": { |
| "base": "/api", |
| "endpoints": [ |
| {"method": "GET", "path": "/news", "params": "?limit=20", "description": "Latest news"}, |
| {"method": "GET", "path": "/news/latest", "params": "?symbol=BTC&limit=10", "description": "Latest by symbol"} |
| ] |
| }, |
| "sentiment": { |
| "base": "/api", |
| "endpoints": [ |
| {"method": "GET", "path": "/sentiment/global", "params": "", "description": "Global sentiment"}, |
| {"method": "GET", "path": "/fear-greed", "params": "", "description": "Fear & Greed Index"}, |
| {"method": "POST", "path": "/sentiment/analyze", "params": "", "description": "Analyze text sentiment"} |
| ] |
| }, |
| "technical": { |
| "base": "/api/technical", |
| "endpoints": [ |
| {"method": "POST", "path": "/ta-quick", "params": "", "description": "Quick technical analysis"}, |
| {"method": "POST", "path": "/fa-eval", "params": "", "description": "Fundamental evaluation"}, |
| {"method": "POST", "path": "/onchain-health", "params": "", "description": "On-chain health"}, |
| {"method": "POST", "path": "/risk-assessment", "params": "", "description": "Risk assessment"}, |
| {"method": "POST", "path": "/comprehensive", "params": "", "description": "Comprehensive analysis"} |
| ] |
| }, |
| "ai_models": { |
| "base": "/api", |
| "endpoints": [ |
| {"method": "GET", "path": "/models/list", "params": "", "description": "List all models"}, |
| {"method": "GET", "path": "/models/status", "params": "", "description": "Models status"}, |
| {"method": "GET", "path": "/models/health", "params": "", "description": "Models health"}, |
| {"method": "POST", "path": "/models/reinit-all", "params": "", "description": "Reinitialize models"}, |
| {"method": "POST", "path": "/ai/decision", "params": "", "description": "AI trading decision"} |
| ] |
| }, |
| "resources": { |
| "base": "/api", |
| "endpoints": [ |
| {"method": "GET", "path": "/resources/stats", "params": "", "description": "Resources statistics"}, |
| {"method": "GET", "path": "/resources/apis", "params": "", "description": "All APIs list"}, |
| {"method": "GET", "path": "/resources/summary", "params": "", "description": "Resources summary"}, |
| {"method": "GET", "path": "/providers", "params": "", "description": "Data providers"}, |
| {"method": "GET", "path": "/status", "params": "", "description": "System status"}, |
| {"method": "GET", "path": "/health", "params": "", "description": "Health check"} |
| ] |
| }, |
| "websocket": { |
| "base": "/ws", |
| "endpoints": [ |
| {"method": "WS", "path": "/master", "params": "", "description": "Master WebSocket (all services)"}, |
| {"method": "WS", "path": "/live", "params": "", "description": "Live market data"}, |
| {"method": "WS", "path": "/ai/data", "params": "", "description": "AI model updates"}, |
| {"method": "WS", "path": "/data", "params": "", "description": "Data collection stream"}, |
| {"method": "WS", "path": "/monitoring", "params": "", "description": "System monitoring"} |
| ] |
| } |
| }, |
| "collection_config": { |
| "intervals": { |
| "market": {"minutes": 15, "description": "Market data collection every 15 minutes"}, |
| "news": {"minutes": 15, "description": "News collection every 15 minutes"}, |
| "sentiment": {"minutes": 15, "description": "Sentiment collection every 15 minutes"}, |
| "onchain": {"minutes": 30, "description": "On-chain data every 30 minutes"}, |
| "defi": {"minutes": 15, "description": "DeFi data every 15 minutes"}, |
| "historical": {"minutes": 30, "description": "Historical data every 30 minutes"} |
| }, |
| "realtime": { |
| "description": "For client-side requests, data is fetched immediately from source", |
| "sources": ["binance", "coingecko", "coincap", "fear_greed_index"], |
| "cache_ttl_seconds": 60 |
| } |
| }, |
| "statistics": { |
| "total_providers": 40, |
| "active_providers": 38, |
| "free_providers": 35, |
| "categories_count": 8, |
| "total_endpoints": 200, |
| "api_keys_configured": 11 |
| } |
| } |
|
|