Prepare a Wallet for Uploads
Use this guide when you need a wallet that can pay for uploads.
This guide covers the shared wallet setup concerns across the SDK, CLI, and direct Rust interfaces.
It explains:
what local development gives you automatically
what changes on Arbitrum Sepolia and Arbitrum One
which tools need which wallet input
how to check the wallet, token balance, and gas balance before you upload
If you want to understand public addresses and DataMap handling rather than upload wallets, see Keys, Addresses, and DataMaps.
Start with your environment
The practical difference between environments is:
Local devnet
Wallet and balances are provisioned for you
Arbitrum Sepolia
Use a test wallet funded with test ANT and test gas
Arbitrum One
Use a production wallet funded with real ANT and gas on the selected EVM network
If you are only building read-only features, you do not need any of this wallet setup.
Prerequisites
antdorantinstalled (see Start the Local Daemon for daemon setup)A hex-encoded key you already control for payments and uploads when you are not using the local devnet
Steps
1. Know which tools need which wallet input
The toolchain expects:
antd->AUTONOMI_WALLET_KEYant->SECRET_KEYant-core-> an attachedWalletin Rust
If you do not want the daemon to hold the wallet key, use the external-signer flow instead.
2. Configure a wallet for antd
For direct-wallet uploads on Arbitrum Sepolia or Arbitrum One, start antd with both the wallet key and the EVM payment settings.
From the ant-sdk/antd build directory, run:
If antd is already on your PATH, replace ./target/release/antd with antd.
3. Configure a wallet for ant
The direct-network CLI uses SECRET_KEY.
4. Verify the active wallet
5. Keep high-value keys outside the daemon when needed
If you do not want antd to hold a wallet key, run it without AUTONOMI_WALLET_KEY and use the external-signer flow instead.
From the ant-sdk/antd build directory, run:
If antd is already on your PATH, replace ./target/release/antd with antd.
Use EVM_PAYMENT_VAULT_ADDRESS for both wave-batch and Merkle external-signer uploads in this configuration.
That keeps signing outside the daemon and pushes transaction submission into your wallet or signer integration.
Verify it worked
You are correctly configured when the chosen tool reports the expected wallet address and balance, and write operations stop returning wallet-not-configured errors.
Common errors
503 Service Unavailable: antd is running, but the wallet key is missing for direct-wallet writes or the EVM payment settings are missing for external-signer uploads.
Unsupported local wallet command: ant wallet with --evm-network local requires a devnet manifest.
Invalid key format: Check for missing hex prefix, whitespace, or truncated secrets.
Next steps
Last updated