Source code verification proves that the bytecode deployed at a specific contract address was produced from the Tolk source files in the current Acton project. When verification succeeds, anyone can inspect the source on TON Verifier and independently confirm that the deployed code behaves as described. Acton handles the entire flow: it compiles the contract locally, uploads the source package to the TON Verifier backend, collects the required verifier signatures, and can broadcast the final on-chain verification transaction.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ton-blockchain/acton/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before runningacton verify, ensure:
- A wallet is configured in
wallets.toml(or use--tonconnectfor a browser wallet). - The contract is defined in
[contracts]inActon.toml. - The contract has been deployed and you have its on-chain address.
- The wallet has at least
0.1 TONplus network fees (unless using--dry-run).
.boc contracts are not supported by the verifier flow.
Verify on testnet
testnet is the default network. Pass the contract name and its deployed address:
--address is omitted, Acton prompts for the address.
On success, Acton prints a link to the verified contract:
Verify on mainnet
Pass--net mainnet to target a mainnet deployment:
Choose a wallet
When more than one wallet is configured, use--wallet to pick the sender for the final verification transaction:
--wallet is omitted, Acton prompts for a selection.
Use TON Connect
Pass--tonconnect to approve the final verification transaction through a browser wallet instead of a wallets.toml entry:
--tonconnect-port <PORT>.
Dry-run mode
Use--dry-run to run the full verifier flow without broadcasting the final transaction:
--dry-run still compiles the contract, uploads the source package, and collects verifier signatures. It skips only the final blockchain transaction. Use this mode to confirm the verifier backend accepts the source before spending TON.
Pin the compiler version
If the deployed contract was built with a specific Tolk compiler version, pass it explicitly to ensure the same bytecode is reproduced:Troubleshooting bytecode mismatches
A verification failure almost always means that the local sources or compiler settings differ from what was used during deployment. Common causes:- Different Git revision than the one used for deployment.
- Different Tolk compiler version.
- Changed or regenerated source files (generated wrappers, imported helpers).
- Wrong contract name or deployed address.
5xx error, retry the command. Acton automatically retries source upload failures before exiting.
Verification flow overview
Acton compiles the contract from the local source files using the configured (or pinned) Tolk compiler version and produces a
.boc artifact.The verifier backend compiles the submitted sources independently and checks that the resulting code hash matches the deployed contract. Multiple backend signers each sign the verification result.
Acton sends the final on-chain verification transaction (
0.1 TON plus fees) so the result is permanently recorded on the TON blockchain.