Skip to main content
The Application Binary Interface (ABI) defines the complete contract interface — every function signature, parameter type, return type, event, and error. You need it any time you interact with the IFÁ Labs oracle from outside a Solidity contract — in ethers.js, web3.py, wagmi, a subgraph, or any other off-chain tooling.
The official npm package is the cleanest and most maintainable way to get the ABI. It includes the full interface, all type definitions, and stays in sync with contract updates.

Using the ABI in JavaScript / TypeScript

Using the Interface in Solidity


Alternative: Copy from GitHub

If you prefer not to add a package dependency, copy the interface directly from the official repository: Interface (Solidity): github.com/IFA-Labs/IfaPriceFeed-interface/blob/main/src/IIfaPriceFeed.sol ABI (JSON): github.com/IFA-Labs/IfaPriceFeed-interface/blob/main/abi/IIfaPriceFeed.json
Only use ABIs sourced from the official GitHub repository or the npm package. Never use an ABI from an unofficial source — a modified ABI is a common attack vector that can cause your application to misinterpret contract calls.

Alternative: Copy from Basescan

The verified ABI is also available directly from the block explorer for each deployment: On Basescan, scroll to the Contract ABI section under the Contract tab and click Copy ABI to get the raw JSON.

Minimal ABI

For scripts and monitoring tools that only need specific functions, a minimal ABI reduces bundle size and avoids importing unused definitions. Use only what your application calls:

Price Read Only

Batch Price Read

Event Monitoring Only


Using the ABI Across Frameworks

wagmi / viem (React / TypeScript)


web3.py


Hardhat / Foundry Tests


ABI Version Management

The IFÁ Labs oracle ABI is stable. The contract interface is immutable — no upgrades, no proxy patterns, no admin keys that could change function signatures after deployment. The ABI you integrate today will work for the lifetime of the deployed contract. When new chains are deployed, the same ABI applies — the interface is identical across all deployments. You do not need separate ABI files per network.
If IFÁ Labs ever deploys a new contract version with interface changes, a new contract address will be issued and the old contract will remain fully functional. You will never be forced to migrate. The new address and updated ABI will be announced via @ifalabs and documented here before any transition period begins.

Next Steps

Security & Audits

Review the security audit covering the contracts behind this ABI.

Function Reference

Complete reference for every function in the interface.