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.

This page is the complete network reference for IFÁ Labs deployments. Use it when configuring wallets, development tools, deploy scripts, monitoring infrastructure, or MCP server connections.

Supported Networks

Base Mainnet

The primary production deployment. All protocol integrations should target Base Mainnet.
ParameterValue
Network NameBase
Chain ID8453
RPC URLhttps://mainnet.base.org
WebSocket URLwss://mainnet.base.org
CurrencyETH
Block Explorerbasescan.org
Oracle Address0xA9F17344689C2c2328F94464998db1d3e35B80dC
Oracle on BasescanView contract
Read ContractRead functions
Event LogPriceUpdated events
StatusLive ✓

Base Sepolia

The recommended testnet for all development and testing. Mirror of Base Mainnet with identical oracle interface and asset IDs.
ParameterValue
Network NameBase Sepolia
Chain ID84532
RPC URLhttps://sepolia.base.org
WebSocket URLwss://sepolia.base.org
CurrencyETH (test)
Block Explorersepolia.basescan.org
Oracle Address0xbF2ae81D8Adf3AA22401C4cC4f0116E936e1025b
Oracle on BasescanView contract
Read ContractRead functions
Faucetbase.org/faucet
StatusTestnet

AssetChain Testnet

Early integration deployment for the AssetChain RWA-focused ecosystem. Oracle interface and asset IDs are identical to Base deployments.
ParameterValue
Network NameAssetChain Testnet
Chain ID42421
RPC URLhttps://enugu-rpc.assetchain.org
CurrencyTest Token
Block Explorerscan-testnet.assetchain.org
Oracle Address0xBAc31e568883774A632275F9c8E7A5Bd117000F7
Oracle on ExplorerView contract
StatusTestnet

Upcoming Networks

NetworkChain IDStatusTarget
AssetChain MainnetTBDPlannedTBD
SolanaN/APlannedTBD
Optimism10PlannedTBD
Arbitrum One42161PlannedTBD
Polygon zkEVM1101PlannedTBD
Contract addresses for upcoming deployments will be added to this page on launch day. Follow @ifalabs and join the Telegram for deployment announcements.

Adding Networks to MetaMask

Automatic — ChainList

The fastest method. Visit chainlist.org, search for “Base” or “AssetChain”, and click Add to MetaMask. The network parameters are added automatically.

Manual Configuration

In MetaMask → Settings → Networks → Add Network → Add a network manually:
    Network Name:    Base
    RPC URL:         https://mainnet.base.org
    Chain ID:        8453
    Currency Symbol: ETH
    Block Explorer:  https://basescan.org

RPC Configuration for Development Tools

Foundry (foundry.toml)

[profile.default]
src  = "src"
out  = "out"
libs = ["lib"]

[rpc_endpoints]
base-mainnet       = "https://mainnet.base.org"
base-sepolia       = "https://sepolia.base.org"
assetchain-testnet = "https://enugu-rpc.assetchain.org"

# Or use environment variables for dedicated providers
# base-mainnet = "${BASE_MAINNET_RPC_URL}"
# base-sepolia = "${BASE_SEPOLIA_RPC_URL}"
Use in scripts and tests:
# Deploy to Base Mainnet
forge script script/Deploy.s.sol \
  --rpc-url base-mainnet \
  --broadcast

# Fork Base Mainnet for local testing
anvil --fork-url https://mainnet.base.org

Hardhat (hardhat.config.js)

require("@nomicfoundation/hardhat-toolbox");

module.exports = {
  networks: {
    "base-mainnet": {
      url:      process.env.BASE_MAINNET_RPC_URL ?? "https://mainnet.base.org",
      chainId:  8453,
      accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [],
    },
    "base-sepolia": {
      url:      process.env.BASE_SEPOLIA_RPC_URL ?? "https://sepolia.base.org",
      chainId:  84532,
      accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [],
    },
    "assetchain-testnet": {
      url:      "https://enugu-rpc.assetchain.org",
      chainId:  42421,
      accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [],
    },
  },
  etherscan: {
    apiKey: {
      "base-mainnet": process.env.BASESCAN_API_KEY ?? "",
      "base-sepolia": process.env.BASESCAN_API_KEY ?? "",
    },
    customChains: [
      {
        network:  "base-mainnet",
        chainId:  8453,
        urls: {
          apiURL:     "https://api.basescan.org/api",
          browserURL: "https://basescan.org",
        },
      },
      {
        network:  "base-sepolia",
        chainId:  84532,
        urls: {
          apiURL:     "https://api-sepolia.basescan.org/api",
          browserURL: "https://sepolia.basescan.org",
        },
      },
    ],
  },
};

