Create
Documentation
Get started

Addresses

Everything below is Arc testnet, chain 5042002. The live table on this page is read from the API at request time, so it reflects what is actually deployed rather than what was true when this page was written.

Per-launch contracts have no fixed address#

Two of the contracts in the reference are deployed once per launch by the factory:

  • FociV2BondingCurve
  • FociV2LauncherToken

There is no address to configure. Read them from the launch record:

ts
const launch = await client.readContract({
  address: FACTORY, abi: factoryAbi, functionName: "getLaunchedToken", args: [token],
});
launch.curve;   // the bonding curve for this launch
launch.exists;  // false for an unknown token — check this first

getLaunchedToken returns a zeroed struct rather than reverting for an address it does not know, so an unchecked read makes an unknown token look like a live curve at phase 0.

Indexing#

FACTORY_START_BLOCK is the block of the deploy broadcast — there is nothing to index before it.

Note that the public Arc RPC and a dedicated provider disagree on eth_getLogs limits: the public node allows a 25,000-block span, QuickNode caps it at 10,000. Pin your range to your provider, and re-measure it if you switch — a range above the cap fails every request rather than degrading.

Deployed contracts#

Network arc-testnet, chain 5042002. Explorer: https://testnet.arcscan.app Indexing starts at block 61068004.

ContractAddressKind
FociV2LaunchFactory0xa93f9CeFD92A77e1EAffa3246B6F4DB91a5c5659singleton
FociV2LaunchAndBuy0xE4A165a52A6033ee0C1b3B6dA83f72AbA1707349singleton
FociV2MemeHook0x527129aB10Fa3163629A32c4E3Ab7a98ba28e044singleton
FociV2FeeEscrow0xcecCFebAcaDCd9404Ae70b160305Af07D9760A46singleton
FociV2ReferralRegistry0xEB286974C35d2741B0fe9b2a1Cd41E53d06aE406singleton
FociV2LaunchLocker0xe047D0F0ce0dD600732793762B1f1929Adc5015dsingleton
FociV2LaunchDeployer0x5C5c202271E1300bD5Ce43A4F5C1cEA8efd57B63singleton
FociV2GraduationExecutor0x02e7d818080bf85EEB7191536A768B0CFdB38D5Dsingleton
FociV2BondingCurveper launch, read from the launch record
FociV2LauncherTokenper launch, read from the launch record

External contracts#

KeyAddressPurpose
poolManager0xa4aD72b5C7F72528Ce0baE359A13BD5A93a4574FUniswap V4 PoolManager
positionManager0x0f42e91f2cd13E6f03CC7650e72ceBed6031A125Uniswap V4 PositionManager
universalRouter0x52EF879333a56E94d62113cC7a9440d0550f8d32Uniswap UniversalRouter — pool swaps
v4Quoter0x719A77E47B14F262143399Cbdc49D1510087A148Uniswap V4 Quoter — pool-phase estimates
stateView0x270CE77c308C181018F1168903739F400bF9B4FAUniswap V4 StateView — pool state reads
permit20x000000000022D473030F116dDEE9F6B43aC78BA3Permit2 — required for UniversalRouter
usdc0x3600000000000000000000000000000000000000Quote asset (6 decimals)