Summary
CCTP v2 attestations for Arc Mainnet (domain 26) with finalityThreshold: "finalized" take several hours to be issued by the Circle Attestation Service. There is no documentation that explains this is expected, so developers building cross-chain flows assume the typical CCTP timing (~13 minutes for Ethereum finality) and build retry logic that gives up too early or fires too many requests.
Observed behaviour
After burning USDC on Arc Mainnet with finalityThreshold: "finalized":
- The attestation API returns
{"status":"pending_confirmations","message":null} for an extended period.
- A
reattest call returns "already finalized" — the burn is real, but the attestation service has not ingested the event.
- There is no ETA or progress indicator from the API.
- Attestations eventually appear, typically after 2–6 hours in practice.
Impact
- Developers expecting minutes build UI that shows "stuck" or "failed" states.
- Automated keepers / relayers time out and may double-submit or abandon valid burns.
- Support load increases from users who assume lost funds.
Request
Please add to the Arc developer documentation:
- The expected attestation latency range for domain 26
finalized-finality burns.
- Whether
"fast" finality (if supported) has a different SLA.
- The correct interpretation of
pending_confirmations + message:null (waiting for indexer ingestion, not a failure).
- Recommended retry interval and max-wait guidance for integrators.
References
- CCTP v2 Attestation API:
https://iris-api.circle.com/v2/messages/{domain}
- Arc Mainnet CCTP domain: 26
Summary
CCTP v2 attestations for Arc Mainnet (domain 26) with
finalityThreshold: "finalized"take several hours to be issued by the Circle Attestation Service. There is no documentation that explains this is expected, so developers building cross-chain flows assume the typical CCTP timing (~13 minutes for Ethereum finality) and build retry logic that gives up too early or fires too many requests.Observed behaviour
After burning USDC on Arc Mainnet with
finalityThreshold: "finalized":{"status":"pending_confirmations","message":null}for an extended period.reattestcall returns"already finalized"— the burn is real, but the attestation service has not ingested the event.Impact
Request
Please add to the Arc developer documentation:
finalized-finality burns."fast"finality (if supported) has a different SLA.pending_confirmations+message:null(waiting for indexer ingestion, not a failure).References
https://iris-api.circle.com/v2/messages/{domain}