Skip to content

docs: add CCTP integration guide (attestation timing, Osaka/PUSH0, verification) - #433

Closed
osr21 wants to merge 1 commit into
circlefin:mainfrom
osr21:docs/cctp-attestation-timing
Closed

osr21 wants to merge 1 commit into
circlefin:mainfrom
osr21:docs/cctp-attestation-timing

Conversation

@osr21

@osr21 osr21 commented Sep 17, 2026

Copy link
Copy Markdown

Summary

Closes #428, #429. Partially documents #425 and #427.

Adds docs/cctp-integration.md — a developer-facing integration guide collecting information that is currently absent from the repo and frequently causes support requests.

Contents

CCTP parameters

Canonical table of Arc Mainnet domain (26), chain ID (5042), TOKEN_MESSENGER_V2, MESSAGE_TRANSMITTER_V2, and USDC addresses.

Attestation timing (fixes #428)

Explains that finalized-finality attestations for Arc domain 26 take 2–6 hours (not seconds like other CCTP chains), why pending_confirmations + message: null is normal and not a failure, why calling reattest returns "already finalized" for burns that are real but not yet indexed, and what retry interval and max-wait to use. Includes a TypeScript polling example. Recommends fast finality for latency-sensitive applications.

EVM compatibility (fixes #429)

Corrects the impression that Arc rejects PUSH0 (EIP-3855). Arc Mainnet is Osaka-active; PUSH0 is fully supported and evm_version = "paris" workarounds are no longer needed. Also documents the EIP-7825 gas cap (2²⁴ = 16,777,216 gas) and its -32003 error on exceed.

Contract verification (documents #425)

Explains the Cloudflare WAF issue that blocks --verifier blockscout and shows the --verifier sourcify --skip-is-verified-check workaround.

…rification)

Covers:
- Arc domain 26 finalized-finality attestation latency (2-6 hours, not minutes)
  and why pending_confirmations + message:null is not a failure
- Recommended TypeScript polling pattern with 30s interval / 8h deadline
- Fast-finality alternative for latency-sensitive applications
- PUSH0/Osaka EVM compatibility correction (Arc Mainnet is Osaka-active;
  evm_version=paris workaround no longer needed)
- EIP-7825 gas cap note (2^24 gas, -32003 on exceed)
- Sourcify-based contract verification workaround for Cloudflare-blocked
  block explorer API

Fixes circlefin#428, circlefin#429, partially documents circlefin#425 and circlefin#427
@github-actions

Copy link
Copy Markdown
Contributor

Hi @osr21,

Thank you for your interest in contributing to Arc Node.

This PR has been automatically closed because you are not assigned to issue #428. We require contributors to be explicitly assigned to an issue before submitting a PR.

To contribute properly:

  1. Comment on issue Docs: CCTP domain 26 finalized-finality attestations take hours — undocumented latency and retry guidance #428 requesting assignment
  2. Wait for maintainer approval
  3. Only submit a PR after you have been assigned

Please see our CONTRIBUTING.md for more details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

1 participant