{"openapi":"3.1.0","info":{"title":"Chainlink Price Feeds API","version":"1.0.0","description":"The on-chain prices that DeFi actually runs on, read live and keyless straight from Chainlink's price-feed contracts on Ethereum. Chainlink is the dominant oracle: a decentralised network writes each price on-chain and refreshes it on a heartbeat or when it moves past a deviation threshold, and thousands of lending, perpetual and stablecoin protocols read that exact number to value collateral and trigger liquidations. What matters is not just the price but whether the feed is fresh — a stale Chainlink feed is how DeFi protocols break — and that on-chain freshness is exactly what this exposes. The feeds endpoint lists every tracked Chainlink feed (crypto, stablecoins and FX) with its current on-chain answer, how many seconds ago it last updated and whether it is fresh. The feed endpoint returns one pair's full detail by name, including the round id, the update timestamp and the feed contract address. The health endpoint is the oracle-monitoring view: how many feeds are fresh versus stale, the stalest feed and the average update age — the on-chain reliability picture that a plain price API can't give you. Each price is read from the feed's latestRoundData and scaled by the feed's own on-chain decimals (USD feeds use 8); the update time is the contract's updatedAt. This is the Chainlink on-chain-oracle cut — distinct from the off-chain oracle-price APIs (which serve a price but not the on-chain feed's round and freshness) and from the exchange price feeds. Prices are in the feed's quote unit (USD here); times are UTC. No key, nothing stored beyond a short cache.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/chainlink-api","description":"oanor gateway"}],"tags":[{"name":"Feeds"},{"name":"Feed"},{"name":"Health"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/feeds":{"get":{"operationId":"get_v1_feeds","tags":["Feeds"],"summary":"All Chainlink feeds with price + freshness","description":"","parameters":[{"name":"class","in":"query","required":false,"description":"Filter: crypto, stablecoin or fx","schema":{"type":"string"},"example":"crypto"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Every tracked Chainlink price feed with its current on-chain answer, how many seconds ago it last updated and whether it is fresh. These are the exact prices DeFi lending, perp and stablecoin protocols read on-chain to value collateral and trigger liquidations — covering crypto, stablecoins and FX. Pass class=crypto|stablecoin|fx to filter. Live, cached ~60s.","count":9,"feeds":[{"pair":"AAVE/USD","fresh":true,"price":64.80386394,"asset_class":"crypto","seconds_since_update":2776},{"pair":"AVAX/USD","fresh":true,"price":6.64507,"asset_class":"crypto","seconds_since_update":56320},{"pair":"BNB/USD","fresh":true,"price":608.02788151,"asset_class":"crypto","seconds_since_update":18076},{"pair":"BTC/USD","fresh":true,"price":63632.07,"asset_class":"crypto","seconds_since_update":1072},{"pair":"ETH/USD","fresh":true,"price":1668.3307,"asset_class":"crypto","seconds_since_update":1216},{"pair":"LINK/USD","fresh":true,"price":7.85626915,"asset_class":"crypto","seconds_since_update":1600},{"pair":"MATIC/USD","fresh":true,"price":0.0735814,"asset_class":"crypto","seconds_since_update":13108},{"pair":"SOL/USD","fresh":true,"price":67.988942,"asset_class":"crypto","seconds_since_update":16456},{"pair":"UNI/USD","fresh":true,"price":2.52344453,"asset_class":"crypto","seconds_since_update":2740}],"source":"Ethereum public JSON-RPC (Chainlink aggregators), keyless","classes":["crypto","stablecoin","fx"],"filtered_class":"crypto"},"meta":{"timestamp":"2026-06-12T19:35:39.349Z","request_id":"f895b4df-a9d0-42f0-b5ed-dca27dd3a434"},"status":"ok","message":"Feeds retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/feed":{"get":{"operationId":"get_v1_feed","tags":["Feed"],"summary":"One feed's full detail by pair","description":"","parameters":[{"name":"pair","in":"query","required":true,"description":"A Chainlink feed pair","schema":{"type":"string"},"example":"ETH/USD"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"One Chainlink feed's on-chain detail: the current price (latestRoundData answer ÷ the feed's decimals), the round id, when it last updated (updated_at / seconds_since_update) and whether it is fresh. updatedAt is the on-chain heartbeat — Chainlink refreshes a feed on its heartbeat interval or on a price-deviation threshold; a long gap can mean a stale feed. Live, cached ~60s.","pair":"ETH/USD","fresh":true,"price":1668.3307,"source":"Ethereum public JSON-RPC (Chainlink ETH/USD aggregator), keyless","contract":"0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419","decimals":8,"round_id":"129127208515966891635","updated_at":"2026-06-12T19:15:23.000Z","asset_class":"crypto","seconds_since_update":1216},"meta":{"timestamp":"2026-06-12T19:35:39.444Z","request_id":"34d21f48-054c-45cc-b069-8a0703e169ba"},"status":"ok","message":"Feed retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/health":{"get":{"operationId":"get_v1_health","tags":["Health"],"summary":"Oracle freshness/health — fresh vs stale feeds","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The on-chain health of the tracked Chainlink feeds — how many have updated recently (fresh) versus gone quiet (stale, over 24h), the average time since last update and the stalest feed. This is the oracle-reliability check a DeFi integration needs: protocols that read a stale feed can mis-price collateral, so monitoring freshness on-chain is the safety layer a plain price API doesn't give you. Live, cached ~60s.","source":"Ethereum public JSON-RPC (Chainlink aggregators), keyless","all_fresh":true,"fresh_count":15,"stale_count":0,"stale_feeds":[],"stalest_feed":{"pair":"AVAX/USD","fresh":true,"seconds_since_update":56320},"feeds_tracked":15,"avg_update_age_seconds":17538},"meta":{"timestamp":"2026-06-12T19:35:39.527Z","request_id":"2340fa42-ec19-444d-b103-c3f722ba56c6"},"status":"ok","message":"Health retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"feeds takes an optional class (crypto, stablecoin, fx, commodity). feed takes pair (e.g. ETH/USD; a bare symbol like ETH is read as ETH/USD). health and meta take no parameters. Prices are in the feed's quote unit (USD here), read at the feed's on-chain decimals; times are UTC. Heartbeats vary by feed; a feed quiet for over 24h is flagged stale. A ~60-second cache fronts the RPC.","source":"Ethereum public JSON-RPC (Chainlink aggregator contracts), keyless, live","service":"chainlink-api","endpoints":{"GET /v1/feed":"One feed's full detail (pair=ETH/USD).","GET /v1/meta":"This document.","GET /v1/feeds":"All Chainlink feeds with price + freshness (class filter).","GET /v1/health":"Oracle freshness/health — fresh vs stale feeds."},"description":"The on-chain prices DeFi runs on, read live and keyless from Chainlink's price-feed contracts on Ethereum. Chainlink is the dominant oracle: a decentralised network writes each price on-chain on a heartbeat, and thousands of protocols read that exact number to value collateral and trigger liquidations. The feeds endpoint lists every tracked feed (crypto, stablecoins, FX) with its on-chain answer and freshness; feed gives one pair's full detail (price, round id, update time, contract); health is the oracle-monitoring view — how many feeds are fresh vs stale, the stalest feed and the average update age. The Chainlink on-chain-oracle cut — distinct from the off-chain oracle-price APIs (which serve a price but not the on-chain feed's round and freshness) and from the exchange price feeds. Each price is latestRoundData ÷ the feed's decimals; the update time is the contract's updatedAt.","sample_feed":{"pair":"ETH/USD","price":1668.3307,"seconds_since_update":1216},"tracked_pairs":["ETH/USD","BTC/USD","LINK/USD","SOL/USD","AVAX/USD","BNB/USD","MATIC/USD","AAVE/USD","UNI/USD","USDC/USD","USDT/USD","DAI/USD","EUR/USD","GBP/USD","JPY/USD"],"upstream_status":"ok"},"meta":{"timestamp":"2026-06-12T19:35:39.654Z","request_id":"3b73a9f5-e9e4-49c2-9ac7-671f35a87029"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":1200,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1600,"monthly_call_quota":24500,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":6300,"monthly_call_quota":152000,"rps_limit":16,"hard_limit":true},{"slug":"scale","name":"Scale","price_cents_month":18300,"monthly_call_quota":500000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/chainlink-api"}