Getting Started
This guide will walk you through installing Tenzro, starting your first node, creating a wallet, and making your first transactions.
Prerequisites
No prerequisites required. Tenzro CLI and node binaries are self-contained and ready to run on macOS and Linux systems.
Installation
Homebrew (Recommended)
brew tap tenzro/tap
brew install tenzro-cli
# Verify
tenzro versionQuick Install Script
curl -sSL https://get.tenzro.network | sh
tenzro versionDownload Binary
Pre-built binaries for all platforms on GitHub Releases.
# macOS (Apple Silicon)
curl -LO https://github.com/tenzro/tenzro-cli/releases/latest/download/tenzro-cli-aarch64-apple-darwin.tar.gz
tar xzf tenzro-cli-aarch64-apple-darwin.tar.gz
sudo mv tenzro /usr/local/bin/
sudo mv tenzro-cli-latest /usr/local/bin/tenzro-cli
sudo mv tenzro-node-latest /usr/local/bin/tenzro-nodeAdvanced: Build from Source
For developers who want to build from source or contribute to the project:
# Prerequisites: Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Clone and build
git clone https://github.com/tenzro/tenzro-cli.git
cd tenzro-network
cargo build --release
# Binaries will be in target/release/
./target/release/tenzro-cli --versionSDK Installation
If you are building applications on Tenzro, install the SDK for your language:
Rust SDK
# Add to your Cargo.toml
cargo add tenzro-sdkMinimal usage example:
use tenzro_sdk::{TenzroClient, LocalConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = TenzroClient::connect(LocalConfig::default()).await?;
let balance = client.wallet().get_balance("TENZRO").await?;
println!("Balance: {}", balance);
Ok(())
}TypeScript SDK
npm install tenzro-sdkMinimal usage example:
import { TenzroClient, LOCAL_CONFIG } from "@tenzro/sdk";
const client = await TenzroClient.connect(LOCAL_CONFIG);
const balance = await client.wallet().getBalance("TENZRO");
console.log("Balance:", balance);See the full SDK Reference for complete API documentation and additional examples.
Starting a Node
Tenzro supports multiple node roles: Validator, ModelProvider, TeeProvider, and LightClient. For getting started, we'll run a light client node.
Start a Light Client
tenzro-node \
--role light-client \
--listen-addr /ip4/0.0.0.0/tcp/9000 \
--rpc-addr 127.0.0.1:8545 \
--boot-nodes /ip4/your-bootstrap-ip/tcp/9000/p2p/12D3K...Start a Validator
# Validators require staked TNZO
tenzro-node \
--role validator \
--listen-addr /ip4/0.0.0.0/tcp/9000 \
--rpc-addr 127.0.0.1:8545 \
--data-dir ~/.tenzro/validatorVerify Node is Running
# Check node status via CLI
tenzro-cli info
# Or via RPC
curl -X POST http://127.0.0.1:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tenzro_nodeInfo","params":[],"id":1}'You can also use the live testnet directly without running a local node:
# Or use the live testnet directly (no local node needed)
tenzro-cli info --rpc https://rpc.tenzro.networkOnboarding: Identity and Wallet Setup
Before using the network, you need a TDIP identity and a wallet. Tenzro provides two onboarding paths: creating a new identity or importing an existing private key.
Option 1: One-Click Join (Create New)
The simplest way to get started. This auto-provisions a cryptographic keypair, creates a multi-signature wallet, registers your TDIP identity on the ledger, detects your hardware profile, and issues an onboarding key for authenticated access — all in a single command.
# Via CLI
tenzro-cli join --name "Alice" --rpc https://rpc.tenzro.network
# Output:
# Connected to network (Chain ID: 1337)
# Identity and wallet provisioned on Tenzro Ledger
#
# DID: did:tenzro:human:550e8400-e29b-41d4-...
# Address: 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb5
# Wallet: Multi-signature threshold wallet
#
# Onboarding Key:
# Key: tenzro_a1b2c3d4e5f6...
# Scope: wallet identity inference agent governance staking
# Save this key securely! It is shown only once.
# Or via RPC
curl -X POST http://127.0.0.1:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tenzro_participate","params":[{"display_name":"Alice"}],"id":1}'The onboarding key is your credential for authenticated operations. Use it as a Bearer token in HTTP headers: Authorization: Bearer tenzro_.... It is tied to your TDIP identity and wallet — no central authority issues it; any node can generate and validate onboarding keys. Saved automatically to ~/.tenzro/config.json.
Option 2: Import from Private Key
If you have an existing private key, you can import it to create your identity and wallet. The key is used to derive your wallet address, and wallet shares are generated and stored in a securely encrypted keystore.
# Via CLI
tenzro-cli wallet import 0x4c0883a69102937d... \
--name "Alice"
# You'll be prompted for a wallet password
# Output:
# DID: did:tenzro:human:661f9500-...
# Address: 0x8Ba1f109551bD432803012645Ac136ddd64DBA72Desktop App Setup
The Tenzro desktop app provides a guided Setup page on first launch. It offers two tabs: "Create New" and "Import Existing". On success, you are redirected to the Dashboard with your identity, wallet, and hardware profile displayed.
# Download and install the desktop app
# Available for macOS, Windows, and Linux
# The Setup page will appear on first launch
# Enter your display name, password, and RPC endpoint
# Click "Create Identity & Wallet" or import an existing keyWallet Operations
List Wallets
tenzro-cli wallet listCheck Balance
# Check TNZO balance
tenzro-cli wallet balance --address 0x742d35Cc...Send TNZO
# Send 10 TNZO to another address
tenzro-cli wallet send 0xRecipientAddr 10 --asset TNZOGetting Testnet TNZO
Request testnet TNZO from the built-in faucet:
# Via CLI
tenzro faucet <your-address>
# Via JSON-RPC
curl -X POST https://rpc.tenzro.network \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tenzro_faucet","params":{"address":"<your-address>"}}'Requesting AI Inference
List available models and request inference:
# List available models
tenzro-cli model list
# Chat with a model (interactive)
tenzro-cli chat gemma4-9b --rpc https://rpc.tenzro.network
# Or request inference via RPC
tenzro-cli inference request \
gemma4-9b \
"What is the capital of France?" \
--max-tokens 100Next Steps
- Explore Architecture to understand the system design
- Learn about TDIP Identity Protocol for advanced identity management
- Review API Reference for complete RPC documentation
- Check out SDK Reference to build applications
- Read Deployment Guide for production setup
- Explore AI Agents for autonomous agent development
- Learn about Escrow for trustless conditional payments
- Review Canton Integration for enterprise DAML workflows
- Connect via MCP Server at
mcp.tenzro.network/mcpfor AI agent integration