Skip to content

bug: EURC → USDC has no swap route on Arc Testnet (error 331001) — only USDC → EURC direction works #1

Description

@osr21

Summary

When building a stablecoin swap dApp using Circle AppKit v1.5.0 on Arc Testnet (Chain ID 5042002), kit.estimateSwap() and kit.swap() always return a fatal routing error for the EURC → USDC direction.

Error

KitError: Stablecoin Service createSwap failed: Route or resource not found. Details: No route available
  name: INPUT_UNSUPPORTED_ROUTE (code 1003)
  recoverability: FATAL
  cause.trace.responseBody: { code: 331001, message: "No route available" }

Affected Directions

Direction Result
USDC → EURC ✅ Works (intermittently — also returns 331001 when testnet routing is temporarily down)
EURC → USDC ❌ Always fails with code 331001

Reproduction

// Always fails with 331001:
await kit.estimateSwap({ fromToken: "EURC", toToken: "USDC", amount: "5" });

// Works most of the time:
await kit.estimateSwap({ fromToken: "USDC", toToken: "EURC", amount: "5" });

Root Cause

estimateSwap() internally calls Circle’s createSwap API, which routes through the lifi/Fly DEX integration. There appears to be no liquidity path seeded for EURC → USDC on Arc Testnet’s routing layer.

Impact

Any dApp offering bidirectional stablecoin swaps on Arc Testnet is broken for the EURC → USDC direction. Users who hold EURC cannot swap back to USDC, which creates a one-way liquidity trap in testnet UIs.

Suggested Fix / Documentation

Either:

  1. Seed routing liquidity for EURC → USDC on the Arc Testnet lifi/Fly DEX layer
  2. Or document which swap directions are currently supported on testnet so developers can disable unsupported directions in their UIs and avoid confusing users

For now, a safe workaround is to catch error code 1003 / Circle response code 331001 and surface a clear message:

try {
  await kit.estimateSwap(...);
} catch (err) {
  if (err.code === 1003 || err.cause?.trace?.responseBody?.code === 331001) {
    // No route — disable this swap direction in UI
  }
}

Environment

  • Circle AppKit v1.5.0
  • Arc Testnet Chain ID: 5042002
  • RPC: https://rpc.testnet.arc.network
  • USDC: 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 (6 decimals)
  • EURC: 0x89B5... (6 decimals)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions