Skip to main content
Testnet/development flow. This endpoint documents bridging into Arc Testnet (chain ID 5042002, destination Arc_Testnet) for development and testing. FlareHQ production runs on Arc Mainnet (chain ID 5042). Mainnet CCTP bridging is not claimed here — confirm the production bridging path with the operator.
Initiate a Cross-Chain Transfer Protocol (CCTP) bridge of native USDC into Arc Testnet (chain ID 5042002). The transfer always originates from the signed-in consumer’s own FlareHQ-created Circle developer-controlled wallet — never from a shared platform wallet and never from an address supplied in the request body. The route returns immediately with a bridge_... reference and runs the bridge in the background; poll GET /api/cctp/transfer/status with that reference to track progress. Because this endpoint bridges from the caller’s own wallet, authentication is consumer-session based (an consumer_token cookie), not an API key.

Endpoint

Request

Headers

Body Parameters

string
required
Source chain identifier. Must be one of the supported source chain IDs:
  • "Arbitrum_Sepolia" — Arbitrum Sepolia
  • "Base_Sepolia" — Base Sepolia
  • "Optimism_Sepolia" — Optimism Sepolia
  • "Ethereum_Sepolia" — Ethereum Sepolia
  • "Polygon_Amoy_Testnet" — Polygon Amoy
The consumer’s wallet is automatically provisioned on this chain the first time they bridge from it.
string
required
Destination chain identifier. Must be "Arc_Testnet" — Arc is the only destination this endpoint bridges into.
string
required
USDC amount to bridge, as a decimal string (e.g. "100.00"). Pass the human-readable value, not raw atomic units.
string
required
The 0x... Arc Testnet wallet address that will receive the minted USDC on the destination chain.

Response

boolean
true when the bridge transfer was initiated successfully.
string
Always "pending" on the initial response. Poll the status endpoint to track progress.
string
Unique transfer identifier with the prefix bridge_. Pass it as the reference query parameter to GET /api/cctp/transfer/status.Example: "bridge_lx4m9q2t7w8k3p0ab5".
string
Human-readable instruction pointing at the status endpoint.Example: "Bridge started — poll /api/cctp/transfer/status?reference=... to check progress."

Listing Supported Chains

A GET to the same path returns the current lists of supported source and destination chains without authenticating:
boolean
true.
array
Array of { id, label, testnet, circleBlockchain } objects for every supported source chain.
array
Array of { id, label, testnet } objects for every supported destination chain (always Arc_Testnet).

Examples

Success Response

Chain Listing Response

Error Responses

Notes

The bridge runs asynchronously and is not awaited inside the request — the HTTP response is returned as soon as the transfer is registered. Progress is tracked in process memory, so on a single-instance deployment the reference stays queryable until the transfer settles or the server restarts. If the server restarts before completion, the status endpoint reports the transfer as not found.
This endpoint only bridges into Arc. Moving USDC back out of Arc requires starting a new transfer with Arc as the source chain — reversing the same transfer is not possible.