Skip to main content
agent.swaps accepts one semantic intent. quote inspects it; create obtains a fresh executable route and never broadcasts the preview. quote and create share these parameters: create(request, options?) accepts an idempotencyKey and onAdmitted callback. Quote additionally accepts max: true to size from the live available balance, deducting the selected route’s source transaction costs for native assets. Use the returned assetSend.amountRaw as the exact amount when creating the swap. Quote accepts purpose: "estimate" | "review" (default "estimate"). Estimates inspect unfunded intents; Review validates source balance and simulates source calls before selection. Neither quote submits. Create qualifies a fresh route after required funding/setup settles. Each prerequisite and the swap receives a separate operation ID and deadline: 60 seconds for a cross-chain swap, 30 seconds otherwise. The source amount, recipient, provider selection and explicit minimum remain binding. Reviewed trades bind a derived minimum only when the swap itself is ready for confirmation, after prerequisites settle. An ineligible higher-output provider cannot hide an eligible alternative; provider restrictions remain binding. Direct native-token wrapping supports configured EVM networks with a wrapper (Arc has none). Across supports configured EVM networks, plus Solana, as sources and destinations, plus incoming HyperCore USDC; a Solana recipient must already have its USDC associated token account. ERC-4626 routes enforce an atomic minimum on Ethereum, Arbitrum, Polygon, Optimism and Base. Direct kyberswap quotes support Ethereum, Arbitrum, Polygon, Optimism, Base, BNB Chain, Monad, HyperEVM, Robinhood Chain and Arc. Direct velora quotes use Market v6.2 on the same networks except Monad and HyperEVM; Velora is same-chain only. Direct uniswap quotes use the Uniswap Trading API’s v2/v3/v4 pool routing on Ethereum, Arbitrum, Polygon, Optimism, Base, BNB Chain, Monad, Robinhood Chain, Ink and Arc. Every swap settles as a signed transaction; required ERC-20 approvals receive separate confirmations. Liquidity management is outside the swap API. Circuit compares eligible providers by exact destination output. Quoted USD costs are informational. Quote returns provider, exact assets/addresses, required assetReceive.minimumAmountRaw, venuePriceImpact when available, fees: { gas, venue } and quoteFreshness: { issuedAtMs, ttlMs }. Fee categories contain reported entries (name, included, token amounts/symbol when available, optional amountUsd), or null when unavailable. An empty array means no fees reported; providers may not itemize every fee. Jupiter pool fees are not itemized (fees.venue: null). Same-chain EVM routes (KyberSwap, Velora, Uniswap) report no venue fees (fees.venue: null), report signed venuePriceImpact percentages only on some Uniswap routes, and report gas as amountUsd only. included means already included in quoted amounts, so do not subtract it again. USD valuation differences are neither fees nor reliable price-impact estimates. Quote candidates retain each eligible provider’s expected output amountRaw and whether it was selected; failed providers are excluded. USD fields are display only. Create rechecks expiry, live balance, allowance, gas, slippage and output. Success returns the completed operation, including operationId, finishedAt and typed receipts; failures throw ApiError. Review quotes may include gasBalanceWarning when the source wallet could finish below 0.002 ETH after gas. This is advisory; no reserve for future transactions blocks spending. Price impact is reflected in expected output; slippage allows additional execution deterioration. Review warns above 2% estimated impact, independently of the 1% default slippage. Reported impact is advisory; swaps have no configurable price-impact cap. Slippage and minimum-output floors do not guarantee a maximum price impact. Each successful prerequisite keeps its own operation and receipts. A failed swap may still have observed source debits or partial destination credits. Observation may resume after restart within the swap’s original deadline, but response loss, submission failure and timeout never authorize resubmission or unsigned continuation. SUBMISSION_UNCERTAIN remains an error even if later evidence proves movements. Incompatible embedded stores fail explicitly. HyperCore sides use venue token indices, including USDC "0" and HYPE "150", both with 8 decimals. The hypercore provider transfers native HYPE and venue-linked ERC-20s between Core and HyperEVM. Native HYPE on HyperEVM uses 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee with 18 decimals. Direct transfers preserve the wallet; Circle USDC deposits can name another recipient. Decimal conversion rejects dust instead of burning it. ERC-20 withdrawals simulate delivery and check Core HYPE for destination gas; final success requires both observed movements. Other routers determine their token coverage from executable quotes. Mode, exact balance, provider currencies and scales are rechecked before submission, without resizing or retrying. Arc mainnet (ethereum:5042) uses USDC for gas and its canonical dollar asset: the native sentinel 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, with 18 decimals. Its ERC-20 USDC interface at 0x3600000000000000000000000000000000000000 uses 6 decimals and spends the same balance. Circuit counts that balance once; there is no wrap or unwrap operation. Relay supports Arc bridging with EVM networks, Solana and HyperCore. Across supports Arc↔EVM and Arc→HyperCore, but currently rejects Arc↔Solana pairs. Relay, KyberSwap and Uniswap support same-chain swaps. Across and Uniswap translate native USDC into its ERC-20 denomination: exact inputs must be whole micro-USDC, minimum outputs round upward, and Max reserves gas then rounds input downward. Velora and ERC-4626 routing are unavailable on Arc. Agent starting inventory uses native USDC with 18 decimals. Native transfers, ERC-20 transfers and raw EVM calls use the shared transaction lifecycle. Ink (ethereum:57073) uses ETH for gas and native USDC at 0x2d270e6886d130d724215a266106e6832161eaed. It supports ETH/WETH wrapping, same-chain swaps through Relay and Uniswap, and cross-chain swaps through Relay and Across. KyberSwap, Velora and ERC-4626 routing are unavailable on Ink.