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
| Service | URL | Description |
|---|---|---|
| JSON-RPC | https://rpc.tenzro.network | EVM-compatible JSON-RPC |
| Web API | https://api.tenzro.network | REST verification and status API |
| Faucet | https://api.tenzro.network/api/faucet | Testnet TNZO token faucet |
| MCP Server | https://mcp.tenzro.network/mcp | Model Context Protocol (Streamable HTTP) |
| A2A Server | https://a2a.tenzro.network | Agent-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 heighteth_getBalance— Account balanceeth_chainId— Chain ID (1337)eth_sendRawTransaction— Submit transactioneth_getTransactionCount— Account noncenet_peerCount— Connected peers
Tenzro-Specific Methods
tenzro_participate— One-click network onboardingtenzro_registerIdentity— Register TDIP identitytenzro_resolveIdentity— Resolve DID to identitytenzro_createPaymentChallenge— MPP/x402 payment challengetenzro_payMpp/tenzro_payX402— Execute paymenttenzro_listProposals/tenzro_vote— Governancetenzro_listModels— Available AI modelstenzro_chat— Chat with loaded modeltenzro_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