ethers.js / viem

// ethers.js v6
import { ethers } from "ethers";

const PROVIDERS = {
  "base-mainnet": new ethers.JsonRpcProvider("https://mainnet.base.org"),
  "base-sepolia": new ethers.JsonRpcProvider("https://sepolia.base.org"),
  "assetchain-testnet": new ethers.JsonRpcProvider("https://enugu-rpc.assetchain.org"),
};
// viem
import { createPublicClient, http } from "viem";
import { base, baseSepolia } from "viem/chains";

const mainnetClient = createPublicClient({
  chain:     base,
  transport: http(),
});

const testnetClient = createPublicClient({
  chain:     baseSepolia,
  transport: http(),
});

Oracle Addresses by Network

Quick reference — all oracle addresses in one place:
export const IFA_ORACLE_ADDRESSES = {
  "base-mainnet":       "0xA9F17344689C2c2328F94464998db1d3e35B80dC",
  "base-sepolia":       "0xbF2ae81D8Adf3AA22401C4cC4f0116E936e1025b",
  "assetchain-testnet": "0xBAc31e568883774A632275F9c8E7A5Bd117000F7",
} as const;

export const IFA_RPC_URLS = {
  "base-mainnet":       "https://mainnet.base.org",
  "base-sepolia":       "https://sepolia.base.org",
  "assetchain-testnet": "https://enugu-rpc.assetchain.org",
} as const;

export const IFA_CHAIN_IDS = {
  "base-mainnet":       8453,
  "base-sepolia":       84532,
  "assetchain-testnet": 42421,
} as const;

Faucets

NetworkFaucetNotes
Base Sepoliabase.org/faucetOfficial — daily limit applies
Base Sepoliaalchemy.com/faucets/base-sepoliaRequires free Alchemy account
Base Sepoliafaucet.quicknode.com/base/sepoliaNo account required
Base Sepoliainfura.io/faucet/sepoliaRequires free Infura account
IFÁ Labs price reads are view calls — they cost no gas and require no ETH. You only need testnet ETH if you are deploying your own contracts that consume IFÁ Labs feeds.

The public RPC endpoints listed above are suitable for development and low-frequency queries. For production monitoring, high-frequency scripts, or WebSocket event listeners, use a dedicated provider:
ProviderFree TierWebSocketNotes
Alchemy300M compute units/monthRecommended — generous free tier, reliable WebSocket
QuickNodeLimitedStrong WebSocket support
Infura100K requests/dayReliable, widely used
Ankr500 req/sGood free tier for Base
DrpcGenerous free tierDecentralized RPC network
Configure your chosen provider in the MCP server:
ifa-mcp --network base-mainnet \
  --rpc-url https://base-mainnet.g.alchemy.com/v2/YOUR_API_KEY

Network Quick Reference Card

For teams that want a single printable reference:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IFÁ LABS — NETWORK QUICK REFERENCE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

BASE MAINNET (Production)
  Chain ID:  8453
  Oracle:    0xA9F17344689C2c2328F94464998db1d3e35B80dC
  RPC:       https://mainnet.base.org
  Explorer:  https://basescan.org

BASE SEPOLIA (Testnet)
  Chain ID:  84532
  Oracle:    0xbF2ae81D8Adf3AA22401C4cC4f0116E936e1025b
  RPC:       https://sepolia.base.org
  Explorer:  https://sepolia.basescan.org
  Faucet:    https://www.base.org/faucet

ASSETCHAIN TESTNET
  Chain ID:  42421
  Oracle:    0xBAc31e568883774A632275F9c8E7A5Bd117000F7
  RPC:       https://enugu-rpc.assetchain.org
  Explorer:  https://scan-testnet.assetchain.org

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Asset IDs are identical across all networks.
See docs.ifalabs.com/reference/supported-assets
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Next Steps

Contract Addresses

Verified contract addresses with block explorer links and deployment verification steps.

Changelog

Track updates, new deployments, and breaking changes.