Self-hosted Sourcify instance. Submit your Solidity sources + metadata; we recompile, match the bytecode, and the address turns into a "Verified" badge on scan.sentrixchain.com. Foundry and Hardhat both speak this protocol natively.
# From your project root, after `forge build`: forge verify-contract \ --verifier sourcify \ --verifier-url https://verify.sentrixchain.com \ --chain 7119 \ <CONTRACT_ADDRESS> src/MyToken.sol:MyToken
Swap 7119 for 7120 if you're verifying on testnet.
// hardhat.config.ts import "@nomicfoundation/hardhat-verify"; export default { sourcify: { enabled: true, apiUrl: "https://verify.sentrixchain.com", browserUrl: "https://scan.sentrixchain.com", }, networks: { sentrix: { url: "https://rpc.sentrixchain.com", chainId: 7119 }, sentrixTestnet: { url: "https://testnet-rpc.sentrixchain.com", chainId: 7120 }, }, };
# Run:
npx hardhat verify --network sentrix <CONTRACT_ADDRESS>
GET /chainsList supported chain IDs (7119 + 7120 here).GET /healthLiveness probe — returns 200 when the verifier is up.GET /files/contracts/{chainId}/{address}Fetch verified source / metadata for an address.POST /verifySubmit address + source + metadata for verification.POST /session/verifySession-based flow (drag-and-drop UIs use this).Full API reference at docs.sourcify.dev — endpoints behave identically to the public instance.
# Mainnet (7119) — list its chain config curl -s https://verify.sentrixchain.com/chains | jq '.[] | select(.chainId == 7119)' # Look up an already-verified contract curl -s https://verify.sentrixchain.com/files/contracts/7120/0xc7FBd67fb809b189998cB27F1857b50A3e09619c