API Reference
Tenzro provides 148 JSON-RPC methods across 18 namespaces plus a Web Verification API for cryptographic verification.
Endpoints:
- JSON-RPC:
127.0.0.1:8545(local) /https://rpc.tenzro.network(testnet) - Web API:
0.0.0.0:8080(local) /https://api.tenzro.network(testnet) - MCP Server:
0.0.0.0:3001/mcp/https://mcp.tenzro.network/mcp - A2A Protocol:
0.0.0.0:3002/https://a2a.tenzro.network
Ethereum-Compatible Methods
Standard Ethereum JSON-RPC methods for EVM compatibility. Wallets like MetaMask can connect using these endpoints.
| Method | Description |
|---|---|
eth_blockNumber | Returns the current block number |
eth_getBalance | Returns balance of an account (params: address, block) |
eth_getTransactionCount | Returns account nonce (params: address, block) |
eth_sendRawTransaction | Submits a signed transaction (params: signed tx hex) |
eth_getBlockByNumber | Returns block by number (params: number, full txs bool) |
eth_getBlockByHash | Returns block by hash (params: hash, full txs bool) |
eth_chainId | Returns the chain ID (default: 1337) |
eth_getTransactionReceipt | Returns transaction receipt (params: tx hash) |
eth_gasPrice | Returns current gas price in wei |
eth_estimateGas | Estimates gas for a transaction (params: tx object) |
eth_getCode | Returns contract bytecode (params: address, block) |
eth_getStorageAt | Returns storage value (params: address, slot, block) |
eth_call | Executes a call without creating a transaction (params: tx object, block) |
eth_getLogs | Returns logs matching a filter (params: filter object) |
eth_getBlockTransactionCountByNumber | Returns tx count in a block by number |
eth_getBlockTransactionCountByHash | Returns tx count in a block by hash |
eth_getTransactionByBlockNumberAndIndex | Returns tx by block number and index |
eth_syncing | Returns sync status or false if synced |
eth_blockNumber
Returns the current block number.
{
"jsonrpc": "2.0",
"method": "eth_blockNumber",
"params": [],
"id": 1
}{
"jsonrpc": "2.0",
"result": "0x4b7",
"id": 1
}eth_getBalance
Returns the TNZO balance of an account in wei.
address— Account address (hex)block— Block number or "latest"
{
"jsonrpc": "2.0",
"method": "eth_getBalance",
"params": ["0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb5", "latest"],
"id": 1
}{
"jsonrpc": "2.0",
"result": "0x0234c8a3397aab58",
"id": 1
}eth_sendRawTransaction
Submits a signed transaction to the network.
data— Signed transaction data (hex)
{
"jsonrpc": "2.0",
"method": "eth_sendRawTransaction",
"params": ["0xf86c..."],
"id": 1
}{
"jsonrpc": "2.0",
"result": "0x1234567890abcdef...",
"id": 1
}eth_getTransactionReceipt
Returns the receipt of a transaction by transaction hash.
hash— Transaction hash
{
"jsonrpc": "2.0",
"result": {
"transactionHash": "0x1234567890abcdef...",
"blockNumber": "0x4b7",
"gasUsed": "0x5208",
"status": "0x1"
},
"id": 1
}Web3 & Network Methods
| Method | Description |
|---|---|
web3_clientVersion | Returns the Tenzro node client version string |
web3_sha3 | Returns Keccak-256 hash of given data (params: data hex) |
net_version | Returns the current network ID |
net_peerCount | Returns number of connected peers |
net_listening | Returns true if the node is listening for connections |
Tenzro Blockchain Methods
Block & Transaction
tenzro_blockNumber
Returns the current block height.
{
"jsonrpc": "2.0",
"result": { "block_height": 1207 },
"id": 1
}tenzro_getBlock
Returns a block by height with full transaction details.
height— Block height number
{
"jsonrpc": "2.0",
"result": {
"height": 1207,
"hash": "0xabc123...",
"parent_hash": "0xdef456...",
"timestamp": 1712700000,
"transactions": [...],
"state_root": "0x789..."
},
"id": 1
}tenzro_getTransaction
Returns a transaction by hash.
hash— Transaction hash (hex)
{
"jsonrpc": "2.0",
"result": {
"hash": "0xabc123...",
"from": "0x742d35Cc...",
"to": "0x8Ba1f109...",
"value": "100000000000000000000",
"nonce": 42,
"status": "confirmed"
},
"id": 1
}tenzro_sendTransaction
Constructs and sends a transaction (alternative to eth_sendRawTransaction).
from— Sender addressto— Recipient addressvalue— Amount in weidata— Optional calldata (hex)
{
"jsonrpc": "2.0",
"result": { "transaction_hash": "0xabc123..." },
"id": 1
}tenzro_submitBlock
Submit a new block for validation (validator nodes only).
block— Block data object
{
"jsonrpc": "2.0",
"result": { "accepted": true, "height": 1208 },
"id": 1
}tenzro_getFinalizedBlock
Returns the latest finalized block height.
{
"jsonrpc": "2.0",
"result": { "finalized_height": 1200 },
"id": 1
}tenzro_getTransactionHistory
Returns transaction history for an address.
address— Account addresslimit— Max results (optional, default 50)
{
"jsonrpc": "2.0",
"result": {
"transactions": [
{ "hash": "0xabc...", "type": "transfer", "value": "100.0", "status": "confirmed" }
]
},
"id": 1
}Accounts & Wallets
tenzro_createAccount
Creates a new account with an MPC threshold wallet.
threshold— Threshold (e.g., 2 for 2-of-3)total_shares— Total shares (e.g., 3)
{
"jsonrpc": "2.0",
"result": {
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb5",
"threshold": 2,
"total_shares": 3
},
"id": 1
}tenzro_createWallet
Creates a new keypair wallet (Ed25519 or Secp256k1).
key_type— "ed25519" or "secp256k1"
{
"jsonrpc": "2.0",
"result": {
"address": "0x8Ba1f109551bD432803012645Ac136ddd64DBA72",
"key_type": "ed25519"
},
"id": 1
}tenzro_getBalance
Returns TNZO balance for an address.
address— Account address (hex)
{
"jsonrpc": "2.0",
"result": { "balance": "1000.0", "address": "0x742d35Cc..." },
"id": 1
}tenzro_getNonce
Returns the current nonce for an address.
address— Account address
{
"jsonrpc": "2.0",
"result": { "nonce": 42 },
"id": 1
}tenzro_listAccounts
Lists all accounts managed by this node.
{
"jsonrpc": "2.0",
"result": [
{ "address": "0x742d35Cc...", "balance": "1000.0" },
{ "address": "0x8Ba1f109...", "balance": "500.0" }
],
"id": 1
}Token Methods
tenzro_tokenBalance
Returns token balance for an address.
address— Account addresstoken_id— Token identifier (optional, defaults to TNZO)
{
"jsonrpc": "2.0",
"result": { "balance": "1000.0", "token": "TNZO" },
"id": 1
}tenzro_totalSupply
Returns total TNZO token supply.
{
"jsonrpc": "2.0",
"result": { "total_supply": "1000000000.0" },
"id": 1
}tenzro_faucet
Request testnet TNZO tokens (100 TNZO per request, 24h cooldown).
address— Recipient address
{
"jsonrpc": "2.0",
"result": { "amount": "100.0", "transaction_hash": "0xabc..." },
"id": 1
}Onboarding Methods
tenzro_participate
One-click onboarding: provisions a TDIP identity, MPC wallet, and hardware profile.
display_name— Display name for the identity
{
"jsonrpc": "2.0",
"method": "tenzro_participate",
"params": [{ "display_name": "Alice" }],
"id": 1
}{
"jsonrpc": "2.0",
"result": {
"identity": {
"did": "did:tenzro:human:550e8400-e29b-41d4-a716-446655440000",
"display_name": "Alice",
"identity_type": "human",
"status": "active"
},
"wallet": {
"wallet_id": "w-a1b2c3d4",
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb5",
"threshold": "2-of-3",
"key_type": "Ed25519"
},
"hardware": {
"cpu_model": "Apple M2 Pro",
"cpu_cores": 12,
"total_ram_gb": 32.0,
"gpus": []
}
},
"id": 1
}tenzro_importIdentity
Import an existing private key to create a TDIP identity and MPC wallet.
private_key— Hex-encoded private key (with or without 0x prefix)key_type— "ed25519" or "secp256k1"display_name— Display name for the identitypassword— Password for encrypting wallet key shares
{
"jsonrpc": "2.0",
"result": {
"identity": {
"did": "did:tenzro:human:661f9500-f30c-52e5-b827-557766551111",
"display_name": "Alice",
"status": "active"
},
"wallet": {
"wallet_id": "w-e5f6g7h8",
"address": "0x8Ba1f109551bD432803012645Ac136ddd64DBA72",
"threshold": "2-of-3",
"key_type": "Ed25519"
}
},
"id": 1
}tenzro_joinAsMicroNode
Join the network as a lightweight micro node with minimal resource requirements.
display_name— Display name for the identity
{
"jsonrpc": "2.0",
"result": {
"did": "did:tenzro:human:...",
"role": "light_client",
"status": "joined"
},
"id": 1
}Identity Methods (TDIP)
tenzro_registerIdentity
Register a new TDIP identity (human).
identity_type— "human"display_name— Display name
{
"jsonrpc": "2.0",
"result": {
"did": "did:tenzro:human:550e8400-e29b-41d4-a716-446655440000",
"wallet_address": "0x742d35Cc..."
},
"id": 1
}tenzro_registerMachineIdentity
Register a machine/agent identity with a controller DID.
controller_did— Controller DID (human or autonomous)capabilities— Array of capability stringsdelegation_scope— Optional delegation scope object
{
"jsonrpc": "2.0",
"result": {
"did": "did:tenzro:machine:controller123:agent-uuid",
"controller": "did:tenzro:human:...",
"status": "active"
},
"id": 1
}tenzro_resolveIdentity
Resolve a DID to its identity record.
did— DID to resolve (e.g., "did:tenzro:human:...")
{
"jsonrpc": "2.0",
"result": {
"did": "did:tenzro:human:550e8400-...",
"display_name": "Alice",
"identity_type": "human",
"kyc_tier": "Unverified",
"status": "active",
"wallet_address": "0x742d35Cc..."
},
"id": 1
}tenzro_resolveDidDocument
Returns a W3C-compliant DID Document for a given DID.
did— DID to resolve
{
"jsonrpc": "2.0",
"result": {
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:tenzro:human:550e8400-...",
"verificationMethod": [...],
"authentication": [...]
},
"id": 1
}tenzro_listIdentities
List all identities registered on this node.
{
"jsonrpc": "2.0",
"result": [
{ "did": "did:tenzro:human:...", "display_name": "Alice", "status": "active" },
{ "did": "did:tenzro:machine:...", "status": "active" }
],
"id": 1
}tenzro_addCredential
Add a verifiable credential to an identity.
did— DID to add credential tocredential_type— Credential type (e.g., KycAttestation)issuer— Issuer DIDclaims— Claims object
{
"jsonrpc": "2.0",
"result": { "credential_id": "cred_abc123", "status": "issued" },
"id": 1
}tenzro_addService
Add a service endpoint to a DID Document.
did— DID to add service toservice_type— Service type (e.g., MCP, A2A, LinkedDomains)endpoint— Service endpoint URL
{
"jsonrpc": "2.0",
"result": { "status": "added" },
"id": 1
}tenzro_setUsername
Register a globally unique username for a DID. Usernames must be 3-20 characters, lowercase alphanumeric and underscores only.
did— DID to set the username forusername— Desired username (e.g., alice, bob_42)
{
"jsonrpc": "2.0",
"result": { "username": "alice", "did": "did:tenzro:human:abc..." },
"id": 1
}tenzro_resolveUsername
Resolve a username to its associated DID.
username— Username to resolve
{
"jsonrpc": "2.0",
"result": { "username": "alice", "did": "did:tenzro:human:abc..." },
"id": 1
}Network & Node Methods
tenzro_nodeInfo
Returns information about the node.
{
"jsonrpc": "2.0",
"result": {
"version": "0.1.0",
"role": "validator",
"peer_id": "12D3KooWABC...",
"chain_id": 1337,
"block_height": 1207
},
"id": 1
}tenzro_peerCount
Returns the number of connected peers.
{
"jsonrpc": "2.0",
"result": { "peer_count": 25 },
"id": 1
}tenzro_syncing
Returns sync status of the node.
{
"jsonrpc": "2.0",
"result": { "syncing": false, "current_block": 1207, "highest_block": 1207 },
"id": 1
}tenzro_getHardwareProfile
Detects and returns hardware profile (CPU, RAM, GPUs, TEE support).
{
"jsonrpc": "2.0",
"result": {
"cpu_model": "AMD EPYC 7763",
"cpu_cores": 64,
"total_ram_gb": 256.0,
"gpus": [{ "name": "NVIDIA A100", "memory_gb": 80.0 }],
"tee_support": "AmdSevSnp"
},
"id": 1
}tenzro_setRole
Set the node role.
role— "validator", "provider", "tee-provider", or "user"
{
"jsonrpc": "2.0",
"result": { "role": "provider", "status": "active" },
"id": 1
}tenzro_exportConfig
Export the current node configuration.
{
"jsonrpc": "2.0",
"result": {
"role": "validator",
"listen_addr": "/ip4/0.0.0.0/tcp/9000",
"rpc_addr": "127.0.0.1:8545",
"chain_id": 1337
},
"id": 1
}tenzro_shutdown
Gracefully shut down the node (admin only).
{
"jsonrpc": "2.0",
"result": { "status": "shutting_down" },
"id": 1
}Model & Inference Methods
tenzro_listModels
List available AI models on the network.
category— Filter by category (e.g., "llm", "vision") — optionalmodality— Filter by modality (e.g., "text", "image") — optional
{
"jsonrpc": "2.0",
"result": [
{
"id": "gemma4-9b",
"name": "Gemma 4 9B",
"category": "llm",
"modality": "text",
"price_per_token": "0.0001"
}
],
"id": 1
}tenzro_inferenceRequest
Request raw AI inference from a model. Uses the raw prompt without applying a chat template. For chat applications, prefer tenzro_chat instead.
model_id— Model identifierinput— Raw prompt text (no chat template applied)strategy— Routing strategy: Cheapest, LowestLatency, HighestReputation, Weighted (optional)max_tokens— Maximum tokens to generate (optional)
{
"jsonrpc": "2.0",
"method": "tenzro_inferenceRequest",
"params": [{
"model_id": "gemma4-9b",
"input": "What is the capital of France?",
"strategy": "Cheapest",
"max_tokens": 100
}],
"id": 1
}{
"jsonrpc": "2.0",
"result": {
"request_id": "req_abc123",
"status": "pending",
"estimated_cost": "0.05 TNZO"
},
"id": 1
}tenzro_chat
Send a chat message to a served model. Applies the model's chat template for proper formatting (recommended for chat apps and coding assistants).
model_id— Model identifiermessage— Chat message text (string, not array)max_tokens— Maximum tokens (optional)
{
"jsonrpc": "2.0",
"method": "tenzro_chat",
"params": [{
"model_id": "qwen3.5-0.8b",
"message": "Write a hello world function",
"max_tokens": 200
}],
"id": 1
}{
"jsonrpc": "2.0",
"result": {
"id": "chatcmpl-abc123",
"choices": [{
"message": { "role": "assistant", "content": "Hello! How can I help?" },
"finish_reason": "stop"
}],
"usage": { "prompt_tokens": 10, "completion_tokens": 8, "total_tokens": 18 }
},
"id": 1
}tenzro_downloadModel
Download a GGUF model from HuggingFace via direct HTTP streaming. Files are saved to ~/.tenzro/models/<model-id>.gguf as a flat file.
model_id— Model identifier or HuggingFace repo
{
"jsonrpc": "2.0",
"method": "tenzro_downloadModel",
"params": [{ "model_id": "gemma4-9b" }],
"id": 1
}{
"jsonrpc": "2.0",
"result": { "status": "downloading", "model_id": "gemma4-9b" },
"id": 1
}tenzro_getDownloadProgress
Check download progress for a model. Includes percentage updates and an error field on failure.
model_id— Model identifier
// Success (in progress):
{
"jsonrpc": "2.0",
"result": { "model_id": "gemma4-9b", "status": "downloading", "progress": 0.75, "downloaded_bytes": 37580963840, "total_bytes": 50107951787 },
"id": 1
}
// Failure:
{
"jsonrpc": "2.0",
"result": { "model_id": "gemma4-9b", "status": "failed", "error": "HTTP 404 from HuggingFace" },
"id": 1
}tenzro_serveModel
Start serving a model for inference requests.
model_id— Model to serveprice_per_token— Price per token in TNZO (optional)
{
"jsonrpc": "2.0",
"result": { "model_id": "gemma4-9b", "status": "serving", "price_per_token": "0.0001" },
"id": 1
}tenzro_stopModel
Stop serving a model. Waits for in-flight inference requests to complete before freeing the llama.cpp context to prevent OOM errors.
model_id— Model to stop
{
"jsonrpc": "2.0",
"result": { "model_id": "gemma4-9b", "status": "stopped" },
"id": 1
}tenzro_deleteModel
Delete a downloaded model from local storage.
model_id— Model to delete
{
"jsonrpc": "2.0",
"result": { "model_id": "gemma4-9b", "deleted": true },
"id": 1
}tenzro_listModelEndpoints
List active model service endpoints with API and MCP URLs.
{
"jsonrpc": "2.0",
"result": [
{
"model_id": "gemma4-9b",
"provider": "0x742d35Cc...",
"api_url": "http://10.0.0.5:8080/v1",
"mcp_url": "http://10.0.0.5:3001/mcp",
"status": "active"
}
],
"id": 1
}tenzro_getModelEndpoint
Get details for a specific model endpoint.
endpoint_id— Endpoint identifier
{
"jsonrpc": "2.0",
"result": {
"endpoint_id": "ep_abc123",
"model_id": "gemma4-9b",
"api_url": "http://10.0.0.5:8080/v1",
"status": "active"
},
"id": 1
}tenzro_registerModelEndpoint
Register a new model service endpoint.
model_id— Model being servedapi_url— API endpoint URLmcp_url— MCP endpoint URL (optional)
{
"jsonrpc": "2.0",
"result": { "endpoint_id": "ep_abc123", "status": "registered" },
"id": 1
}tenzro_unregisterModelEndpoint
Remove a model service endpoint from the registry.
endpoint_id— Endpoint identifier
{
"jsonrpc": "2.0",
"result": { "status": "unregistered" },
"id": 1
}tenzro_discoverModels
Discover models available on the network with filtering.
query— Search query (optional)category— Category filter (optional)
{
"jsonrpc": "2.0",
"result": [
{ "id": "gemma4-9b", "name": "Gemma 4 9B", "providers": 3, "avg_price": "0.0001" }
],
"id": 1
}Provider Methods
tenzro_registerProvider
Register as a network provider (validator, model provider, or TEE provider).
provider_type— "validator", "inference", or "tee"stake_amount— Amount of TNZO to stake (optional)
{
"jsonrpc": "2.0",
"result": { "provider_id": "prov_abc123", "status": "registered" },
"id": 1
}tenzro_providerStats
Get provider statistics: served models, inferences, staking totals.
provider_id— Provider identifier (optional, defaults to self)
{
"jsonrpc": "2.0",
"result": {
"models_served": 3,
"total_inferences": 15420,
"total_staked": "10000.0",
"uptime_percentage": 99.7
},
"id": 1
}tenzro_listProviders
List all registered providers on the network.
{
"jsonrpc": "2.0",
"result": [
{ "provider_id": "prov_abc123", "type": "inference", "models": 3, "status": "active" }
],
"id": 1
}tenzro_setProviderSchedule
Set provider availability schedule.
schedule— Schedule object with days and hours
{
"jsonrpc": "2.0",
"result": { "status": "schedule_set" },
"id": 1
}tenzro_getProviderSchedule
Get the current provider availability schedule.
{
"jsonrpc": "2.0",
"result": { "schedule": { "enabled": true, "days": ["mon","tue","wed","thu","fri"], "hours": "08:00-20:00" } },
"id": 1
}tenzro_setProviderPricing
Set pricing for provider services.
model_id— Model to set pricing forprice_per_token— Price per token in TNZO
{
"jsonrpc": "2.0",
"result": { "status": "pricing_set", "model_id": "gemma4-9b", "price_per_token": "0.0001" },
"id": 1
}tenzro_getProviderPricing
Get current provider pricing configuration.
{
"jsonrpc": "2.0",
"result": { "models": [{ "model_id": "gemma4-9b", "price_per_token": "0.0001" }] },
"id": 1
}tenzro_addResource
Add a compute resource to the provider node.
resource_type— "gpu", "cpu", or "storage"details— Resource details object
{
"jsonrpc": "2.0",
"result": { "status": "resource_added" },
"id": 1
}Payment Methods
tenzro_createPaymentChallenge
Create an HTTP 402 payment challenge for a resource.
resource— Resource URL or identifieramount— Amount in TNZOprotocol— "mpp", "x402", or "native"
{
"jsonrpc": "2.0",
"result": {
"challenge_id": "ch_abc123",
"protocol": "mpp",
"amount": "0.05",
"expires_at": "2026-04-10T13:00:00Z"
},
"id": 1
}tenzro_payMpp
Pay using MPP (Machine Payments Protocol, co-authored by Stripe and Tempo).
challenge_id— Challenge ID from createPaymentChallengewallet_address— Payer wallet address
{
"jsonrpc": "2.0",
"result": { "receipt_id": "rcpt_def456", "status": "paid", "transaction_hash": "0xabc123..." },
"id": 1
}tenzro_payX402
Pay using x402 (Coinbase HTTP 402 protocol).
challenge_id— Challenge IDwallet_address— Payer wallet address
{
"jsonrpc": "2.0",
"result": { "receipt_id": "rcpt_ghi789", "status": "paid", "facilitator": "coinbase_cdp" },
"id": 1
}tenzro_payVisaTap
Pay using Visa TAP (Token Authorization Protocol) for fiat-to-crypto settlement.
challenge_id— Challenge IDagent_did— Agent DID for authorization
{
"jsonrpc": "2.0",
"result": { "receipt_id": "rcpt_visa001", "status": "paid", "rail": "visa_tap" },
"id": 1
}tenzro_payMastercard
Pay using Mastercard Agent Pay for autonomous agent transactions.
challenge_id— Challenge IDagent_did— Agent DID for authorization
{
"jsonrpc": "2.0",
"result": { "receipt_id": "rcpt_mc001", "status": "paid", "rail": "mastercard_agent_pay" },
"id": 1
}tenzro_listPaymentSessions
List active payment sessions.
{
"jsonrpc": "2.0",
"result": [
{ "session_id": "sess_abc", "protocol": "mpp", "status": "active", "amount_spent": "0.5" }
],
"id": 1
}tenzro_paymentGatewayInfo
Get payment gateway configuration and supported protocols.
{
"jsonrpc": "2.0",
"result": {
"supported_protocols": ["mpp", "x402", "native", "visa_tap", "mastercard_agent_pay"],
"default_protocol": "mpp"
},
"id": 1
}tenzro_getPaymentReceipt
Get a payment receipt by ID.
receipt_id— Receipt identifier
{
"jsonrpc": "2.0",
"result": {
"receipt_id": "rcpt_def456",
"protocol": "mpp",
"amount": "0.05",
"status": "confirmed",
"transaction_hash": "0xabc123..."
},
"id": 1
}Staking Methods
tenzro_stake
Stake TNZO tokens for validation, inference, or TEE provision.
amount— Amount of TNZO to stakeprovider_type— "validator", "inference", or "tee"lock_days— Lock period in days (optional)
{
"jsonrpc": "2.0",
"result": { "stake_id": "stake_abc123", "transaction_hash": "0xdef456...", "status": "staked" },
"id": 1
}tenzro_unstake
Withdraw staked tokens (7-day unbonding period).
amount— Amount to unstakeforce— Force immediate unstake with penalty (optional)
{
"jsonrpc": "2.0",
"result": { "unbonding_period": "7 days", "available_after": "2026-04-17T12:00:00Z" },
"id": 1
}tenzro_getVotingPower
Get voting power and staking info for an address.
address— Address to check
{
"jsonrpc": "2.0",
"result": { "total_staked": "1000.0", "rewards": "25.5", "apy": "12.5%" },
"id": 1
}Governance Methods
tenzro_listProposals
List all governance proposals.
{
"jsonrpc": "2.0",
"result": [
{
"proposal_id": "prop_001",
"title": "Increase validator rewards",
"proposal_type": "parameter",
"status": "active",
"votes_for": "50000",
"votes_against": "12000",
"approval_percentage": "80.6%"
}
],
"id": 1
}tenzro_createProposal
Create a new governance proposal.
title— Proposal titledescription— Detailed descriptionproposal_type— "parameter", "treasury", "upgrade", or "emergency"
{
"jsonrpc": "2.0",
"result": { "proposal_id": "prop_002", "status": "created" },
"id": 1
}tenzro_vote
Vote on a governance proposal.
proposal_id— Proposal identifiervote— "For", "Against", or "Abstain"justification— Optional voting justification
{
"jsonrpc": "2.0",
"result": { "status": "vote_recorded" },
"id": 1
}tenzro_delegateVotingPower
Delegate voting power to another address.
delegator— Delegating addressdelegatee— Receiving addressamount— Amount of voting power
{
"jsonrpc": "2.0",
"result": { "status": "delegated" },
"id": 1
}Agent Methods
tenzro_registerAgent
Register an AI agent on the network with capabilities.
name— Agent namecapabilities— Array of capability strings
{
"jsonrpc": "2.0",
"result": { "agent_id": "agent_xyz789", "did": "did:tenzro:machine:...", "status": "active" },
"id": 1
}tenzro_listAgents
List all registered agents.
{
"jsonrpc": "2.0",
"result": [
{ "agent_id": "agent_xyz789", "name": "DataProcessor", "capabilities": ["inference"], "status": "active" }
],
"id": 1
}tenzro_sendAgentMessage
Send a message to a registered agent.
agent_id— Target agent identifiermessage— Message contenttask_type— Task type classification (optional)
{
"jsonrpc": "2.0",
"result": { "task_id": "task_jkl456", "status": "queued" },
"id": 1
}tenzro_spawnAgent
Spawn a new autonomous agent instance.
name— Agent namecapabilities— Capabilities arrayconfig— Agent configuration object (optional)
{
"jsonrpc": "2.0",
"result": { "agent_id": "agent_new123", "status": "spawned" },
"id": 1
}tenzro_runAgentTask
Execute a task on an existing agent.
agent_id— Agent identifiertask— Task descriptioninput— Input data
{
"jsonrpc": "2.0",
"result": { "task_id": "task_run123", "status": "running" },
"id": 1
}tenzro_createSwarm
Create a multi-agent swarm for complex tasks.
name— Swarm nameagents— Array of agent IDscoordinator— Coordinator agent ID
{
"jsonrpc": "2.0",
"result": { "swarm_id": "swarm_abc", "agents": 3, "status": "active" },
"id": 1
}tenzro_getSwarmStatus
Get status of a multi-agent swarm.
swarm_id— Swarm identifier
{
"jsonrpc": "2.0",
"result": { "swarm_id": "swarm_abc", "agents": 3, "tasks_completed": 12, "status": "active" },
"id": 1
}tenzro_terminateSwarm
Terminate a multi-agent swarm.
swarm_id— Swarm identifier
{
"jsonrpc": "2.0",
"result": { "status": "terminated" },
"id": 1
}tenzro_delegateTask
Delegate a task from one agent to another.
from_agent— Source agent IDto_agent— Target agent IDtask— Task description
{
"jsonrpc": "2.0",
"result": { "delegation_id": "del_abc", "status": "delegated" },
"id": 1
}tenzro_discoverAgents
Discover agents on the network by capability.
capability— Required capability (optional)
{
"jsonrpc": "2.0",
"result": [
{ "agent_id": "agent_xyz", "capabilities": ["inference", "settlement"], "reputation": 0.95 }
],
"id": 1
}tenzro_spawnAgentWithSkill
Spawn an agent with a pre-registered skill from the Skills Registry.
skill_id— Skill identifierconfig— Agent configuration (optional)
{
"jsonrpc": "2.0",
"result": { "agent_id": "agent_skill123", "skill": "solana-defi", "status": "spawned" },
"id": 1
}tenzro_fundAgent
Fund an agent wallet with TNZO for autonomous transactions.
agent_id— Agent identifieramount— Amount in TNZO
{
"jsonrpc": "2.0",
"result": { "transaction_hash": "0xabc...", "new_balance": "100.0" },
"id": 1
}tenzro_swapToken
Swap tokens on behalf of an agent.
agent_id— Agent identifierfrom_token— Source tokento_token— Target tokenamount— Amount to swap
{
"jsonrpc": "2.0",
"result": { "swap_id": "swap_abc", "received": "99.5", "status": "completed" },
"id": 1
}tenzro_agentPayForInference
Agent pays for an inference request using its wallet.
agent_id— Agent identifiermodel_id— Model to pay foramount— Amount in TNZO
{
"jsonrpc": "2.0",
"result": { "payment_id": "pay_abc", "status": "paid" },
"id": 1
}Task Marketplace Methods
tenzro_postTask
Post a new task to the marketplace.
title— Task titledescription— Task descriptionbudget— Maximum budget in TNZOrequirements— Required capabilities (optional)
{
"jsonrpc": "2.0",
"result": { "task_id": "task_mkt_001", "status": "open" },
"id": 1
}tenzro_listTasks
List tasks in the marketplace.
status— Filter by status: "open", "assigned", "completed" (optional)
{
"jsonrpc": "2.0",
"result": [
{ "task_id": "task_mkt_001", "title": "Analyze dataset", "budget": "10.0", "status": "open" }
],
"id": 1
}tenzro_getTask
Get details of a specific task.
task_id— Task identifier
{
"jsonrpc": "2.0",
"result": {
"task_id": "task_mkt_001",
"title": "Analyze dataset",
"description": "...",
"budget": "10.0",
"status": "open",
"quotes": []
},
"id": 1
}tenzro_cancelTask
Cancel an open task.
task_id— Task identifier
{
"jsonrpc": "2.0",
"result": { "status": "cancelled" },
"id": 1
}tenzro_quoteTask
Submit a quote for an open task.
task_id— Task identifierprice— Quoted price in TNZOestimated_time— Estimated completion time
{
"jsonrpc": "2.0",
"result": { "quote_id": "quote_abc", "status": "submitted" },
"id": 1
}tenzro_assignTask
Assign a task to a quoted provider.
task_id— Task identifierquote_id— Accepted quote ID
{
"jsonrpc": "2.0",
"result": { "status": "assigned" },
"id": 1
}tenzro_completeTask
Mark a task as completed with result.
task_id— Task identifierresult— Task result data
{
"jsonrpc": "2.0",
"result": { "status": "completed", "settlement_hash": "0xabc..." },
"id": 1
}tenzro_updateTask
Update task details or status.
task_id— Task identifierupdates— Fields to update
{
"jsonrpc": "2.0",
"result": { "status": "updated" },
"id": 1
}Agent Marketplace Methods
tenzro_registerAgentTemplate
Register an agent template in the marketplace.
name— Template namedescription— Template descriptioncapabilities— Capabilities arrayprice— Price to use template (TNZO)
{
"jsonrpc": "2.0",
"result": { "template_id": "tmpl_abc", "status": "registered" },
"id": 1
}tenzro_listAgentTemplates
List available agent templates.
{
"jsonrpc": "2.0",
"result": [
{ "template_id": "tmpl_abc", "name": "DeFi Trader", "capabilities": ["trade", "analysis"], "price": "5.0" }
],
"id": 1
}tenzro_getAgentTemplate
Get details of a specific agent template.
template_id— Template identifier
{
"jsonrpc": "2.0",
"result": { "template_id": "tmpl_abc", "name": "DeFi Trader", "description": "...", "capabilities": [...] },
"id": 1
}tenzro_downloadAgentTemplate
Download an agent template for local use.
template_id— Template identifier
{
"jsonrpc": "2.0",
"result": { "status": "downloaded", "path": "~/.tenzro/templates/tmpl_abc" },
"id": 1
}tenzro_updateAgentTemplate
Update an existing agent template.
template_id— Template identifierupdates— Fields to update
{
"jsonrpc": "2.0",
"result": { "status": "updated" },
"id": 1
}tenzro_spawnAgentTemplate
Spawn an agent from a marketplace template.
template_id— Template identifierconfig— Instance configuration (optional)
{
"jsonrpc": "2.0",
"result": { "agent_id": "agent_tmpl_001", "template_id": "tmpl_abc", "status": "spawned" },
"id": 1
}tenzro_runAgentTemplate
Run a task using an agent template without persistent spawn.
template_id— Template identifiertask— Task to execute
{
"jsonrpc": "2.0",
"result": { "task_id": "task_tmpl_001", "status": "running" },
"id": 1
}Skills Registry Methods
tenzro_registerSkill
Register a new skill in the Skills Registry.
name— Skill name (e.g., solana-defi)category— Category (defi, bridge, oracle, etc.)description— Skill descriptiontags— Array of tagsmcp_endpoint— MCP server endpoint (optional)
{
"jsonrpc": "2.0",
"result": { "skill_id": "skill_abc", "status": "registered" },
"id": 1
}tenzro_listSkills
List all registered skills.
{
"jsonrpc": "2.0",
"result": [
{ "skill_id": "openclaw-tenzro", "category": "blockchain", "tags": ["blockchain","ai","identity"] },
{ "skill_id": "solana-defi", "category": "defi", "tags": ["solana","defi","swap"] }
],
"id": 1
}tenzro_searchSkills
Search skills by keyword or tag.
query— Search query
{
"jsonrpc": "2.0",
"result": [
{ "skill_id": "solana-defi", "relevance": 0.95 }
],
"id": 1
}tenzro_useSkill
Invoke a registered skill.
skill_id— Skill identifieraction— Action to performparams— Action parameters
{
"jsonrpc": "2.0",
"result": { "execution_id": "exec_abc", "status": "completed", "result": {...} },
"id": 1
}tenzro_getSkill
Get details of a specific skill.
skill_id— Skill identifier
{
"jsonrpc": "2.0",
"result": { "skill_id": "solana-defi", "name": "Solana DeFi", "category": "defi", "tools": 14 },
"id": 1
}tenzro_updateSkill
Update a registered skill definition.
skill_id— Skill identifierupdates— Fields to update
{
"jsonrpc": "2.0",
"result": { "status": "updated" },
"id": 1
}Tools Registry Methods
tenzro_registerTool
Register a new tool (MCP server, API, etc.) in the Tools Registry.
name— Tool nametool_type— "mcp", "api", or "cli"endpoint— Tool endpoint URLdescription— Tool description
{
"jsonrpc": "2.0",
"result": { "tool_id": "tool_abc", "status": "registered" },
"id": 1
}tenzro_listTools
List all registered tools.
{
"jsonrpc": "2.0",
"result": [
{ "tool_id": "tenzro-solana-mcp", "type": "mcp", "endpoint": "/mcp (port 3003)" },
{ "tool_id": "tenzro-ethereum-mcp", "type": "mcp", "endpoint": "/mcp (port 3004)" }
],
"id": 1
}tenzro_searchTools
Search tools by keyword or type.
query— Search querytype— Tool type filter (optional)
{
"jsonrpc": "2.0",
"result": [{ "tool_id": "tenzro-solana-mcp", "relevance": 0.9 }],
"id": 1
}tenzro_useTool
Invoke a registered tool.
tool_id— Tool identifieraction— Action to performparams— Action parameters
{
"jsonrpc": "2.0",
"result": { "execution_id": "exec_tool_abc", "status": "completed", "result": {...} },
"id": 1
}tenzro_getTool
Get details of a specific tool.
tool_id— Tool identifier
{
"jsonrpc": "2.0",
"result": { "tool_id": "tenzro-solana-mcp", "type": "mcp", "endpoint": "/mcp (port 3003)" },
"id": 1
}tenzro_updateTool
Update a registered tool definition.
tool_id— Tool identifierupdates— Fields to update
{
"jsonrpc": "2.0",
"result": { "status": "updated" },
"id": 1
}Token Registry Methods
tenzro_createToken
Create a new ERC-20 token via the factory and register in the unified registry.
name— Token namesymbol— Token symboldecimals— Decimal places (default 18)initial_supply— Initial supply to mint
{
"jsonrpc": "2.0",
"result": {
"token_id": "tok_abc123",
"address": "0x1234...",
"symbol": "MYTOKEN",
"status": "created"
},
"id": 1
}tenzro_getToken
Lookup a token by symbol, address, or token ID.
identifier— Token symbol, EVM address, or token ID
{
"jsonrpc": "2.0",
"result": {
"token_id": "tok_abc123",
"name": "My Token",
"symbol": "MYTOKEN",
"decimals": 18,
"total_supply": "1000000.0",
"vm_type": "evm"
},
"id": 1
}tenzro_listTokens
List registered tokens with optional VM type filter.
vm_type— "evm", "svm", or "daml" (optional)
{
"jsonrpc": "2.0",
"result": [
{ "token_id": "tok_abc", "symbol": "MYTOKEN", "vm_type": "evm" },
{ "token_id": "native", "symbol": "TNZO", "vm_type": "native" }
],
"id": 1
}tenzro_crossVmTransfer
Atomic cross-VM token transfer using the TNZO pointer model (no bridge risk).
token_id— Token identifierfrom_vm— Source VM typeto_vm— Target VM typeamount— Amount to transferrecipient— Recipient address on target VM
{
"jsonrpc": "2.0",
"result": { "transfer_id": "xvm_abc", "status": "completed" },
"id": 1
}tenzro_wrapTnzo
Wrap native TNZO to a VM-specific representation (wTNZO ERC-20, SPL adapter, CIP-56).
amount— Amount to wraptarget_vm— "evm", "svm", or "daml"
{
"jsonrpc": "2.0",
"result": { "wrapped_amount": "100.0", "vm": "evm", "contract": "0x7a4bcb13..." },
"id": 1
}tenzro_getTokenBalance
Get TNZO balance across all VMs with decimal conversion.
address— Account address
{
"jsonrpc": "2.0",
"result": {
"native": "1000.0",
"evm": "1000.0",
"svm": "1000.0",
"daml": "1000.0"
},
"id": 1
}tenzro_deployContract
Deploy bytecode to EVM, SVM, or DAML via the MultiVmRuntime.
vm_type— "evm", "svm", or "daml"bytecode— Contract bytecode (hex)constructor_args— Constructor arguments (optional)
{
"jsonrpc": "2.0",
"result": {
"contract_address": "0x5678...",
"vm_type": "evm",
"transaction_hash": "0xabc...",
"gas_used": 2100000
},
"id": 1
}Settlement & Escrow Methods
tenzro_settle
Settle a payment between parties.
payer— Payer addresspayee— Payee addressamount— Settlement amount in TNZOproof— Settlement proof (optional)
{
"jsonrpc": "2.0",
"result": { "settlement_id": "settle_abc", "transaction_hash": "0xdef...", "status": "settled" },
"id": 1
}tenzro_getSettlement
Get details of a settlement by ID.
settlement_id— Settlement identifier
{
"jsonrpc": "2.0",
"result": {
"settlement_id": "settle_abc",
"payer": "0x742d...",
"payee": "0x8Ba1...",
"amount": "50.0",
"status": "confirmed"
},
"id": 1
}tenzro_createEscrow
Create an escrow for conditional payment.
payer— Payer addresspayee— Payee addressamount— Escrow amount in TNZO
{
"jsonrpc": "2.0",
"result": { "escrow_id": "escrow_mno123", "status": "pending" },
"id": 1
}tenzro_releaseEscrow
Release escrowed funds upon proof submission.
escrow_id— Escrow identifierproof— Proof data (hex, optional)
{
"jsonrpc": "2.0",
"result": { "status": "released", "transaction_hash": "0xabc456..." },
"id": 1
}tenzro_openPaymentChannel
Open a micropayment channel for off-chain per-token billing.
counterparty— Counterparty addressdeposit— Initial deposit amount
{
"jsonrpc": "2.0",
"result": { "channel_id": "channel_stu456", "deposit": "100.0", "status": "open" },
"id": 1
}tenzro_closePaymentChannel
Close a micropayment channel and settle final balances.
channel_id— Channel identifier
{
"jsonrpc": "2.0",
"result": { "status": "closed", "final_balances": { "spent": "35.2", "remaining": "64.8" } },
"id": 1
}AP2 (Agent Payment Protocol) Methods
tenzro_ap2CreateSession
Create an AP2 payment session between an agent and a provider.
agentDid— DID of the paying agentproviderDid— DID of the service providerserviceType— "inference", "tee", or "storage"maxAmount— Maximum TNZO authorized for this session
{
"jsonrpc": "2.0",
"result": {
"sessionId": "ap2_sess_abc123",
"status": "active",
"maxAmount": "10.0",
"expiresAt": "2026-04-10T13:00:00Z"
},
"id": 1
}tenzro_ap2AuthorizePayment
Authorize a payment within an active AP2 session.
sessionId— AP2 session identifieramount— Amount to authorize in TNZO
{
"jsonrpc": "2.0",
"result": { "authorizationId": "ap2_auth_xyz", "status": "authorized", "remainingBudget": "9.5" },
"id": 1
}tenzro_ap2ExecutePayment
Execute a previously authorized AP2 payment, settling on-chain.
sessionId— AP2 session identifierauthorizationId— Authorization ID
{
"jsonrpc": "2.0",
"result": { "authorizationId": "ap2_auth_xyz", "status": "executed", "transactionHash": "0xabc..." },
"id": 1
}tenzro_ap2CancelSession
Cancel an active AP2 session. Remaining budget is released.
sessionId— AP2 session identifier
{
"jsonrpc": "2.0",
"result": { "status": "cancelled", "totalSpent": "0.5", "refunded": "9.5" },
"id": 1
}tenzro_ap2GetSession
Get details of an AP2 session including authorizations.
sessionId— AP2 session identifier
{
"jsonrpc": "2.0",
"result": {
"sessionId": "ap2_sess_abc123",
"agentDid": "did:tenzro:machine:abc123",
"providerDid": "did:tenzro:machine:def456",
"maxAmount": "10.0",
"totalSpent": "0.5",
"remainingBudget": "9.5",
"status": "active"
},
"id": 1
}Nanopayment Methods
tenzro_openNanopaymentChannel
Open a nanopayment channel for high-frequency off-chain micropayments.
payer— Payer addresspayee— Payee addressdeposit— Initial deposit in TNZO
{
"jsonrpc": "2.0",
"result": { "channelId": "nano_ch_abc", "deposit": "50.0", "status": "open" },
"id": 1
}tenzro_sendNanopayment
Send an off-chain nanopayment within an open channel.
channelId— Channel identifieramount— Payment amount in TNZOmemo— Optional memo (e.g., inference request ID)
{
"jsonrpc": "2.0",
"result": { "paymentId": "nano_pay_xyz", "cumulativeAmount": "0.0532", "status": "accepted" },
"id": 1
}tenzro_flushNanopaymentBatch
Settle accumulated off-chain nanopayments on-chain as a single batch.
channelId— Channel identifier
{
"jsonrpc": "2.0",
"result": { "batchSize": 532, "totalSettled": "0.0532", "transactionHash": "0xdef...", "status": "settled" },
"id": 1
}tenzro_closeNanopaymentChannel
Close a nanopayment channel. Unsettled payments are flushed and remaining deposit refunded.
channelId— Channel identifier
{
"jsonrpc": "2.0",
"result": { "totalSpent": "0.0532", "refunded": "49.9468", "status": "closed" },
"id": 1
}Circuit Breaker Methods
tenzro_getProviderHealth
Get circuit breaker state and health metrics for a provider.
providerId— Provider identifier
{
"jsonrpc": "2.0",
"result": {
"providerId": "provider_abc",
"circuitState": "closed",
"failureCount": 2,
"successCount": 1483,
"failureRate": 0.0013
},
"id": 1
}tenzro_configureCircuitBreaker
Configure circuit breaker thresholds for a provider.
providerId— Provider identifierfailureThreshold— Failures before opening (default 5)resetTimeoutMs— Recovery timeout in ms (default 30000)halfOpenMaxAttempts— Max half-open attempts (default 3)
{
"jsonrpc": "2.0",
"result": { "status": "configured" },
"id": 1
}Canton/DAML Methods
tenzro_listCantonDomains
List configured Canton domains for enterprise DAML integration.
{
"jsonrpc": "2.0",
"result": {
"enabled": true,
"domains": [
{ "id": "enterprise-domain", "host": "canton.example.com", "port": 10011, "status": "connected" }
]
},
"id": 1
}tenzro_listDamlContracts
List active DAML contracts on Canton ledger.
template_id— Template filter (optional)
{
"jsonrpc": "2.0",
"result": {
"contracts": [
{ "contract_id": "contract_vwx", "template_id": "AssetTransfer.Template", "party": "Alice::party" }
]
},
"id": 1
}tenzro_submitDamlCommand
Submit a DAML command to the Canton ledger (JSON Ledger API v2).
command_type— "create", "exercise", or "exercise_by_key"template_id— Template identifierparty— Party identifier
{
"jsonrpc": "2.0",
"result": { "submitted": true, "canton_host": "canton.example.com" },
"id": 1
}Web Verification API
HTTP endpoints on port 8080 for cryptographic verification. Testnet: https://api.tenzro.network
| Method | Description |
|---|---|
POST /api/verify/zk-proof | Verify Groth16, PlonK, or STARK proof |
POST /api/verify/tee-attestation | Verify TEE attestation (TDX, SEV-SNP, Nitro, NVIDIA) |
POST /api/verify/transaction | Verify transaction signature (Ed25519/Secp256k1) |
POST /api/verify/settlement | Verify settlement receipt |
POST /api/verify/inference | Verify inference result with ZK proof |
GET /api/verify/health | Health check |
GET /api/health | Health check (alias) |
GET /api/status | Node status and metrics |
POST /api/faucet | Request testnet TNZO (100 per request, 24h cooldown) |
POST /api/verify/zk-proof
Verify a zero-knowledge proof with structural validation.
{
"proof_type": "groth16",
"proof_bytes": "0xabc123...",
"public_inputs": ["0x123", "0x456"],
"verification_key": "0xdef789..."
}{
"valid": true,
"details": {
"proof_type": "groth16",
"public_inputs_count": 2,
"proof_size_bytes": 128,
"status": "verified"
},
"verified_at": "2026-04-10T12:00:00Z"
}POST /api/verify/tee-attestation
Verify a TEE attestation report with X.509 certificate chain validation.
{
"attestation_data": "0xdef456...",
"vendor": "intel_tdx",
"report_data": "0xabcdef..."
}{
"valid": true,
"details": { "vendor": "intel_tdx", "attestation_size": 64 },
"verified_at": "2026-04-10T12:00:00Z"
}POST /api/verify/transaction
Verify a transaction signature using Ed25519 or Secp256k1.
{
"tx_hash": "0x789abc...",
"sender": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb5",
"signature": "0xdef123...",
"public_key": "0x0123456789abcdef..."
}{
"valid": true,
"details": { "key_type": "ed25519", "sender_match": true, "signature_valid": true },
"verified_at": "2026-04-10T12:00:00Z"
}GET /api/status
Node status and network metrics.
{
"block_height": 1207,
"peer_count": 25,
"chain_id": 1337,
"sync_status": "synced"
}Error Codes
All APIs return standard JSON-RPC 2.0 error responses:
{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid params"
},
"id": 1
}| Method | Description |
|---|---|
-32700 | Parse error — invalid JSON |
-32600 | Invalid request — missing required fields |
-32601 | Method not found |
-32602 | Invalid params — wrong type or missing required params |
-32603 | Internal error — server-side failure |
-32000 | Server error — generic application error |
-32001 | Resource not found (block, tx, identity) |
-32002 | Insufficient funds |
-32003 | Unauthorized — invalid credentials or permissions |
Complete Method Reference
All 148 RPC methods organized by namespace:
Ethereum Compatible (18)
eth_blockNumber eth_getBalance eth_getTransactionCount eth_sendRawTransaction eth_getBlockByNumber eth_getBlockByHash eth_chainId eth_getTransactionReceipt eth_gasPrice eth_estimateGas eth_getCode eth_getStorageAt eth_call eth_getLogs eth_getBlockTransactionCountByNumber eth_getBlockTransactionCountByHash eth_getTransactionByBlockNumberAndIndex eth_syncing
Web3 & Network (5)
web3_clientVersion web3_sha3 net_version net_peerCount net_listening
Blockchain (7)
tenzro_blockNumber tenzro_getBlock tenzro_getTransaction tenzro_sendTransaction tenzro_submitBlock tenzro_getFinalizedBlock tenzro_getTransactionHistory
Accounts (7)
tenzro_createAccount tenzro_createWallet tenzro_getBalance tenzro_getNonce tenzro_listAccounts tenzro_tokenBalance tenzro_totalSupply
Onboarding (3)
tenzro_participate tenzro_importIdentity tenzro_joinAsMicroNode
Identity (9)
tenzro_registerIdentity tenzro_registerMachineIdentity tenzro_resolveIdentity tenzro_resolveDidDocument tenzro_listIdentities tenzro_addCredential tenzro_addService tenzro_setUsername tenzro_resolveUsername
Node & Network (7)
tenzro_nodeInfo tenzro_peerCount tenzro_syncing tenzro_getHardwareProfile tenzro_setRole tenzro_exportConfig tenzro_shutdown
Models & Inference (13)
tenzro_listModels tenzro_inferenceRequest tenzro_chat tenzro_downloadModel tenzro_getDownloadProgress tenzro_serveModel tenzro_stopModel tenzro_deleteModel tenzro_listModelEndpoints tenzro_getModelEndpoint tenzro_registerModelEndpoint tenzro_unregisterModelEndpoint tenzro_discoverModels
Provider (9)
tenzro_registerProvider tenzro_providerStats tenzro_listProviders tenzro_setProviderSchedule tenzro_getProviderSchedule tenzro_setProviderPricing tenzro_getProviderPricing tenzro_addResource tenzro_faucet
Payments (8)
tenzro_createPaymentChallenge tenzro_payMpp tenzro_payX402 tenzro_payVisaTap tenzro_payMastercard tenzro_listPaymentSessions tenzro_paymentGatewayInfo tenzro_getPaymentReceipt
Staking & Governance (7)
tenzro_stake tenzro_unstake tenzro_getVotingPower tenzro_listProposals tenzro_createProposal tenzro_vote tenzro_delegateVotingPower
Agents (14)
tenzro_registerAgent tenzro_listAgents tenzro_sendAgentMessage tenzro_spawnAgent tenzro_runAgentTask tenzro_createSwarm tenzro_getSwarmStatus tenzro_terminateSwarm tenzro_delegateTask tenzro_discoverAgents tenzro_spawnAgentWithSkill tenzro_fundAgent tenzro_swapToken tenzro_agentPayForInference
Task Marketplace (8)
tenzro_postTask tenzro_listTasks tenzro_getTask tenzro_cancelTask tenzro_quoteTask tenzro_assignTask tenzro_completeTask tenzro_updateTask
Agent Marketplace (7)
tenzro_registerAgentTemplate tenzro_listAgentTemplates tenzro_getAgentTemplate tenzro_downloadAgentTemplate tenzro_updateAgentTemplate tenzro_spawnAgentTemplate tenzro_runAgentTemplate
Skills Registry (6)
tenzro_registerSkill tenzro_listSkills tenzro_searchSkills tenzro_useSkill tenzro_getSkill tenzro_updateSkill
Tools Registry (6)
tenzro_registerTool tenzro_listTools tenzro_searchTools tenzro_useTool tenzro_getTool tenzro_updateTool
Token Registry (7)
tenzro_createToken tenzro_getToken tenzro_listTokens tenzro_crossVmTransfer tenzro_wrapTnzo tenzro_getTokenBalance tenzro_deployContract
Settlement & Escrow (6)
tenzro_settle tenzro_getSettlement tenzro_createEscrow tenzro_releaseEscrow tenzro_openPaymentChannel tenzro_closePaymentChannel
Canton/DAML (3)
tenzro_listCantonDomains tenzro_listDamlContracts tenzro_submitDamlCommand
Events & Streaming (7)
eth_subscribe eth_unsubscribe eth_getLogs tenzro_getEvents tenzro_eventStatus tenzro_registerWebhook tenzro_deleteWebhook tenzro_listWebhooks
NFT Operations (8)
tenzro_createNftCollection tenzro_mintNft tenzro_mintNftBatch tenzro_transferNft tenzro_nftOwnerOf tenzro_nftBalanceOf tenzro_getNftCollection tenzro_listNftCollections tenzro_registerNftPointer
Bridge Operations (6)
tenzro_bridgeQuote tenzro_bridgeTokens tenzro_bridgeStatus tenzro_bridgeRoutes tenzro_listBridgeAdapters tenzro_bridgeWithHook
ERC-7802 Cross-Chain (6)
tenzro_crosschainMint tenzro_crosschainBurn tenzro_authorizeBridge tenzro_revokeBridge tenzro_listAuthorizedBridges tenzro_updateBridgeLimits
ERC-3643 Compliance (9)
tenzro_registerCompliance tenzro_checkCompliance tenzro_freezeAddress tenzro_unfreezeAddress tenzro_recoverTokens tenzro_addIdentityClaim tenzro_addTrustedIssuer tenzro_whitelistAddress tenzro_setCountryRestriction