Tenzro Testnet is live. Get testnet TNZO

Tenzro Testnet

The Tenzro testnet is a live deployment running on Google Kubernetes Engine (GKE) with 3 validator nodes and 1 RPC node, providing full access to all network features.

Live Endpoints

ServiceURLDescription
JSON-RPChttps://rpc.tenzro.networkEVM-compatible JSON-RPC
Web APIhttps://api.tenzro.networkREST verification and status API
Faucethttps://api.tenzro.network/api/faucetTestnet TNZO token faucet
MCP Serverhttps://mcp.tenzro.network/mcpModel Context Protocol (Streamable HTTP)
A2A Serverhttps://a2a.tenzro.networkAgent-to-Agent protocol (JSON-RPC 2.0 + SSE)

Genesis Configuration

  • Total Supply: 1,000,000,000 TNZO
  • Faucet Allocation: 10,000,000 TNZO
  • Faucet Limit: 100 TNZO per request
  • Faucet Cooldown: 24 hours per address
  • Chain ID: 1337
  • Token Decimals: 18

Infrastructure

  • Platform: Managed Kubernetes
  • Deployment: Production Kubernetes cluster in cloud infrastructure
  • Validators: 3-node StatefulSet with persistent storage
  • RPC Node: 1 Deployment for public RPC access
  • TLS: Caddy reverse proxy with automatic Let's Encrypt certificates
  • Container Registry: Cloud container registry

Getting Started

Using the CLI

# Join the testnet tenzro-cli join --rpc https://rpc.tenzro.network # Check balance tenzro-cli wallet balance --rpc https://rpc.tenzro.network # Request testnet tokens curl -X POST https://api.tenzro.network/api/faucet \ -H "Content-Type: application/json" \ -d '{"address": "YOUR_ADDRESS"}' # Send a transaction tenzro-cli wallet send --to 0x... --amount 10 --rpc https://rpc.tenzro.network

Using JSON-RPC (JavaScript)

async function callRpc(method, params = []) { const response = await fetch('https://rpc.tenzro.network', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ jsonrpc: '2.0', method, params, id: 1, }), }); const data = await response.json(); return data.result; } // Get block height const height = await callRpc('eth_blockNumber'); console.log('Block height:', parseInt(height, 16)); // Get balance const balance = await callRpc('eth_getBalance', [ '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb5', 'latest' ]); console.log('Balance:', parseInt(balance, 16) / 1e18, 'TNZO');

Using JSON-RPC (curl)

# Get block number curl -X POST https://rpc.tenzro.network \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' # Get balance curl -X POST https://rpc.tenzro.network \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "eth_getBalance", "params": ["0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb5", "latest"], "id": 1 }'

Using MCP (Claude Desktop)

// Add to Claude Desktop MCP config: { "mcpServers": { "tenzro": { "url": "https://mcp.tenzro.network/mcp" } } }

Available RPC Methods

Standard Ethereum Methods

  • eth_blockNumber — Current block height
  • eth_getBalance — Account balance
  • eth_chainId — Chain ID (1337)
  • eth_sendRawTransaction — Submit transaction
  • eth_getTransactionCount — Account nonce
  • net_peerCount — Connected peers

Tenzro-Specific Methods

  • tenzro_participate — One-click network onboarding
  • tenzro_registerIdentity — Register TDIP identity
  • tenzro_resolveIdentity — Resolve DID to identity
  • tenzro_createPaymentChallenge — MPP/x402 payment challenge
  • tenzro_payMpp / tenzro_payX402 — Execute payment
  • tenzro_listProposals / tenzro_vote — Governance
  • tenzro_listModels — Available AI models
  • tenzro_chat — Chat with loaded model
  • tenzro_nodeInfo — Node status information

Verification Endpoints

# Verify a ZK proof curl -X POST https://api.tenzro.network/api/verify/zk-proof \ -H "Content-Type: application/json" \ -d '{"proof": "...", "public_inputs": [...]}' # Verify TEE attestation curl -X POST https://api.tenzro.network/api/verify/tee-attestation \ -H "Content-Type: application/json" \ -d '{"attestation": "...", "provider": "intel-tdx"}' # Check node health curl https://api.tenzro.network/api/health