Appearance
CLI Reference
The @chaindaddy/cli package provides a command-line interface for managing token registrations and publishing Crown Apps. Manage wallets, discover reclaimable registrations, create tokens, check heartbeat health, export listing data, and drive the full app build → sign → submit pipeline from your terminal.
Installation
bash
npm install -g @chaindaddy/cliRequires Node.js 18+.
Global Options
| Flag | Description |
|---|---|
--json | Output as JSON (machine-readable, no colors). Honored when set on any parent command |
--non-interactive | Never prompt; fail when required input is missing (for CI and agents) |
--version | Display CLI version |
--help | Display help for any command |
Environment variables: CROWN_API_KEY (a cd_live_… API key) authenticates API calls non-interactively; CROWN_DEV_TOKEN overrides the stored developer credential.
Commands
wallet
Manage the local wallet keystore used for signing transactions.
bash
# Create a new wallet keypair (add --solana for a Solana keypair too)
chaindaddy wallet init
# Import an existing private key or mnemonic
chaindaddy wallet import
# Import a Solana keypair (base58 secret key)
chaindaddy wallet import --solana
# Register a Ledger hardware wallet
chaindaddy wallet add-hardware --path "44'/60'/0'/0/0"
# List stored wallet addresses
chaindaddy wallet listWallets are encrypted and stored locally. Hardware wallet entries store only the derivation path and address.
discover
Find inactive registrations available to reclaim.
bash
# List inactive registrations
chaindaddy discover
# Filter by chain
chaindaddy discover --chain arbitrum
# Filter by symbol
chaindaddy discover --symbol DOGE
# Filter by minimum market cap
chaindaddy discover --min-mcap 10000
# Limit results
chaindaddy discover --limit 20| Option | Description |
|---|---|
--inactive | Show inactive registrations (default behavior) |
--chain <chain> | Filter by chain identifier |
--symbol <symbol> | Filter by symbol name |
--min-mcap <amount> | Minimum market cap in USD |
--limit <n> | Max results (default: 50) |
reclaim
Reclaim an inactive registration.
bash
chaindaddy reclaim <crown_id>| Option | Description |
|---|---|
--wallet <address> | Wallet address to use |
--yes | Skip confirmation |
--dry-run | Simulate without broadcasting transactions |
Guides you through wallet selection, fee confirmation, and transaction submission.
status
View heartbeat health of registrations — a single token, everything a wallet owns, or an at-risk scan.
bash
# Single token
chaindaddy status --symbol DOGE --chain arbitrum
# Resolve a registration id, then show its heartbeat
chaindaddy status --crown <crown_id>
# Every registration a wallet owns, with heartbeat
chaindaddy status --wallet 0x1234...
# List at-risk / inactive registrations
chaindaddy status --at-risk --limit 100| Option | Description |
|---|---|
--symbol <symbol> | Token symbol (use with --chain) |
--chain <chain> | Chain key, e.g. arbitrum (required with --symbol) |
--crown <id> | Registration/token id to resolve, then show heartbeat |
--wallet <address> | Show every registration a wallet owns |
--at-risk | List registrations that are at-risk or inactive |
--limit <n> | Max ids to scan with --at-risk (default: 100) |
estimate
Get pricing estimates for token creation and registration claiming.
bash
# Estimate for a single chain
chaindaddy estimate --symbol DOGE --chains arbitrum
# Estimate for multiple chains
chaindaddy estimate --chains arbitrum,solana,base
# Estimate with bundle pricing
chaindaddy estimate --bundle multi-chain-3| Option | Description |
|---|---|
--symbol <symbol> | Token symbol |
--chains <chains> | Target chains, comma-separated (default: arbitrum) |
--bundle <type> | Bundle type: multi-chain-3, multi-chain-5, all-chain |
--wallet <address> | Wallet address for the fee check |
create
Create a new token and mint its registration — interactive wizard, or fully flag-driven for scripting.
bash
# Interactive wizard
chaindaddy create
# Non-interactive
chaindaddy create --symbol MTK --name "My Token" --chains arbitrum,base \
--supply 1000000000 --decimals 18 --mintable --yes
# Batch mode from a JSON spec file
chaindaddy create --batch tokens.json| Option | Description |
|---|---|
--symbol <symbol> / --name <name> | Token symbol and name (skip prompts) |
--chains <chains> | Target chains, comma-separated |
--supply <supply> | Total supply (default: 1000000000) |
--decimals <decimals> | Decimals (default: 18) |
--mintable / --burnable | Token features |
--wallet <address> | Wallet address to use |
--yes | Skip confirmation (required for non-interactive) |
--dry-run | Simulate without broadcasting transactions |
--batch <file> | Read token specs from a JSON file |
profile
Manage token page profiles.
bash
# Set or update profile fields
chaindaddy profile set --website https://example.com --twitter example \
--description "The example token"profile set options: --description, --category, --tags, --website, --twitter, --discord, --telegram, --logo.
A profile view subcommand exists but is not wired to the API yet — use the token page or chaindaddy status in the meantime.
listings
Prepare listing submissions for third-party aggregator platforms.
bash
# List supported platforms and their submission URLs
chaindaddy listings platforms
# Check how submission-ready a token is for a platform
chaindaddy listings readiness --symbol DOGE --platform cmc
# Build a submission template (real URL + field checklist)
chaindaddy listings export --symbol DOGE --platform coingecko --out ./doge-cg.json| Option | Description |
|---|---|
--symbol <symbol> | Token symbol |
--crown <id> | Registration/token id to resolve to a symbol |
--platform <id> | Platform id: cmc, coingecko, dexscreener (default: cmc) |
--out <file> | Write the template JSON to a file instead of stdout (export only) |
clone
Expand an existing token to additional chains.
bash
chaindaddy clone <symbol>| Option | Description |
|---|---|
--supply <supply> / --decimals <decimals> | Override supply/decimals for new chains |
--wallet <address> | Wallet address |
--yes | Skip confirmation |
--dry-run | Simulate without broadcasting transactions |
Shows current chain presence, available target chains, pricing breakdown, and handles the deployment transaction.
app
Build, sign, and submit Crown Apps (widgets and headless runners). See Developer Getting Started for the full walkthrough.
| Command | Description |
|---|---|
app login | Authenticate the CLI with a developer account (wallet challenge → API key) |
app whoami | Show the active developer credentials |
app key create | Create a new developer API key — returned exactly once |
app key list | List your API keys |
app key rotate <keyId> | Create a new key and schedule the old one for expiry in 24h |
app key revoke <keyId> | Immediately deactivate an API key |
app init [template] [dir] | Scaffold a new app project: widget, headless, or full |
app validate [dir] | Validate capp.json against the manifest schema |
app build [dir] | Bundle a widget with esbuild (ESM, external react/react-dom) |
app scan [target] | Run the platform security/size scanner on a bundle or .crown package |
app pack [dir] | Produce a .crown package from the manifest, bundle, and assets |
app sign <package> | Sign a .crown package with your developer API key (HMAC-SHA256) |
app verify <package> | Verify a .crown package: structure, hashes, and (with --check-signature) HMAC |
app inspect <package> | Show the contents and metadata of a .crown package |
app submit <package> | Upload a signed .crown package for review (--watch streams the scan log) |
app status <submissionId> | Get the current status of a submission |
app logs <submissionId> | Fetch or stream the scan log for a submission |
app list [apps|submissions] | List your apps or submissions |
app request-publish <submissionId> | Move a pending submission to the human-review queue |
app tokens | List tokens you have claimed (install targets for dev preview) |
app install <appId> | Install (enable) an app on one of your tokens for dev preview |
app uninstall <appId> | Uninstall (disable) an app from a token |
app preview <appId> | Print the URL to preview an installed app on a token page |
Exit codes (stable, for agents and CI): 0 success, 1 user error, 2 system error, 3 validation failed, 4 auth error, 5 server error.
Quick Start
bash
# 1. Install
npm install -g @chaindaddy/cli
# 2. Create a wallet
chaindaddy wallet init
# 3. Find reclaimable symbols
chaindaddy discover --chain arbitrum
# 4. Estimate costs
chaindaddy estimate --symbol DOGE --chains arbitrum
# 5. Create a token
chaindaddy createJSON Output
All commands support --json for scripting and automation:
bash
# Get machine-readable output
chaindaddy status --wallet 0x1234... --json | jq '.'
# Use in scripts
EXPIRED=$(chaindaddy discover --chain arbitrum --json | jq -r '.crowns[0].crown_id')
chaindaddy reclaim "$EXPIRED" --yes