circuit wallet namespace manages an encrypted local keystore that holds
the local keys the embedded circuit run uses to sign. The keystore lives at ~/.circuit/local/keystore by default,
sealed with AES-256-GCM under a key derived (HKDF-SHA256) from a local
identity the CLI generates on first use - there is no keystore password.
Override the location with --keystore <path>.
Wallet families are evm and solana.
Select a wallet
Use--wallet <name-or-address> for run, unwind, wallet delete, and wallet export. Names match without case; EVM addresses match without case; Solana addresses match exactly. An exact address takes precedence over a matching name.
Embedded execution and wallet management select from the local keystore. Hosted execution selects from your Circuit account and never reads that keystore. Dry run accepts a local name or any valid address.
List Wallets
ADDRESS\tVM_FAMILY\tNAME) so the output is
pipe-friendly. Use --json for a structured response.
If no keystore exists yet, this exits 0 with an empty list.
Add Wallet
--generate evm|solana to create a fresh keypair from OS entropy.
To import a key, use circuit wallet add --name "Trading wallet" --vm-family evm --private-key-prompt. Paste the key at the hidden prompt and press Enter. For direct input, supply --private-key <key> instead of --private-key-prompt.
EVM keys accept 64 hex characters with or without 0x. Solana keys accept base58, hex, or a JSON byte array containing a 32-byte seed or 64-byte secret key.
Generation and import flags cannot be combined.
--name is required. Names must be nonempty, have no surrounding whitespace, and cannot start with Polymarket - in any letter case. Names must be unique without case within the local keystore or hosted account.
The first circuit wallet add creates the local identity and keystore
automatically - no password, no login, no account. Subsequent adds seal into
the same keystore.
Follow the command input and secret handling rules when supplying private keys.
Delete Wallet
--yes.
Export Wallet
0x-prefixed hex for EVM, base58 for Solana. Requires --yes; --json is not supported.
Use 2> only when you intend to save the key, and protect the output file.
Keystore file location
circuit wallet honors two paths to override the default
~/.circuit/local/keystore:
The keystore file is always written with
0600 permissions (owner read/write
only); circuit wallet refuses to read a keystore that has been chmod’d
looser than that.