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

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
@huklaa

huklaa commented Sep 13, 2026

Copy link
Copy Markdown

Hi @kutluhaneth46 — please coordinate before jumping into issues where another contributor has already indicated they’re working on them.

Opening overlapping work before the existing thread is resolved creates avoidable duplication and makes contribution tracking harder.

If there is a prior claim, active branch, or implementation in progress, please check with that contributor or a maintainer first so we can avoid stepping on each other’s work. Stop attacking everything like a hungry dog!!! And you're supposed to be a student!! Haven't you learned anything at school!!

@kutluhaneth46

Copy link
Copy Markdown
Contributor Author

@huklaa Thanks for the note on coordination. Happy to keep that bar.

On this specific issue: when I claimed #210 it had no assignee, no prior claim comment, and no open PR. I left a claim comment first, then opened this PR against that claim. If I missed an active thread somewhere else that already covered the same Arcscan field-name pitfall, point me at it and I will close or reshape this one so we are not duplicating.

Separately, please keep the tone professional. Happy to coordinate; personal remarks are not needed for that.

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.

2 participants