CLI Reference
The tenzro-cli tool provides command-line access to all Tenzro Network functionality including node management, wallets, models, staking, governance, and more.
Installation
# Install from crates.io
cargo install tenzro-cli
# Verify installation
tenzro-cli --version
Global Options
tenzro-cli [OPTIONS] <COMMAND>
OPTIONS:
--rpc-url <URL> RPC endpoint [default: http://127.0.0.1:8545]
--output <FORMAT> Output format: text|json [default: text]
--verbose Enable verbose logging
-h, --help Print help
-V, --version Print version
Commands
node - Node Management
# Start node
tenzro-cli node start \
--role validator \
--listen-addr /ip4/0.0.0.0/tcp/9000 \
--rpc-addr 127.0.0.1:8545 \
--data-dir ~/.tenzro
# Check node status
tenzro-cli node status
# Stop node
tenzro-cli node stop
wallet - Wallet Operations
# Create wallet
tenzro-cli wallet create --name my-wallet
# List wallets
tenzro-cli wallet list
# Check balance
tenzro-cli wallet balance
tenzro-cli wallet balance --asset USDC
# Send transaction
tenzro-cli wallet send \
--to tenzro1def...uvw \
--amount 10 \
--asset TNZO
# Import wallet
tenzro-cli wallet import --keystore keystore.json
model - AI Models
# List models
tenzro-cli model list
tenzro-cli model list --category llm
tenzro-cli model list --modality text
# Get model info
tenzro-cli model info llama-3-70b
# Download model (for providers)
tenzro-cli model download llama-3-70b --path ./models
# Serve model (requires provider registration)
tenzro-cli model serve llama-3-70b --port 8000
# Stop serving
tenzro-cli model stop llama-3-70b
stake - Staking Operations
# Stake TNZO
tenzro-cli stake deposit --amount 1000
# Withdraw stake
tenzro-cli stake withdraw --amount 500
# Check staking info
tenzro-cli stake info
governance - Governance
# List proposals
tenzro-cli governance list
# Vote on proposal
tenzro-cli governance vote \
--proposal-id 5 \
--vote yes
# Get network stats
tenzro-cli governance stats
provider - Provider Registration
# Register as model provider
tenzro-cli provider register \
--type model \
--models llama-3-70b,gpt-4
# Register as TEE provider
tenzro-cli provider register \
--type tee \
--tee-type intel-tdx \
--generate-attestation
# Check provider status
tenzro-cli provider status
# List served models
tenzro-cli provider models
inference - AI Inference
# Request inference
tenzro-cli inference \
--model llama-3-70b \
--prompt "What is the capital of France?" \
--max-tokens 100
# Check inference history
tenzro-cli inference history
# Get inference result
tenzro-cli inference result --request-id req_abc123
identity - Identity Management
# Register human identity
tenzro-cli identity register \
--type human \
--display-name "Alice"
# Register machine identity
tenzro-cli identity register \
--type machine \
--controller did:tenzro:human:550e8400... \
--capabilities inference,trading
# Resolve DID
tenzro-cli identity resolve did:tenzro:human:550e8400...
# List identities
tenzro-cli identity list
tenzro-cli identity list --type machine
# Export DID document
tenzro-cli identity document did:tenzro:human:550e8400...
# Add credential
tenzro-cli identity add-credential \
--did did:tenzro:human:550e8400... \
--type KycCredential \
--issuer did:tenzro:human:issuer-uuid \
--data '{"kyc_tier": 2}'
# Add service
tenzro-cli identity add-service \
--did did:tenzro:human:550e8400... \
--service-id wallet \
--service-type WalletService \
--endpoint https://wallet.tenzro.network/api
payment - Payment Operations
# Create payment challenge
tenzro-cli payment challenge \
--protocol mpp \
--amount 0.05 \
--currency TNZO \
--recipient tenzro1abc...xyz
# Pay resource
tenzro-cli payment pay \
--challenge-id chal_abc123 \
--payer did:tenzro:human:550e8400...
# List sessions
tenzro-cli payment sessions
# Get receipt
tenzro-cli payment receipt --receipt-id rcpt_xyz789
# Get payment info
tenzro-cli payment info --challenge-id chal_abc123
info - Network Information
# Get network info
tenzro-cli info
# Output:
# Node Version: 0.1.0
# Chain ID: 1337
# Block Height: 1207
# Peer Count: 25
# Network Role: Validator
# Sync Status: Synced
Output Formats
Text Output (Default)
tenzro-cli wallet balance
Balance: 1000.5 TNZO
Address: tenzro1abc...xyz
JSON Output
tenzro-cli wallet balance --output json
{
"balance": "1000.5",
"asset": "TNZO",
"address": "tenzro1abc...xyz",
"timestamp": "2026-03-20T12:30:45Z"
}
Configuration
CLI configuration is stored in ~/.tenzro/config.toml:
# ~/.tenzro/config.toml
[rpc]
url = "http://127.0.0.1:8545"
timeout_ms = 30000
[wallet]
default = "my-wallet"
keystore_dir = "~/.tenzro/keystores"
[output]
format = "text"
verbose = false
Environment Variables
# Set RPC URL
export TENZRO_RPC_URL=http://127.0.0.1:8545
# Set default wallet
export TENZRO_WALLET=my-wallet
# Enable verbose logging
export TENZRO_VERBOSE=1
# Set output format
export TENZRO_OUTPUT=json
Examples
Complete Workflow
# 1. Create wallet
tenzro-cli wallet create --name alice-wallet
# 2. Register identity
tenzro-cli identity register --type human --display-name Alice
# 3. Check balance (after getting testnet TNZO)
tenzro-cli wallet balance
# 4. List available models
tenzro-cli model list --category llm
# 5. Request inference
tenzro-cli inference \
--model llama-3-70b \
--prompt "Explain blockchain in simple terms" \
--max-tokens 200
# 6. Check inference result
tenzro-cli inference history
Provider Setup
# 1. Download model
tenzro-cli model download llama-3-70b --path ./models
# 2. Register as provider
tenzro-cli provider register --type model --models llama-3-70b
# 3. Serve model
tenzro-cli model serve llama-3-70b --port 8000
# 4. Check provider status
tenzro-cli provider status