Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

wallet

Manage your Zora wallet. Requires a wallet configured via setup or ZORA_PRIVATE_KEY.

zora wallet [command]

Subcommands

SubcommandDescription
wallet infoShow wallet address and storage location
wallet exportPrint the raw private key to stdout
wallet configureCreate or import a wallet
wallet connectConnect an existing Zora account (auto-discovers its smart wallet)

Examples

Show wallet info

npx @zoralabs/cli wallet info

When 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.json

For an EOA-only wallet (no smart wallet), it shows a single address:

  Address: 0xb4a06BdD9e0E60FFE22E4E7590842bfD2069034E
  Source:  ~/.config/zora/wallet.json

When 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 --json

address 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 export

By default this prints a security warning and prompts for confirmation before printing the key.

Options

FlagDescription
--forceSkip the confirmation prompt
--yesSkip the interactive prompt and execute directly

Export without prompting

npx @zoralabs/cli wallet export --force

Create or import a wallet

npx @zoralabs/cli wallet configure

Prompts 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

FlagDescription
--createCreate a new wallet without prompting
--forceOverwrite an existing wallet without prompting
--yesSkip the interactive prompt and execute directly

Connect an existing account

npx @zoralabs/cli wallet connect

Connect 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

FlagDescription
--key <key>Private key (hex) — alternative to the positional argument or prompt
--smart-wallet <address>Smart wallet (account) address — overrides on-chain auto-discovery
--forceOverwrite an already-configured wallet without prompting
--yesSkip interactive prompts (requires the key as an argument)
--jsonMachine-readable JSON output

JSON output

npx @zoralabs/cli wallet connect --key 0x... --yes --json

discovered 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
}