Configuration
The Zora CLI stores configuration in ~/.config/zora/:
| File | Contents | Permissions |
|---|---|---|
config.json | API key, anonymous analytics ID, DM-check timestamp | 0600 |
wallet.json | Private key (plain text), smart wallet & agent metadata | 0600 |
budget.json | Global spending budget cap + ledger | 0600 |
session.json | Cached Privy session used by agent and DM commands | 0600 |
The private key in wallet.json is stored in plain text — it is protected by file permissions (0600, owner read/write only), not encryption. The files are versioned (version: 1) so the CLI can validate and migrate them. budget.json is created the first time you run zora agent budget set.
On Windows, the config directory is %APPDATA%\zora\ or ~\AppData\Roaming\zora\.
API Key
An API key is optional. Without one, read-only commands work but may be rate-limited.
Configure via CLI
npx @zoralabs/cli auth configure
# Prompts for your API key and saves to config.jsonConfigure via Environment Variable
export ZORA_API_KEY=your-key-hereThe environment variable takes precedence over the config file.
Get an API Key
Generate one at zora.co/settings/developer.
Wallet
Trading commands (buy, sell, send, balance) require a wallet.
Create via CLI
npx @zoralabs/cli setup --createImport via CLI
npx @zoralabs/cli setup
# Interactive prompt to paste a private keyConfigure via Environment Variable
export ZORA_PRIVATE_KEY=0x...The environment variable takes precedence over the wallet file. This is recommended for CI/CD, containers, and agent runtimes.
All Environment Variables
| Variable | Description |
|---|---|
ZORA_API_KEY | API key (overrides config file) |
ZORA_PRIVATE_KEY | Wallet private key (overrides wallet file) |
ZORA_API_TARGET | Override API base URL (for dev/staging) |
ZORA_PROFILE_API | Override the profile/messaging API base URL (for dev/staging) |
ZORA_SMART_WALLET_ADDRESS | Smart wallet address to use for trading/posting when not recorded in the wallet file |
ZORA_DM_NOTIFY | Set to always to bypass the throttle on the new-DM notification shown after commands |
ZORA_NO_ANALYTICS | Set to 1 to disable analytics |
DO_NOT_TRACK | Set to 1 to disable analytics |
NO_COLOR | Set to disable colored terminal output |
Analytics
The CLI collects anonymous usage analytics via PostHog. No personal data is collected — only command names, success/failure status, and CLI version.
Opt out by setting either:
export ZORA_NO_ANALYTICS=1
# or
export DO_NOT_TRACK=1Agent Configuration
For AI agents and automated environments, configure everything via environment variables to avoid interactive prompts:
export ZORA_PRIVATE_KEY=0x...
export ZORA_API_KEY=your-key-here
export ZORA_NO_ANALYTICS=1Then use --json and --yes flags on all commands:
npx @zoralabs/cli balance --json
npx @zoralabs/cli buy 0x... --eth 0.01 --yes --json