acton verify
Reference manual for the acton verify command
Synopsis
acton verify [options] [contract-name]
Description
Verify local contract source code with the TON verifier on TON testnet.
The command compiles the local sources, requests a verification ticket, sends the required testnet payment, and uploads the source bundle. An optional deployed contract address can be used to check the compiled code hash before payment.
Options
Verify Options
Contract name to verify.
Acton prompts when the project contains multiple contracts.
Deployed contract address to verify.
Acton verifies the compiled code hash without a separate deployed address check.
Testnet wallet to use for the verification payment.
Acton auto-selects the only configured wallet or prompts when multiple wallets are available.
--payment-tx-hash, --tonconnect
Use TON Connect wallet approval for the verification payment.
Acton prints a native TON Connect QR code and a tc:// link.
--wallet, --payment-tx-hash
Tolk compiler version to request on the verifier side.
1.4.2.
Prepare verification without sending the payment or uploading sources.
--payment-tx-hash
Reuse a finalized testnet payment transaction.
The transaction must contain the code hash from the current verification.
--wallet, --tonconnect, --dry-run
TON Center API Keys
Testnet requests read TONCENTER_TESTNET_API_KEY.
Acton loads .env automatically, so the simplest setup during project work is
usually to keep these keys there and use shell environment variables only for
one-off overrides or CI.
Display Options
Control when to use colored output.
auto, always, never
auto
Project Options
Path to the Acton.toml file to use for this invocation.
Use this when running the command outside the project directory or when the manifest lives at a non-default location.
--project-root
Path to the project root to use for configuration discovery and relative defaults.
--manifest-path
Process
- Compile the local contract and compute its code hash.
- Request a ticket from
/api/v1/take_ticket. - Stop successfully if the code hash is already verified.
- If
--addressis set, compare its deployed code hash with the compiled code. - Get wallet approval for the returned testnet amount and address.
- Send the payment with the returned code-hash comment.
- Wait for the finalized recipient transaction.
- Upload the sources and recipient transaction hash to
/api/v1/verify.
Prerequisites
- a
.tolkcontract source in the current project - testnet funds when
--dry-runis not used - TON verifier availability
- a configured wallet or TON Connect wallet, funded when not using
--dry-run - reproducible compiler settings that match the deployed contract
Contract And Wallet Selection
- if
_contract-name_is omitted and exactly one contract is configured, Acton selects it automatically - if multiple contracts are configured, Acton prompts for the contract
- if
--walletis omitted and exactly one wallet is configured, Acton selects it automatically - if multiple wallets are configured, Acton prompts for the wallet
- if
--tonconnectis used, Acton skips local wallet selection and uses the wallet selected in the TON Connect page
Requirements And Limitations
- only
.tolksources can be verified - precompiled
.boccontracts cannot be verified - verification always uses TON testnet
- each verification payment contains the code hash in its comment
- one payment transaction can authorize only one verification attempt
- verification requires a funded local or TON Connect wallet when not using
--dry-run - if a contract with the same code hash is already verified, the backend can skip the final transaction
Cost And Backend Notes
- the ticket defines the minimum testnet payment amount
- if the verifier backend reports that the contract is already verified, Acton exits successfully without sending another transaction
- on successful verification, Acton prints a verifier link for the contract
Environment Overrides
The verification flow also supports backend/debug environment overrides:
ACTON_VERIFY_BACKENDoverrides the TON verifier backend
Backend override values are trimmed and normalized, including removal of a
trailing /.
Example: use a local verifier backend:
ACTON_VERIFY_BACKEND=http://127.0.0.1:8080 \
acton verify Counter --dry-runDry Run
--dry-run requests a ticket and prepares the source request. It
does not send a payment or upload sources.
TON Connect
Use --tonconnect to approve the verification payment through a TON
Connect wallet instead of a wallet configured in wallets.toml:
acton verify Counter --tonconnectActon prints a native TON Connect QR code and a tc:// link.
Retries And Failure Hints
- source upload is attempted up to 8 times total for transient transport failures and explicitly retryable verifier errors
- retry backoff grows from 1 second to 7 seconds between attempts
- backend error responses are printed with the response body when available
- only an explicitly retryable source storage failure permits reuse of the same payment
- other results after the payment claim consume the payment, including generic internal failures
Exit Status
0: Verification completed successfully, including successful dry runs and flows where the backend decides that no final transaction is needed.1: Compilation failed, the verifier rejected the request, wallet resolution failed, or the payment transaction failed.
Examples
-
Verify with a configured testnet wallet:
acton verify Counter --wallet deployer -
Check a deployed contract address before payment:
acton verify Counter --address EQDt7LL... -
Prepare verification without sending payment:
acton verify Counter --address EQDt7LL... --dry-run -
Verify with an explicit compiler version:
acton verify Counter --address EQDt7LL... --compiler-version 1.2.0 -
Retry an upload with an existing finalized payment:
acton verify Counter --payment-tx-hash '<transaction-hash>'
See Also
Last updated on