Contracts
Factory, pair, and router are original constant-product contracts. The router whitelist is fixed in the constructor: USDC, EURC, cirBTC, and WETH on the selected Arc network.
No admin
No owner, no pause, no fee setter, and no function that can pull reserves. Native value is rejected because the contracts do not accept it.
Swap
Trade swaps one direct AOVI pair at 0.30%. The v4 fee hook is separate: it charges 0.01% when the price did not move and up to 0.30% after about a 1% move. That hook cannot transfer tokens.
First deposit
Both sides must be larger than 1,000 raw units. 1,000 LP units are locked to the zero address so a first depositor cannot inflate the share price against the next depositor.
Approvals
USDC and EURC require allowance to be reset to zero before a new non-zero approval. The app does that when the current allowance is too small.
USDC scales
Gas balance is the native 18-decimal USDC. The ERC-20 used in pools is the 6-decimal token at 0x3600…0000. They are the same asset shown on different scales.
Wallet
AOVI reads the extension injected into the page. If the status line says no wallet is present, this tab cannot see MetaMask. Open the site in Chrome or Edge and allow the extension.
x402 quotes
GET /api/x402/quote sells four reads at 0.001 USDC each: a pair snapshot, a custom probe, an impact ladder, and the full six-pair book. An unpaid request returns HTTP 402. The wallet signs an EIP-3009 transferWithAuthorization and broadcasts it. AOVI returns the numbers only after that USDC authorization is in a successful Arc transaction.
Networks
Mainnet chain id 5042 uses real USDC for gas. Testnet chain id 5042002 can be funded from the Circle faucet. Signing happens in your wallet.
Official tokens
USYC is excluded. Read why in Academy.