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

coin

Create and manage coins (posts). Requires a wallet and an API key. Coin operations deploy from your smart wallet when one is configured, otherwise your EOA.

zora coin [command]

Subcommands

SubcommandDescription
coin createCreate a coin from a post
coin editEdit a post's image and/or description
coin hideHide a coin from your holdings and profile
coin unhideUnhide a previously hidden coin

coin create

Create a coin from a post — upload an image plus name/symbol/description and deploy a content coin on Base. The image and metadata are uploaded to Zora's IPFS storage.

zora coin create [options]

Run without flags to be prompted for each field. In --json (non-interactive) mode, the required fields must be passed as flags — there are no prompts.

Options

FlagDescription
--name <name>Coin name — required
--symbol <symbol>Coin symbol (ticker) — required (2–20 letters/numbers, no spaces or punctuation)
--image <path>Path to a local image file to upload — required (PNG, JPEG, JPG, GIF, SVG)
--description <text>Coin description (optional)
--currency <currency>Backing currency: ZORA, ETH, CREATOR_COIN, CREATOR_COIN_OR_ZORA. Prompts if omitted (defaults to ZORA in --json mode)
--yesSkip the confirmation prompt and create directly
--jsonMachine-readable JSON output

Examples

Interactive

npx @zoralabs/cli coin create

Prompts for name, symbol, description, image path, and currency, then shows a summary to confirm before deploying.

Non-interactive for scripting

npx @zoralabs/cli coin create \
  --name "my post" \
  --symbol MYPOST \
  --image ./post.png \
  --currency ZORA \
  --yes \
  --json

JSON output

{
  "action": "create",
  "name": "my post",
  "symbol": "MYPOST",
  "currency": "ZORA",
  "address": "0x1234...",
  "creator": "0xabcd...",
  "walletType": "smart_wallet",
  "tx": "0x789abc..."
}

address is the new coin's contract address and tx is the deploy transaction. walletType is smart_wallet or eoa depending on which wallet deployed it.

coin edit

Edit an existing post's image and/or description (caption), keeping its name and ticker fixed. This mirrors the "Edit post" action in the Zora app: the new metadata is uploaded to IPFS and the coin's on-chain contractURI is pointed at it. Only the coin's creator can edit it.

zora coin edit <identifier> [options]

<identifier> is a coin address, or a creator/trend name. Pass --image, --description, or both — whatever is omitted is preserved. With neither flag, the command prompts for a new caption (pre-filled with the current one).

Options

FlagDescription
--description <text>New description (caption)
--image <path>Path to a new local image file to upload (PNG, JPEG, JPG, GIF, SVG)
--yesSkip the confirmation prompt and edit directly
--jsonMachine-readable JSON output

Examples

Change the caption

npx @zoralabs/cli coin edit 0x23dd...dbaa --description "new caption" --json

Change the image

npx @zoralabs/cli coin edit 0x23dd...dbaa --image ./new.png --json

JSON output

{
  "action": "edit",
  "coin": "0x23dd...dbaa",
  "name": "My Post",
  "symbol": "MYPOST",
  "edited": ["image", "description"],
  "tokenUri": "ipfs://bafy...",
  "tx": "0x85a8...",
  "walletType": "smart_wallet"
}

edited lists which fields changed, tokenUri is the new metadata URI on IPFS, and tx is the on-chain update transaction.

coin hide

Hide a coin (e.g. an unwanted airdrop or spam) from your holdings and profile across Zora. Hiding is a personal preference scoped to your account — it doesn't move or burn the coin, and there's no holding requirement, so any coin can be hidden. This applies the same hide as the Zora app's "Hide post" action.

zora coin hide <identifier> [options]

<identifier> is a coin address (preferred for spam that may not be indexed) or a creator/trend name.

Options

FlagDescription
--chain <id>Chain id the coin is on (default: 8453, Base mainnet)
--jsonMachine-readable JSON output

Example

npx @zoralabs/cli coin hide 0x1fa8...81b6 --json
{
  "action": "hide",
  "coin": "0x1fa8...81b6",
  "hidden": true,
  "profileId": "your-profile-id"
}

coin unhide

Reverse a previous hide, restoring the coin to your holdings and profile.

zora coin unhide <identifier> [options]

Takes the same <identifier> and --chain / --json options as coin hide.

Example

npx @zoralabs/cli coin unhide 0x1fa8...81b6 --json
{
  "action": "unhide",
  "coin": "0x1fa8...81b6",
  "hidden": false,
  "profileId": "your-profile-id"
}