Skip to content

docs(contracts): document Arcscan Etherscan-compatible contract verification - #396

Open
kutluhaneth46 wants to merge 1 commit into
circlefin:mainfrom
kutluhaneth46:cursor/docs-arcscan-verify-api-88c1
Open

docs(contracts): document Arcscan Etherscan-compatible contract verification#396
kutluhaneth46 wants to merge 1 commit into
circlefin:mainfrom
kutluhaneth46:cursor/docs-arcscan-verify-api-88c1

Conversation

@kutluhaneth46

Copy link
Copy Markdown
Contributor

Summary

  • Fixes the DX gap behind bug: testnet.arcscan.app contract verification API rejects all standard Blockscout formats #210: Arcscan's /api verify endpoint is Etherscan V1 compatible, not Blockscout-native. Requests that send addressHash / name / contractSourceCode get a misleading Missing codeformat field response even when codeformat is present.
  • Document working Foundry and Hardhat verify flows against https://testnet.arcscan.app/api.
  • Register an arc_testnet entry in foundry.toml so forge verify-contract can target Arc Testnet.

Verification

Reproduced both shapes against live Arcscan:

# Blockscout-native fields -> {"message":"Missing codeformat field","status":"0"}
# Etherscan V1 fields     -> {"message":"OK","status":"1", ...guid...}

Also confirmed:

forge verify-contract 0x5294E9927c3306DcBaDb03fe70b92e01cCede505 \
  contracts/src/memo/Memo.sol:Memo \
  --chain 5042002 \
  --verifier custom \
  --verifier-url https://testnet.arcscan.app/api \
  --verifier-api-key empty
# -> already verified (end-to-end API path works)

Notes

Hardhat still needs an etherscan.customChains entry for chain 5042002 (tracked separately if not yet on main). This PR documents the requirement and lands the Foundry side.

Test plan

Explain why Blockscout-native verify field names return a misleading
Missing codeformat error (circlefin#210), and document working Foundry/Hardhat
flows against https://testnet.arcscan.app/api. Register arc_testnet in
foundry.toml so forge verify-contract can target Arc Testnet.
@kutluhaneth46
kutluhaneth46 force-pushed the cursor/docs-arcscan-verify-api-88c1 branch from 48e3111 to dfe5885 Compare September 12, 2026 22:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant