Skip to content

explorer.arc.io: Cloudflare WAF blocks Sourcify automated contract verification push (chain 5042) #425

Description

@osr21

Summary

When a contract is verified on Sourcify (which supports Arc Mainnet, chain 5042, natively), Sourcify attempts to push the verified result to the chain's Blockscout instance at explorer.arc.io. That push is blocked by the Cloudflare WAF with a 403 response, so the Arc explorer never receives the verification data automatically.

Steps to reproduce

  1. Deploy any Solidity contract to Arc Mainnet (chain 5042).
  2. Verify it on Sourcify: POST https://sourcify.dev/server/v2/verify/metadata/5042/{address} with the compiler metadata and source files.
  3. Sourcify returns {"verificationStatus":"perfect"} — the contract is verified on Sourcify.
  4. Inspect the job result via GET https://sourcify.dev/server/v2/verify/{verificationId}:
{
  "isJobCompleted": true,
  "externalVerifications": {
    "blockscout": {
      "error": "Explorer verification request failed (403): <!DOCTYPE html>...<title>Just a moment...</title>..."
    }
  }
}

The Just a moment... page is a Cloudflare managed-challenge response.

Impact

  • forge verify-contract --verifier blockscout fails silently (returns Cloudflare HTML, parses as JSON error).
  • forge verify-contract --verifier sourcify submits successfully to Sourcify but the Arc explorer never syncs the contract name — contracts display as raw addresses.
  • Every developer deploying to Arc Mainnet hits this wall. The workaround (manual browser verification via the explorer UI) works but breaks CI/CD pipelines.

Suggested fix

Allow Sourcify's outbound IPs to reach explorer.arc.io/api through the Cloudflare WAF, or configure the Arc Blockscout instance to poll Sourcify on a schedule (pull instead of push) for chain 5042 contracts. Sourcify's pull-based sync is described in their docs.

Environment

  • Arc Mainnet chain ID: 5042
  • Sourcify server: https://sourcify.dev/server (v2.1.0)
  • Explorer: https://explorer.arc.io
  • Cloudflare Ray IDs observed: a3c9ec44ed2831f9, a3c9edf82be631f9

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions