Oracle Data Verifier
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Oracle Data Verifier lets you verify the integrity of oracle data feeds against on-chain values. You provide the oracle contract address, a data feed ID (e.g., ETH/USD), a timestamp, and an expected value, and the tool queries the chain to read the oracle's reported data and compares it to your expected value. It attempts to call common oracle interfaces (getData, getValue, latestAnswer, getRoundData) to fetch the current or historical oracle data. The tool then displays the oracle's value, the expected value, and whether they match within tolerance. This is essential for developers building applications that rely on oracle data, auditing oracle performance, or debugging price discrepancies. It reads the current network chain ID from your wallet provider to ensure queries are directed to the correct chain.
HOW TO USE
Connect your wallet using the "Connect" button (required for RPC access). Select the target network (Ethereum Mainnet, Sepolia, Polygon, BSC, Arbitrum, Optimism, and testnets are supported). Enter the oracle contract address, data feed ID (e.g., ETH/USD), timestamp (Unix seconds), and the expected value to verify. Click "Verify data" — the tool will query the oracle contract using common interfaces and compare the reported value with your expected value. Results show the oracle's value, the method used, and whether the data is valid. The entire operation is read-only — no transactions are signed or sent.
TECHNICAL MECHANISM
The tool builds a contract interface with multiple common oracle function signatures: getData(bytes32,uint256), getData(bytes32), getValue(bytes32), latestAnswer() + latestTimestamp(), and getRoundData(uint80). It attempts to call these functions in order until one succeeds. The feed ID is converted to bytes32 using ethers.utils.formatBytes32String. The oracle value is compared to the expected value with a small tolerance (0.0001) to account for decimal scaling. The tool uses ethers.js v5.7.2 to interact with the contract via the wallet's provider. All calls are view functions — no state is modified. The tool displays the method used and the verification result.
WHAT IT CANNOT SEE
The tool cannot verify if the oracle contract is the correct one for the given data feed — you must ensure the address is correct. It cannot validate the authenticity of the data beyond what the oracle contract reports — it trusts the contract's storage. It cannot detect if the oracle has been compromised or is reporting stale data. It is limited by RPC provider availability and the specific oracle implementation's logic. It cannot verify data from non-EVM oracles or oracles that use off-chain signature verification without on-chain validation. It cannot verify data feeds that use complex aggregation or multi-sig signing without on-chain verification.
PLEASE NOTE
This tool is for educational and analytical purposes. Always verify the oracle contract address against official sources. The tool does not persist any data; all state is lost on page reload. EVM chains only.