Transaction workflows
Read the actual schemas with npm run tools. The live server may add tools over time; preparation tool names below are verified for the ZetaChain server.
EVM
- Native ZETA:
prepare_native_transfertakesfrom,to, and decimal ZETAamount. - ERC-20:
prepare_erc20_transfertakesfrom,tokenAddress,to, and a human-readableamountusing the token's own decimals. - Contract call:
prepare_contract_writetakesfrom,contractAddress,abi,functionName, optionalargsandvalueEther. - Deployment:
prepare_transactiontakesfrom, creation bytecode indata, and optionalvalueWei; omitto.
Save the unwrapped JSON result to prepared.json, then review and sign it with npm run kit -- sign prepared.json signed.json or your external wallet. npm run kit -- broadcast signed.json submits the signed EVM payload. Inspect the receipt before declaring success.
Contract verification is separate from deployment. Use the explorer's verification form, or inspect the current verification tool schema before calling it. Supply the exact compiler, source, settings and constructor arguments used to produce the deployed bytecode.
Cosmos staking
cosmos_prepare_delegate takes delegator (zeta1…), validator (zetavaloper1…), amount as an integer string in azeta, and denom: "azeta". One ZETA is 1000000000000000000 azeta.
The prepared result supplies signing context and messages. Sign externally with a Cosmos wallet that supports ZetaChain. The local kit signer supports EVM only. Put the resulting signed base64 bytes in an argument file:
{ "txBytes": "YOUR_SIGNED_BASE64_BYTES" }
Then call npm run kit -- call cosmos_broadcast_signed_tx signed-cosmos.json. It requires interactive EXECUTE confirmation. Query the resulting transaction to confirm inclusion.
The same prepare/external-sign/broadcast pattern applies to cosmos_prepare_send, cosmos_prepare_undelegate, and cosmos_prepare_claim_rewards; inspect each input schema. Never assume staking uses the same address format or amount units as EVM transfer preparation.