Skip to main content
Mainnet deployment is irreversible and requires gas, trusted operational signers, verified chain data, and an explicit owner/fee-recipient policy. Do not deploy from a personal hot wallet.
1

Create and verify the manifest

Copy the manifest template, set the chain data, and independently confirm RPC, explorer, native asset, and external venue addresses.
2

Run local validation

Compile contracts, run protocol tests, then run npm run preflight -- <manifest-name>. Preflight checks the live chain ID, canonical quote token metadata, external venue bytecode, operational addresses, and deployer gas balance when configured.
3

Choose production controls

Set the owner and protocol fee recipient to documented multisig or governance addresses. Fund a dedicated deployer with only the required gas.
4

Deploy

Run npm run deploy -- <manifest-name>. Mainnet additionally requires KOVA_CONFIRM_MAINNET to exactly match the configured chain name.
5

Verify and apply

Verify source code on the explorer, confirm runtime bytecode and ownership, then run npm run deployment:apply -- <manifest-name> to publish addresses into the manifest.
6

Index and release

Start event indexing from the deployment block, run swap and liquidity smoke tests, publish addresses, and enable the network in the interface.
“All EVM chains” means the same deployment pipeline can target compatible networks. Each actual mainnet launch remains a separate verified transaction set.