KCC Oracle
A blockchain oracle is a bridge between the blockchain and the real world. These oracles allow real-world data to enter the blockchain. This data could be anything from price information to weather reports. Oracles can also be bi-directional and "send" data out to the real world. With the sharp rise of various DeFi applications, a stable and reliable decentralized oracle service is key to premium DeFi projects. Hence, the arrival of KCC Oracle addresses the need for KCC-based smart contracts to access external data. Please read through them carefully and understand the underlying risks before using Oracle.
KCC Oracle sources price data from multiple centralized exchanges (CEXs) and from the decentralized finance (DeFi) applications and aggregates the data using a weighted formula.
KCC Oracle has two roles: transmitter and signer. The signer signs data, and the transmitter is responsible for transmitting the signed data up the chain. It is intended to make data tamper-proof and to improve the security and reliability of different roles addresses.
Publishing data to the blockchain happens through multi-nodes. Multi-nodes also ensure that those smart contracts that already store some data are secure and audited. Multi-node architecture can also adjust the frequency of data publishing based on the situation. For example, it can help you get accurate data during high price volatility.
The data on the KCC Oracle is kept up to date by an independent monitoring service that works 24 hours a day, seven days a week. It fetches prices from different data sources and compares them to published blockchain data. And the KCC Oracle support team will intervene if a significant deviation is detected.
Oracle Aggregator periodically publishes valuable data to the Oracle network. The aggregator stores the aggregated data on a chain so that consumers can retrieve and use it in the same transaction. We recommend retrieving data sources through
AggregatorV3Interface
and proxy addresses.Name | Descripition |
---|---|
decimals | The number of decimals |
description | The description of trading pairs |
getRoundData | Get data from a specific round |
latestRoundData | Get data from the latest round |
version | Get the version of the aggregator |
Get the number of decimals of the response
function decimals() external view returns (uint8);
Return values
- RETURN: The number of decimals
Get the description of the aggregator
function description() external view returns (string memory);
Return values
- RETURN: The description of trading pairs
Get the round data details for a given round ID
function getRoundData(uint80 _roundId)
external
view
returns (
uint80 roundId,
int256 answer,
uint256 startedAt,
uint256 updatedAt,
uint80 answeredInRound
);
Parameters
- _roundId: The round ID
Return values
- roundId: The round ID
- answer: The answer for this round
- startedAt: Timestamp of when the round started
- updatedAt: Timestamp of when the round was updated
- answeredInRound: The round ID in which the answer was computed
Get the price from the latest round
function latestRoundData() external view
returns (
uint80 roundId,
int256 answer,
uint256 startedAt,
uint256 updatedAt,
uint80 answeredInRound
);
Return values
- roundId: The round ID
- answer: The price
- startedAt: Timestamp of when the round started
- updatedAt: Timestamp of when the round was updated
- answeredInRound: The round ID of the round in which the answer was computed
Get the version of the aggregator
function version() external view returns (uint256);
Return values
- RETURN: The version of the aggregator
KCC Mainnet Feed addresses
Pair (Base/Quote) | Decimals | Deviation | Heartbeat | Data Feed Contract (Proxy Address) |
---|---|---|---|---|
BTC/USD | 8 | 0.2% | 2m | 0xFAce3f85602A8dc013217b61a97a9AFE7B2F276F |
ETH/USD | 8 | 0.2% | 2m | 0x72E10386eBE0E3175f62BF3Edfc9A64aC3c5918a |
KCS/USD | 8 | 0.2% | 20m | 0xAFC9c849b1a784955908d91EE43A3203fBC1f950 |
SKCS/USD | 8 | 0.2% | 20m | 0xdB4b34b3Fc38D828DFE5D9D34CcF0f5f15c09684 |
MJT/USD | 8 | 0.2% | 20m | 0x5eF7D0B6C63c9F0b0b056416B2dBA95cC02473a3 |
USDT/USD | 8 | 0.1% | 30m | 0x001c1a168ba2a36D01a99542740C375c51615161 |
USDC/USD | 8 | 0.1% | 30m | 0x1A165db46d431804B0082eb5BEbc307ffb97e31b |
KCC Testnet Feed addresses
Pair (Base/Quote) | Decimals | Deviation | Heartbeat | Data Feed Contract (Proxy Address) |
---|---|---|---|---|
BTC/USD | 8 | 0.2% | 2m | 0xBb3423a913a9a69aD7Dba09B62abdFDE4643BAe4 |
ETH/USD | 8 | 0.2% | 2m | 0x22337a9a305E081c0C801dd7B7b8eCF4966660bB |
KCS/USD | 8 | 0.2% | 20m | 0xae3DB39196012a7bF6D38737192F260cdFE1E7Ec |
SKCS/USD | 8 | 0.2% | 20m | 0xAAf1A426D4b5D57c55E67f6eCc2918c698D94359 |
MJT/USD | 8 | 0.2% | 20m | 0x11Eb72402ABA2031dAc555F158e23614009b1b6f |
USDT/USD | 8 | 0.1% | 30m | 0x2bE470B8BD3CF5655dcC666CDe37E3E4D6cf3168 |
USDC/USD | 8 | 0.1% | 30m | 0x91b66dAd926FaC824da9390D1aF6f68db391A5c0 |
Last modified 3mo ago