Tenzro
SDKs

SDKs.

Tenzro Network from any runtime — Rust, TypeScript, and the terminal. Same RPC surface, same on-chain semantics, same TNZO economics.
Rust

tenzro-sdk

Native Rust client. Async, typed, zero-cost. The same crate that powers the node and CLI.

Install
# Cargo.toml
[dependencies]
tenzro-sdk = "0.3"
tokio = { version = "1", features = ["full"] }
Example
use tenzro_sdk::TenzroClient;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let client = TenzroClient::new("https://rpc.tenzro.network").await?;
    let balance = client.wallet().get_balance("0x...").await?;
    println!("balance: {balance} TNZO");
    Ok(())
}
TypeScript

tenzro-sdk

Browser and Node. Wallet, RPC, MCP, A2A, and provider clients in one package.

Install
npm install tenzro-sdk
Example
import { TenzroClient } from "tenzro-sdk";

const client = new TenzroClient({
  endpoint: "https://rpc.tenzro.network",
});

const balance = await client.wallet.getBalance("0x...");
console.log(`balance: ${balance} TNZO`);
CLI

tenzro

63 command modules. Full RPC coverage. Wallet, identity, models, agents, payments, governance, all in one binary.

Download
Install
curl -fsSL https://install.tenzro.network | sh
Example
tenzro wallet balance --asset TNZO
Auth env vars

All Tenzro SDKs (Rust, TypeScript, Python MCP, Python A2A, OpenClaw, CLI) read the same three environment variables and forward them as headers on outbound JSON-RPC requests. Public reads work without any of them; auth-sensitive and mediated RPCs require one or more. See auth surfaces for the contract.

TENZRO_BEARER_JWT

Forwarded as Authorization: DPoP <jwt>. Required by operator-hosted services (FROST wallet custody, share-unwrap, paid inference) when the operator has issued you a DPoP-bound OAuth 2.1 token. Optional for self-custody flows.

TENZRO_DPOP_PROOF

Forwarded as DPoP: <proof>. The per-request DPoP proof JWT (RFC 9449) that binds the bearer to your client key. Must be regenerated for each request; pairs with TENZRO_BEARER_JWT.

TENZRO_API_KEY

Forwarded as X-Tenzro-Api-Key: tnz_.... Required for scope-gated RPCs that the node mediates on your behalf — currently tenzro_*Canton* (scope canton). The operator holds the upstream credentials; you hold a Tenzro-issued key.

Endpoints