Tenzro Testnet is live —request testnet TNZO

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 version

Global Options

tenzro [OPTIONS] <COMMAND>

Options:
  -v, --verbose        Enable verbose logging
      --format <text|json>  Output format (default: text)
  -h, --help           Show help
  -V, --version        Show version

Command Groups

CommandDescription
joinOne-click network participation
nodeNode management
walletWallet operations
modelModel management
stakeStaking operations
governanceOn-chain governance
providerProvider management
scheduleProvider availability scheduling
inferenceInference requests
identityTDIP identity management
paymentPayment protocols (MPP / x402)
agentAI agent operations
cantonCanton/DAML integration
escrowEscrow and payment channels
taskTask marketplace
marketplaceAgent marketplace
skillSkill registry
toolTool registry (MCP servers)
tokenToken management
contractContract deployment
bridgeCross-chain bridge
debridgedeBridge DLN cross-chain
lifiLI.FI bridge aggregator
nftNFT operations (ERC-721/1155)
complianceERC-3643 compliance
crosschainERC-7802 cross-chain tokens
eventsEvent streaming
cryptoCryptographic operations
teeTEE operations
zkZero-knowledge proofs
custodyMPC wallet custody
appApplication management
vrfVRF — RFC 9381 ECVRF-EDWARDS25519-SHA512-TAI
cortexCortex recurrent-depth reasoning
ap2AP2 (Agent Payments Protocol)
erc8004 / 8004ERC-8004 Trustless Agents Registry
wormholeWormhole cross-chain (19-guardian VAAs)
cctChainlink CCT v1.6+ pool inspection
trainTenzro Train — decentralized verifiable training
embed-textText embeddings (Qwen3-Embedding, EmbeddingGemma, BGE-M3)
segmentImage segmentation (SAM 3, SAM 2, EdgeSAM, MobileSAM)
detectObject detection (RF-DETR, D-FINE)
transcribeAudio ASR (Moonshine, Distil-Whisper, Parakeet, Canary)
embed-videoVideo embeddings
auth / aapOAuth 2.1 + DPoP + RAR (AAP layering)
x402Coinbase HTTP-402 micropayment protocol
reputationProvider reputation score (0-1000)
approvalPending approvals from delegated machines
disputeChannel-dispute inspection
provenanceC2PA-style content provenance manifests (EU AI Act §50(2))

Standalone Commands

CommandDescription
chatInteractive REPL for AI model chat with session history
hardwareDetect and display hardware profile (CPU, GPU, TEE)
set-usernameSet your Tenzro username
faucetRequest testnet TNZO tokens (100 TNZO, 24h cooldown)
infoShow network information
versionShow 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 list

Model 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-270m

Identity 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 yes

Agent 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.json

ERC-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,0xv3

AAP / 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_001

Output 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