Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ifalabs.com/llms.txt

Use this file to discover all available pages before exploring further.

IFÁ Labs deploys an identical oracle contract across every supported network. The same interface, the same asset IDs, and the same function signatures work on every deployment. The only thing that changes between networks is the contract address. This page is the authoritative reference for all deployed addresses. Verify every address against this page and the on-chain source before using it in production.

Live Deployments

NetworkTypeContract AddressBlock Explorer
Base MainnetProduction0xA9F17344689C2c2328F94464998db1d3e35B80dCView on Basescan
Base SepoliaTestnet0xbF2ae81D8Adf3AA22401C4cC4f0116E936e1025bView on Basescan Sepolia
AssetChain TestnetTestnet0xBAc31e568883774A632275F9c8E7A5Bd117000F7View on AssetChain Explorer
Always verify contract addresses on the official block explorer before deploying to production. Never use an address sourced from a third party, a Discord message, or an unofficial repository. This page and the verified on-chain source are the only authoritative references.

Access the oracle’s read functions directly from the block explorer without writing any code:

Upcoming Deployments

NetworkStatusTargetNotes
AssetChain MainnetPlannedTBDFull production deployment for RWA-focused protocols
SolanaPlannedTBDNative Solana program — different interface from EVM contracts
OptimismPlannedTBDAdditional EVM L2
ArbitrumPlannedTBDAdditional EVM L2
Polygon zkEVMPlannedTBDAdditional EVM L2
Contract addresses for upcoming deployments will be added to this page on launch day. Follow @ifalabs or join the Telegram for deployment announcements.

Using Addresses in Your Contracts

Declare the oracle address as a constant in your contract. This is the most gas-efficient pattern and prevents the address from being modified after deployment.
// Base Mainnet
IIfaPriceFeed public constant ORACLE =
    IIfaPriceFeed(0xA9F17344689C2c2328F94464998db1d3e35B80dC);

Immutable Declaration (For Multi-Network Deployments)

If your deployment scripts target multiple networks and need to set the address at deploy time rather than compile time, use immutable:
IIfaPriceFeed public immutable ORACLE;

constructor(address oracleAddress) {
    require(oracleAddress != address(0), "Invalid oracle address");
    ORACLE = IIfaPriceFeed(oracleAddress);
}
Then pass the correct address per network in your deploy script:
    // script/Deploy.s.sol
    contract DeployScript is Script {
        function run() external {
            address oracle = vm.envAddress("ORACLE_ADDRESS");
            
            vm.startBroadcast();
            new MyProtocol(oracle);
            vm.stopBroadcast();
        }
    }
    # Base Mainnet
    ORACLE_ADDRESS=0xA9F17344689C2c2328F94464998db1d3e35B80dC \
    forge script script/Deploy.s.sol --rpc-url base-mainnet --broadcast

    # Base Sepolia
    ORACLE_ADDRESS=0xbF2ae81D8Adf3AA22401C4cC4f0116E936e1025b \
    forge script script/Deploy.s.sol --rpc-url base-sepolia --broadcast

Verifying the Contract On-Chain

Before using any address in production, verify it on the block explorer:
1

Open the contract on Basescan

Navigate to the address on Basescan. The contract should show a green checkmark indicating the source code is verified.
2

Confirm the contract name

Under the Contract tab, confirm the contract name matches IfaPriceFeed or the expected IFÁ Labs contract name. A mismatch means you have the wrong address.
3

Cross-reference the ABI

The verified ABI on Basescan should include getAssetInfo, getAssetsInfo, and the derived pair functions. If these functions are absent, the address is wrong.
4

Call getAssetInfo

Under Read Contract, call getAssetInfo with a known asset ID — for example, USDT/USD: 0x6ca0cef6107263f3b09a51448617b659278cff744f0e702c24a2f88c91e65a0d. A valid response with exists = true and a reasonable price confirms the contract is live and correctly addressed.

Network Configuration Reference

Full network details for integrating IFÁ Labs into your development environment:
ParameterBase MainnetBase SepoliaAssetChain Testnet
Chain ID84538453242421
RPC URLhttps://mainnet.base.orghttps://sepolia.base.orghttps://enugu-rpc.assetchain.org
CurrencyETHETH (test)Test Token
Block Explorerbasescan.orgsepolia.basescan.orgscan-testnet.assetchain.org
Oracle Address0xA9F17344689C2c2328F94464998db1d3e35B80dC0xbF2ae81D8Adf3AA22401C4cC4f0116E936e1025b0xBAc31e568883774A632275F9c8E7A5Bd117000F7
FaucetN/Abase.org/faucetN/A

Reporting an Address Discrepancy

If you encounter an address that claims to be an IFÁ Labs oracle but is not listed on this page, do not use it and report it immediately: Include the suspicious address, the network it was found on, and where you encountered it. Address impersonation is a common attack vector in DeFi — reporting suspicious addresses quickly protects the broader ecosystem.

Next Steps

Function Reference

Complete API reference for all oracle contract functions and return types.

ABI Download

Get the official ABI for use in your development tools and scripts.