Tenzro Testnet is live. Get testnet TNZO

For Developers

Build on Tenzro

Access comprehensive SDKs, CLI tools, JSON-RPC APIs, and extensive documentation. Deploy smart contracts across EVM, SVM, and DAML. Integrate identity and payment protocols.

SDKs & Tools

Rust SDK

Native Rust library with full type safety, async/await support, and integration with the full Tenzro platform. Production-ready for node operators and backend services.

Wallet management (MPC threshold wallets)
Transaction signing and submission
Model registry queries and inference routing
Identity registration (TDIP/W3C DID)

TypeScript SDK

Browser and Node.js compatible SDK with JSON-RPC client, type definitions, and promise-based API. Perfect for web applications and frontend integrations.

JSON-RPC 2.0 client with automatic retries
TypeScript types for all RPC methods
Wallet creation and transaction building
Event subscriptions (blocks, transactions)

CLI

Command-line tool for node operation, wallet management, governance participation, and provider configuration. Essential for operators and power users.

Node start/stop with validator/provider roles
Wallet commands (create, balance, transfer)
Model registration and inference requests
Identity and payment protocol management

Integration Options

JSON-RPC

Ethereum-compatible JSON-RPC 2.0 interface for querying blockchain state and submitting transactions. Default endpoint: http://127.0.0.1:8545

eth_getBalance, eth_getTransactionReceipt
eth_sendRawTransaction, eth_call
eth_getBlockByNumber, eth_getLogs
curl -X POST http://localhost:8545 \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "eth_getBalance", "params": [ "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", "latest" ], "id": 1 }'

Web Verification API

REST API for verifying ZK proofs, TEE attestations, transaction signatures, and inference results. Default endpoint: http://0.0.0.0:8080/api

POST /api/verify/zk-proof
POST /api/verify/tee-attestation
POST /api/verify/transaction
curl -X POST \ http://localhost:8080/api/verify/zk-proof \ -H "Content-Type: application/json" \ -d '{ "proof": "0x...", "public_inputs": ["0x..."], "circuit_type": "InferenceVerification" }'

MCP (Model Context Protocol)

Bridge integration for AI agents to communicate using Anthropic's Model Context Protocol standard. A2A messages automatically convert to/from MCP format for interoperability.

A2A (Agent-to-Agent)

Peer-to-peer protocol for direct inter-agent communication. Capability negotiation and task delegation with cryptographic signatures.

Smart Contracts

Deploy smart contracts across EVM, SVM, and DAML runtimes with unified gas metering and parallel execution via Block-STM.

EVM Contracts

Deploy existing Solidity contracts without modification. Full EVM opcode support, Keccak-256 hashing, and deterministic CREATE2 addresses.

// Deploy contract const factory = new ContractFactory( abi, bytecode, signer ); const contract = await factory.deploy( ...constructorArgs ); await contract.deployed();

SVM Programs

Deploy BPF programs with PDA derivation and compute units metering. Parallel execution via Block-STM MVCC for high throughput.

// Deploy program let program = await Program.deploy( provider, programBinary, programId ); // Invoke instruction await program.methods .initialize() .accounts({ ... }) .rpc();

DAML Contracts

Deploy Canton/DAML contracts for enterprise use cases with privacy-preserving execution and multi-party workflows.

// Create contract let create_cmd = DamlCommand::Create { template_id: "MyContract", arguments: vec![...], }; let tx = client .submit_command(create_cmd) .await?;

Code Examples

Rust SDK

use tenzro_sdk::{TenzroClient, InferenceRequest}; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { // Connect to node let client = TenzroClient::connect( "http://localhost:8545" ).await?; // Get block number let block = client.get_block_number().await?; println!("Block: {}", block); // Query balance let balance = client.get_balance( "0x742d35Cc6634C0532925a3b844Bc454e4438f44e" ).await?; println!("Balance: {} TNZO", balance); // Request inference let models = client.list_models() .category("text") .send() .await?; let response = client.inference() .model_id(&models[0].id) .prompt("Explain consensus") .max_tokens(100) .send() .await?; println!("Response: {}", response.text); Ok(()) }

TypeScript SDK

import { TenzroClient, Amount } from "@tenzro/sdk"; async function main() { // Connect to node const client = new TenzroClient({ endpoint: "http://localhost:8545", }); // Get block number const block = await client.getBlockNumber(); console.log("Block:", block); // Query balance const balance = await client.getBalance( "0x742d35Cc6634C0532925a3b844Bc454e4438f44e" ); console.log("Balance:", balance, "TNZO"); // Request inference const models = await client.listModels({ category: "text", }); const response = await client.requestInference({ modelId: models[0].id, prompt: "Explain consensus", maxTokens: 100, }); console.log("Response:", response.output); } main().catch(console.error);

Identity Integration

Register Identities

Use TDIP (Tenzro Decentralized Identity Protocol) to register human and machine identities with W3C DID format, verifiable credentials, and delegation scopes.

Identity Types
Human: did:tenzro:human:{uuid}
Machine: did:tenzro:machine:{controller}:{uuid}
Autonomous: did:tenzro:machine:{uuid}
// Register human identity let identity = client.identity() .register_human( "Alice", KycTier::Enhanced ) .await?; println!("DID: {}", identity.did); // Register machine identity let agent = client.identity() .register_machine( controller_did, vec![ Capability::InferenceRequest, Capability::PaymentAuthorization, ], delegation_scope ) .await?; // Auto-provisioned MPC wallet let wallet = agent.wallet();

Payment Integration

Implement MPP or x402 payment flows with automatic credential verification and settlement.

MPP Server Example

use tenzro_payments::{MppServer, MppConfig}; // Create MPP server let mpp = MppServer::new(MppConfig { min_payment: Amount::tnzo(0.01), session_timeout: Duration::from_secs(3600), ..Default::default() }); // Add payment middleware to API app.use(mpp.middleware()); // Protected endpoint app.get("/api/premium", require_payment, |req| { // Payment verified automatically Ok(json!({ "data": premium_content() })) }); // Start server app.listen(8080).await?;

Ready to Build?

Start integrating Tenzro Network into your application with comprehensive SDKs and documentation.