This guide explains how to verify and publish a smart contract’s source code on the SATUCHAIN Testnet Explorer so the contract becomes readable and transparent (source, ABI, and verified bytecode match).
Verification page: https://testnet.satuchain.com/verify-contract/step-1arrow-up-right
Before You Start
You must have:
Deployed contract address (on SATUCHAIN Testnet)
Exact Solidity source code used for deployment
Compiler version used during deployment (example: v0.8.23, v0.8.20, etc.)
Optimization settings used during deployment
Optimizer: enabled/disabled
EVM version used during compilation (example: paris)
Constructor arguments (only if your contract has a constructor with params)
Important: Verification will fail if any of these settings do not match the deployed build.
Step 1 — Open Verify Page and Fill Contract Details
Go to: https://testnet.satuchain.com/verify-contract/step-1arrow-up-right
Fill the following fields:
Contract Address
Paste your deployed contract address (example format: 0x...).
Select the format that matches how you provide the code:
Solidity (Single file) — if your contract is in one file (most simple deployments)
(Choose multi-file/standard-json only if the explorer provides it and you deployed with a full project build)
Compiler Version
Select the exact compiler version used at deployment (must match exactly).
Choose the license matching your SPDX-License-Identifier line in the source code:
Example: MIT, Apache-2.0, GPL-3.0, or No License
Check I agree to the terms of service , then click Continue .
On Step 2, complete the fields:
Use the correct format shown by the page. Common formats:
or similar path + contract name
If your project has multiple contracts in one file, pick the exact one deployed.
Constructor Args (if any)
If your contract has a constructor with parameters, input the encoded args required by the explorer.
If there is no constructor or it takes no parameters, leave this field empty.
Preset (Recommended)
If available, select:
This typically sets:
Optimizer: enabled (runs 200)
Only use this preset if it matches how you compiled your contract. If your deployment used different settings, you must match those settings instead.
Select the same EVM version used during compilation (example shown: paris).
Match your deployment build:
Paste your full Solidity source code exactly as deployed.
Then click Submit verification .
Confirm Verification
If verification succeeds:
The explorer will mark the contract as Verified
You should see:
ABI / Read / Write contract interface
Bytecode matched confirmation
You can confirm by searching the contract address on:
https://testnet.satuchain.comarrow-up-right
Common Verification Failures
“Bytecode does not match” / “Verification failed”
Usually caused by mismatch in one of these:
Optimizer setting differs (enabled/runs)
Different EVM version (e.g., paris vs another)
Source code not identical (even a small change breaks verification)
Constructor arguments wrong
If your contract has a constructor, the args must be exactly the same as used in the deploy transaction.
Wrong contract name selected
If the file contains multiple contracts, make sure the name matches the deployed one.