Use this file to discover all available pages before exploring further.
This page covers everything you need to get IFÁ Labs wired into your smart contract project. By the end, you’ll have the interface installed, the correct contract address configured for your target network, and a working oracle reference ready to use.
The official IFÁ Labs interface package gives you the complete IIfaPriceFeed Solidity interface, all struct and event definitions, and the latest ABI — fully typed and ready to import.
Use the address that matches your target network. All deployments expose an identical interface — no code changes required when moving between networks.
Network
Address
Base Mainnet
0xA9F17344689C2c2328F94464998db1d3e35B80dC
Base Sepolia
0xbF2ae81D8Adf3AA22401C4cC4f0116E936e1025b
AssetChain Testnet
0xBAc31e568883774A632275F9c8E7A5Bd117000F7
Always verify contract addresses against the Contract Addresses reference page and the verified source on Basescan before deploying to production. Never hardcode an address from an unofficial source.
Declare the oracle as an immutable constant. This is the most gas-efficient pattern and prevents the address from being changed after deployment.
// SPDX-License-Identifier: MITpragma solidity ^0.8.0;import "ifapricefeed-interface/IIfaPriceFeed.sol";contract MyProtocol { // Oracle reference — set once at compile time IIfaPriceFeed public constant ORACLE = IIfaPriceFeed(0xA9F17344689C2c2328F94464998db1d3e35B80dC); // Base Mainnet // Asset IDs — declare as constants to save gas on every lookup bytes32 public constant USDT_ASSET_ID = 0x6ca0cef6107263f3b09a51448617b659278cff744f0e702c24a2f88c91e65a0d; bytes32 public constant USDC_ASSET_ID = 0xf989296bde68043d307a2bc0e59de3445defc5f292eb390b80d78162c8a6b13d; bytes32 public constant CNGN_ASSET_ID = 0x83a18c73cf75a028a24b79cbedb3b8d8ba363b748a3210ddbcaa95eec3b87b3a; bytes32 public constant ZARP_ASSET_ID = 0x12373a3b1c4827c84bf6d7b11df100442695d0abfdb7a20d30a41d67d58e75a8; bytes32 public constant BRZ_ASSET_ID = 0xbc60b55b031dce1ee5679098bf2f35d66a94a566124e2b233324d2bafcc6d5b5;}
Declaring asset IDs as bytes32 constant eliminates runtime keccak256 computation on every call. For a contract that reads prices frequently, this adds up to meaningful gas savings over time.