Where the naira is
A corridor is only worth opening where the tokens exist and someone wants to trade them. cNGN supply by chain, read on 11 September 2026:
So the order is BNB Chain, then Celo, with Polygon and Arbitrum waiting for a reason: either cNGN issued
there in size, or a different corridor on them.
What one more EVM chain costs
- Contracts.
PanofxValidation,PanofxFeeControllerandPanofxExecutor, plus aLimitOrderReactor. Permit2 is already at the same address on every EVM chain. The deploy script takes its addresses from the environment; the result goes tocontracts/deployments/<chain>.json. - An entry in the relay’s
CHAINS. One more object with its contracts, tokens, gas-fee token and reference corridor. The keeper holds a lease per chain, and the indexer runs a loop per chain in one process. See Relay environment. - A keeper key, funded with that chain’s gas token.
- Reference rates. The band is per corridor. cNGN corridors reuse the existing sources; a rand or peso corridor needs its own.
- Nodes. An operator adds an entry under
chains:and runspanofx-node approveonce. - The web app.
NEXT_PUBLIC_NETWORKSlists the chains and the header becomes a switcher.
What is already chain-agnostic
- The relay reads its chains, contracts and tokens from configuration; the indexer follows whatever it is pointed at; the oracle’s sources are named, not hard-coded.
- The node takes chain id, contracts and corridors from its policy. The app keeps a catalogue of networks, and the operator picks one during setup.
- The web app resolves the relay and RPC per call, so switching chains never needs a rebuild.
- The contracts carry no chain assumption beyond Permit2’s canonical address.
What a second chain would still need
- Per-chain keeper funding and monitoring.
- Several chains in the app: the command-line node and the container already run several from one policy; the app manages one network per data directory.
- A chain column in the explorer.
- Corridor-aware minimums and fees: a minimum that makes sense in naira does not in rand.
Order of work
- Finish the open testnet items on Base: external resolvers, the runbook timing, an MPC-signed fill.
- Base mainnet, with the contract review and the multisig owner.
- BNB Chain testnet, then mainnet.
- Solana: the program is deployed and the hosted relay and web app route devnet swaps. Next is a house node quoting it continuously, then mainnet-beta.
- Celo, once BNB shows whether competing on an existing venue works.
- Polygon and Arbitrum only with a corridor that has liquidity on them.

