[Ethereum] get price feed information directly from ChainLink oracles rather than from the aggregated contract

blockchainchainlinkdata-feeds

I've been experimenting with ChainLink recently and am fascinated of what it can do. I already used the code provided here ChainLink Docs in Python and got it to work. However, I've been searching all day to find a way to access the individual oracle prices rather than the aggregated one. I know i.e. that for BNB / USD there are 9 nodes which i found out here: ChainLink Market

I tried the API calls for the oracle contracts, result: empty responses.
Also, I've found a lot of documentation on how to do it out of a smart contract, but i have almost zero experience with solidity / smart contracts.

So: Is there a way to call the price feeds from individual oracles without using smart contracts?

Best Answer

The main purpose of oracles is to allow smart contracts to communicate to the outside world, hence why you see most examples focusing on this. From where exactly are you trying to access this data from? eg from a webUI or something?

To answer your question, you can't access individual oracle node responses with Chainlink. Getting data from an individual node or data source isn't recommended due to it being prone to manipulation or a price oracle attack. This is why Chainlink aggregates responses, taking things into account such as volume, liquidity etc to come to a final aggregated response that contains sufficient market coverage, and this is the value that you should use.

If you just want to access a particular price from a particular website, regardless of the warnings described above, then you can use Chainlink Any-API functionality

Related Topic