Testnet (Sepolia)¶
On-chain anchoring on the validate path uses Ethereum Sepolia when ETH_CERTIFY_ENABLED=1. A successful probe alone may not finalize the cert until the Sepolia tx succeeds (depending on ETH_CERTIFY_REQUIRED and per-request eth_certify_enabled).
Flow¶
validate_processorfinishes probe + S3 upload.- If enabled,
eth_onchain.maybe_sepolia_certify_probe_bundlesubmitscertify()with the canonical content hash (includes Docker Hub digest when present). - Response carries
sepolia_certify_tx_hashfor PHP to store. - Idempotency: scan
Certifiedevents for matchingidentifierHash+contentHashbefore submit (testnet dedup defaults fail-open unlessETH_CERTIFY_DEDUP_REQUIRED=1).
Env names¶
SEPOLIA_RPC_URL, SEPOLIA_PRIVATE_KEY (or PRIVATE_KEY), CERTIFY_ADDRESS, ETH_CERTIFY_CHAIN_ID (default 11155111), gas/priority fee buffers, ETH_CERTIFY_DEDUP_FROM_BLOCK, ETH_CERTIFY_DEDUP_REQUIRED.
Sepolia CERTIFY_ADDRESS is 0x125721f8a45bbABC60aDbaaF102a94d9cae59238.
Related¶
- Certify contract — contract API,
Certifiedevent, and who may submit - Worker
- Mainnet — separate promote pipeline; content hash must match Sepolia for equivalence claims