CLI Reference
The Tenzro CLI (tenzro) provides full control over node operations, wallet management, model serving, staking, governance, identity, payments, agents, and more. All commands communicate with a running tenzro-node via JSON-RPC.
Installation
# macOS / Linux
curl -sSL https://get.tenzro.network | sh
# Or build from source
cargo install --path crates/tenzro-cli
# Verify installation
tenzro versionGlobal Options
tenzro [OPTIONS] <COMMAND>
Options:
-v, --verbose Enable verbose logging
--format <text|json> Output format (default: text)
-h, --help Show help
-V, --version Show versionCommand Groups
| Command | Description |
|---|---|
| join | One-click network participation |
| node | Node management |
| wallet | Wallet operations |
| model | Model management |
| stake | Staking operations |
| governance | On-chain governance |
| provider | Provider management |
| schedule | Provider availability scheduling |
| inference | Inference requests |
| identity | TDIP identity management |
| payment | Payment protocols (MPP / x402) |
| agent | AI agent operations |
| canton | Canton/DAML integration |
| escrow | Escrow and payment channels |
| task | Task marketplace |
| marketplace | Agent marketplace |
| skill | Skill registry |
| tool | Tool registry (MCP servers) |
| token | Token management |
| contract | Contract deployment |
| bridge | Cross-chain bridge |
| debridge | deBridge DLN cross-chain |
| lifi | LI.FI bridge aggregator |
| nft | NFT operations (ERC-721/1155) |
| compliance | ERC-3643 compliance |
| crosschain | ERC-7802 cross-chain tokens |
| events | Event streaming |
| crypto | Cryptographic operations |
| tee | TEE operations |
| zk | Zero-knowledge proofs |
| custody | MPC wallet custody |
| app | Application management |
| vrf | VRF — RFC 9381 ECVRF-EDWARDS25519-SHA512-TAI |
| cortex | Cortex recurrent-depth reasoning |
| ap2 | AP2 (Agent Payments Protocol) |
| erc8004 / 8004 | ERC-8004 Trustless Agents Registry |
| wormhole | Wormhole cross-chain (19-guardian VAAs) |
| cct | Chainlink CCT v1.6+ pool inspection |
| train | Tenzro Train — decentralized verifiable training |
| embed-text | Text embeddings (Qwen3-Embedding, EmbeddingGemma, BGE-M3) |
| segment | Image segmentation (SAM 3, SAM 2, EdgeSAM, MobileSAM) |
| detect | Object detection (RF-DETR, D-FINE) |
| transcribe | Audio ASR (Moonshine, Distil-Whisper, Parakeet, Canary) |
| embed-video | Video embeddings |
| auth / aap | OAuth 2.1 + DPoP + RAR (AAP layering) |
| x402 | Coinbase HTTP-402 micropayment protocol |
| reputation | Provider reputation score (0-1000) |
| approval | Pending approvals from delegated machines |
| dispute | Channel-dispute inspection |
| provenance | C2PA-style content provenance manifests (EU AI Act §50(2)) |
Standalone Commands
| Command | Description |
|---|---|
| chat | Interactive REPL for AI model chat with session history |
| hardware | Detect and display hardware profile (CPU, GPU, TEE) |
| set-username | Set your Tenzro username |
| faucet | Request testnet TNZO tokens (100 TNZO, 24h cooldown) |
| info | Show network information |
| version | Show version information |
Common Examples
Wallet Operations
# Create a new wallet
tenzro wallet create --name my-wallet
# Import an existing identity (provisions wallet)
tenzro wallet import --did "did:tenzro:human:abc123"
# Check balance (calls eth_getBalance)
tenzro wallet balance
# Send TNZO to another address
tenzro wallet send --to 0xRecipient... --amount 10.0
# List all accounts
tenzro wallet listModel Serving
# List available models
tenzro model list
# Download a model from HuggingFace
tenzro model download gemma3-270m
# Serve a model (registers as provider + starts serving)
tenzro model serve gemma3-270m
# Interactive chat
tenzro chat gemma3-270m
# Stop serving
tenzro model stop gemma3-270mIdentity and Payments
# Register a human identity
tenzro identity register --type human --name "Alice"
# Register a machine identity
tenzro identity register --type machine --name "trading-bot"
# Create a payment challenge (MPP or x402)
tenzro payment challenge --protocol mpp --amount 1000000000000000000
# Pay via MPP
tenzro payment pay --protocol mpp --challenge-id ch_123...Staking and Governance
# Stake TNZO as a validator
tenzro stake deposit --amount 10000 --role validator
# Check voting power
tenzro stake info
# List governance proposals
tenzro governance list
# Vote on a proposal
tenzro governance vote --proposal-id prop_001 --vote yesAgent Operations
# Register a new agent
tenzro agent register --name "research-agent"
# List agent templates in the marketplace
tenzro marketplace list
# Spawn an agent from a template
tenzro agent spawn-template --template-id tmpl_001
# Send a message to another agent
tenzro agent send --to agent_002 --message "Analyze this data"x402 and AP2 Payments
# List supported x402 scheme adapters (exact, permit2)
tenzro x402 list-schemes
# Pay an x402 challenge
tenzro x402 pay --challenge-id ch_x402_123 --scheme exact
# Validate an AP2 IntentMandate / CartMandate pair (TDIP + SpendingPolicy ceilings)
tenzro ap2 validate --intent intent.json --cart cart.jsonERC-8004 Trustless Agents
# Derive an ERC-8004 agentId from a DID (keccak256(utf8(did)))
tenzro 8004 derive-id --did "did:tenzro:machine:alice:bot-01"
# Register an agent on the native registry (precompile 0x101a)
tenzro 8004 register --did "did:tenzro:machine:alice:bot-01" --metadata-uri ipfs://...
# Submit peer-to-peer feedback (precompile 0x101b)
tenzro 8004 submit-feedback --target-id 0x... --score 95 --comment "Reliable inference"
# Request and submit work-attestation validation (precompile 0x101c)
tenzro 8004 request-validation --task-id task_001 --validators 0xv1,0xv2,0xv3AAP / OAuth Auth
# Refresh an OAuth 2.1 access token (DPoP-bound)
tenzro auth refresh --refresh-token rt_abc...
# AAP is the agent-facing alias — same RPCs
tenzro aap refresh --refresh-token rt_abc...
# Inspect the OAuth discovery document (RFC 8414)
tenzro auth discovery
# Introspect an access token (RFC 7662)
tenzro auth introspect --token at_xyz...Approvals, Disputes, Reputation
# List pending out-of-scope approvals for a controller
tenzro approval list --controller-did "did:tenzro:human:alice"
# Approve or deny a pending request
tenzro approval decide --request-id req_001 --decision approve
# Inspect a micropayment-channel dispute
tenzro dispute status --dispute-id dispute_001
# List all disputes for a channel
tenzro dispute list-by-channel --channel-id chan_001
# Read a provider's current reputation score (0-1000)
tenzro reputation get --provider 0xProvider...Provenance and Streaming Inference
# Resolve a C2PA-style provenance manifest by SHA-256 content hash
# (EU AI Act §50(2) machine-readable synthetic-content marker)
tenzro provenance get --content-hash 0xabcd...
# Stream chat completions token-by-token
tenzro inference stream --model gemma3-270m --prompt "Explain HotStuff-2"
# Stream with per-token billing via a micropayment channel
tenzro inference stream --model gemma3-270m \
--prompt "Explain HotStuff-2" \
--channel chan_001Output Formats
All commands support --format json for machine-readable output:
# JSON output for scripting
tenzro wallet balance --format json
# Pipe to jq
tenzro model list --format json | jq '.models[].name'RPC Endpoint
By default, the CLI connects to http://127.0.0.1:8545. Override with the --rpc flag:
# Connect to testnet
tenzro --rpc https://rpc.tenzro.network wallet balance
# Connect to local node on custom port
tenzro --rpc http://127.0.0.1:9545 info