wallet
Manage your Zora wallet. Requires a wallet configured via setup or ZORA_PRIVATE_KEY.
zora wallet [command]Subcommands
| Subcommand | Description |
|---|---|
wallet info | Show wallet address and storage location |
wallet export | Print the raw private key to stdout |
wallet configure | Create or import a wallet |
wallet connect | Connect an existing Zora account (auto-discovers its smart wallet) |
Examples
Show wallet info
npx @zoralabs/cli wallet infoWhen a smart wallet is configured, info leads with it and shows the owning EOA below:
Smart wallet: 0x1111111111111111111111111111111111111111
Owner (EOA): 0xb4a06BdD9e0E60FFE22E4E7590842bfD2069034E
Source: ~/.config/zora/wallet.jsonFor an EOA-only wallet (no smart wallet), it shows a single address:
Address: 0xb4a06BdD9e0E60FFE22E4E7590842bfD2069034E
Source: ~/.config/zora/wallet.jsonWhen the wallet comes from the ZORA_PRIVATE_KEY environment variable, the source reads env (ZORA_PRIVATE_KEY) instead of the file path.
JSON output
npx @zoralabs/cli wallet info --jsonaddress is the user-facing wallet — the smart wallet when one is configured, otherwise the EOA. smartWalletAddress is null when no smart wallet is set, and ownerAddress is always the EOA:
{
"address": "0x1111111111111111111111111111111111111111",
"smartWalletAddress": "0x1111111111111111111111111111111111111111",
"ownerAddress": "0xb4a06BdD9e0E60FFE22E4E7590842bfD2069034E",
"source": "~/.config/zora/wallet.json"
}Export private key
npx @zoralabs/cli wallet exportBy default this prints a security warning and prompts for confirmation before printing the key.
Options
| Flag | Description |
|---|---|
--force | Skip the confirmation prompt |
--yes | Skip the interactive prompt and execute directly |
Export without prompting
npx @zoralabs/cli wallet export --forceCreate or import a wallet
npx @zoralabs/cli wallet configurePrompts to create a new wallet or import an existing private key. If ZORA_PRIVATE_KEY is set, that wallet is used and the command reports the derived address.
Options
| Flag | Description |
|---|---|
--create | Create a new wallet without prompting |
--force | Overwrite an existing wallet without prompting |
--yes | Skip the interactive prompt and execute directly |
Connect an existing account
npx @zoralabs/cli wallet connectConnect a Zora account you already have (created on the web or mobile app) so the CLI can act as it. Paste the private key that controls the account — export it from Zora's wallet settings (Privy). The CLI derives the owner EOA, auto-discovers the account's smart wallet on-chain (no address to look up), verifies the key owns it, and saves both to ~/.config/zora/wallet.json. After connecting, buy / sell / coin create and the social commands act as your real account.
This is the fix for "found my EOA but not my smart wallet": setup and wallet configure (interactive import) only store the bare EOA, so they trade from the key directly rather than your Zora account. See wallet modes for how the connected account maps to smart wallet mode.
Options
| Flag | Description |
|---|---|
--key <key> | Private key (hex) — alternative to the positional argument or prompt |
--smart-wallet <address> | Smart wallet (account) address — overrides on-chain auto-discovery |
--force | Overwrite an already-configured wallet without prompting |
--yes | Skip interactive prompts (requires the key as an argument) |
--json | Machine-readable JSON output |
JSON output
npx @zoralabs/cli wallet connect --key 0x... --yes --jsondiscovered is true when the smart wallet was found by on-chain prediction, and false when you supplied it via --smart-wallet:
{
"smartWalletAddress": "0x1111111111111111111111111111111111111111",
"ownerAddress": "0xb4a06BdD9e0E60FFE22E4E7590842bfD2069034E",
"path": "~/.config/zora/wallet.json",
"discovered": true
}