Skip to content

Update smart contract verification documentation for Sourcify migration #508

@Reccetech

Description

@Reccetech

Context

Hedera is migrating smart contract verification from the self-hosted Sourcify instance at verify.hashscan.io / server-verify.hashscan.io to the official sourcify.dev service. Sourcify.dev now natively supports Hedera Mainnet and Testnet. The self-hosted instance will be decommissioned with a Cloudflare redirect in place.

All pages below must be updated before go-live to remove references to the old endpoints and reflect the new verification workflow.

Pages to Update

1. Smart Contract Verification API

URL: https://docs.hedera.com/hedera/sdks-and-apis/smart-contract-verification-api

  • Remove server-verify.hashscan.io as the API base URL
  • Document that Phase 1 does not include API forwarding — developers should submit verifications directly to sourcify.dev using the Sourcify v2 API
  • Link to Sourcify v2 API docs: https://docs.sourcify.dev/docs/api/
  • Remove any code samples or curl examples referencing hashscan.io endpoints

2. Verifying Smart Contracts (Core Concepts)

URL: https://docs.hedera.com/hedera/core-concepts/smart-contracts/verifying-smart-contracts-beta

  • Remove references to verify.hashscan.io and the custom Hedera Sourcify instance
  • Update the architecture description: 3rd-party tooling → sourcify.dev; Hashscan reads status from sourcify.dev
  • Add a note that the in-app Hashscan verification form is temporarily disabled; direct users to verify via sourcify.dev or tooling
  • Remove the "(beta)" label if verification is now considered generally available

3. How to Verify a Smart Contract on HashScan (Tutorial)

URL: https://docs.hedera.com/hedera/tutorials/smart-contracts/how-to-verify-a-smart-contract-on-hashscan

  • Add a prominent notice that the in-app Hashscan verification form is temporarily disabled
  • Replace the manual form walkthrough with instructions for verifying directly at https://verify.sourcify.dev (select Hedera network, upload source + metadata)
  • Remove steps referencing the in-app file upload UI and dry-run flow
  • Update or remove screenshots showing the old Hashscan verification UI
  • Point to the Foundry and Hardhat tutorials as the recommended developer workflow

4. Deploy and Verify a Smart Contract with Hardhat

URL: https://docs.hedera.com/hedera/getting-started-evm-developers/deploy-a-smart-contract-with-hardhat

  • Remove the custom apiUrl pointing to server-verify.hashscan.io from plugin configuration
  • Update to use sourcify.dev defaults — no custom URL needed for Hedera Mainnet or Testnet
  • Remove references to the hashscan-verify Hardhat plugin; replace with @nomicfoundation/hardhat-verify configured for Sourcify
  • Update hardhat.config.js / hardhat.config.ts examples accordingly

5. Deploy and Verify a Smart Contract with Foundry

URL: https://docs.hedera.com/hedera/getting-started-evm-developers/deploy-a-smart-contract-with-foundry

  • Remove --verifier-url https://server-verify.hashscan.io from all forge verify-contract examples
  • Update verification commands to use sourcify.dev:
    forge verify-contract <contract-address> <ContractName> \
      --chain-id 295 \
      --verifier sourcify \
      --verifier-url https://sourcify.dev/server
  • Update foundry.toml examples to remove the Hedera-specific verifier URL
  • Remove references to the hashscan-verify Foundry plugin if present

6. Configuring Foundry with Hedera Localnet/Testnet

URL: https://docs.hedera.com/hedera/tutorials/smart-contracts/foundry/configuring-foundry-with-hedera-localnet-testnet-a-step-by-step-guide

  • Remove --verifier-url https://server-verify.hashscan.io from any forge verify-contract commands
  • Update foundry.toml snippets to use sourcify.dev
  • Add a note clarifying whether Localnet verification is supported on sourcify.dev (sourcify.dev only supports registered chains; Localnet likely is not registered)

7. How to Mint & Burn an ERC-721 Token using Foundry (Part 1)

URL: https://docs.hedera.com/hedera/tutorials/smart-contracts/foundry/how-to-mint-and-burn-an-erc-721-token-using-foundry-part-1

  • Remove --verifier-url https://server-verify.hashscan.io from any verification commands
  • Update foundry.toml snippets if they contain a Hedera-specific verifier URL
  • If verification is covered in a later part of this series, file a follow-up for that page

General Notes for All Pages

  • Replace all mentions of verify.hashscan.io and server-verify.hashscan.io with sourcify.dev equivalents
  • The Sourcify API changed from v1 to v2 — do not assume endpoint parity in any examples
  • Coordinate with engineering to confirm the exact cutover date before publishing
  • Hedera chain IDs: Mainnet = 295, Testnet = 296

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions