Skip to content
On this page
Reference → dAPIs → Understanding dAPIs

IProxy interface

For every self-funded dAPI there is a single publicly available proxy contract that reads the dAPI's data (value int224, timestamp uint256). You do not access the proxy contract directly but rather use the IProxy interface. The IProxy interface is part of the npm package @api3/contracts➚.

IProxy interface contracts

For each version of Solidity supported there is an associated IProxy contract. This ensures that the interface can handle any necessary differences in the Solidity releases. You simply import the required IProxy interface contract accordingly.

// imports for Solidity versions 6x, 7x, and 8x
import "@api3/contracts/v0.6/interfaces/IProxy.sol";
import "@api3/contracts/v0.7/interfaces/IProxy.sol";
import "@api3/contracts/v0.8/interfaces/IProxy.sol";

You can also see the available Solidity specific IProxy contracts in the API3 repo api3dao/contracts➚.


Use the address of a proxy contract to read dAPIs with IProxy. See the guide Reading a self-funded dAPI proxy for a complete working example. Proxy contract addresses are available on the API3 Market➚.

import "@api3/contracts/v0.8/interfaces/IProxy.sol";
(value, timestamp) = IProxy(proxyAddress).read();

Released under the MIT License.