Tenzro Testnet is live. Get testnet TNZO

Agent Marketplace

The Tenzro Agent Marketplace is a decentralised registry of reusable AI agent templates. Developers publish specialist, orchestrator, and multi-modal templates; users browse and deploy them with one call. Templates can be free, per-execution, per-token, or subscription-based.

Template Types

TypeDescription
specialistFocused single-domain agent (code review, data analysis, translation)
orchestratorCoordinates multiple specialist sub-agents in a pipeline
autonomousSelf-directed agent with long-horizon goals and tool use
multi_modalProcesses text, images, audio, and structured data
tool_agentWraps external APIs and MCP tools for agent consumption
customUser-defined type for experimental or niche use cases

Pricing Models

ModelJSONUse case
free{ "type": "free" }Open-source, community templates
per_execution{ "type": "per_execution", "price": "5000000000000000000" }One-off tasks, batch jobs
per_token{ "type": "per_token", "price_per_token": "1000000000000" }Long-running inference, document processing
subscription{ "type": "subscription", "monthly_rate": "50000000000000000000" }Always-on orchestrators, production pipelines

RPC Methods

List Templates

// Browse free templates only
{
  "jsonrpc": "2.0",
  "method": "tenzro_listAgentTemplates",
  "params": { "free_only": true, "limit": 20, "offset": 0 }
}

// Filter by type
{
  "jsonrpc": "2.0",
  "method": "tenzro_listAgentTemplates",
  "params": { "template_type": "specialist", "limit": 10 }
}

Register a Template

{
  "jsonrpc": "2.0",
  "method": "tenzro_registerAgentTemplate",
  "params": {
    "name": "TypeScript Code Reviewer",
    "description": "Reviews TypeScript/JavaScript for type safety and best practices.",
    "template_type": "specialist",
    "system_prompt": "You are an expert TypeScript code reviewer...",
    "tags": ["typescript", "javascript", "code-review"],
    "pricing": { "type": "free" }
  }
}

Get Template Details

{
  "jsonrpc": "2.0",
  "method": "tenzro_getAgentTemplate",
  "params": { "template_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7" }
}

// Response
{
  "result": {
    "template_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "TypeScript Code Reviewer",
    "creator": "addr_creator123...",
    "version": "1.0.0",
    "template_type": "specialist",
    "status": "active",
    "download_count": 42,
    "rating": 87,
    "tags": ["typescript", "javascript", "code-review"],
    "pricing": { "type": "free" }
  }
}

Rust SDK

use tenzro_sdk::{TenzroClient, config::SdkConfig};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = TenzroClient::connect(SdkConfig::testnet()).await?;
    let marketplace = client.marketplace();

    // Browse free templates
    let free = marketplace.list_agent_templates(Some(true), Some(20), Some(0)).await?;
    println!("{} free templates", free.len());

    // Register a free specialist template
    let template = marketplace.register_agent_template(
        "Rust Code Reviewer",
        "Reviews Rust code for safety, idiomatic patterns, and performance.",
        "specialist",
        "You are an expert Rust code reviewer. Check for memory safety,          error handling with Result/Option, and idiomatic patterns.",
        vec!["rust".to_string(), "code-review".to_string()],
        serde_json::json!({ "type": "free" }),
    ).await?;

    println!("Template ID: {}", template.template_id);

    // Register a paid per-execution template
    let paid = marketplace.register_agent_template(
        "Advanced Data Analyst",
        "Statistical analysis and trend detection for CSV and JSON data.",
        "specialist",
        "You are an expert data analyst. Parse data, identify patterns,          and return structured JSON insights.",
        vec!["data".to_string(), "analytics".to_string()],
        serde_json::json!({
            "type": "per_execution",
            "price": "5000000000000000000"  // 5 TNZO
        }),
    ).await?;

    println!("Paid template ID: {}", paid.template_id);

    // Get template details
    let details = marketplace.get_agent_template(&template.template_id).await?;
    println!("Downloads: {}", details.download_count);
    println!("Rating: {}/100", details.rating);

    Ok(())
}

TypeScript SDK

import { TenzroClient, TESTNET_CONFIG } from "@tenzro/sdk";

const client = await TenzroClient.connect({ ...TESTNET_CONFIG });

// Browse free templates
const freeTemplates = await client.marketplace.listAgentTemplates({
  free_only: true,
  limit: 20,
  offset: 0,
});
console.log(`${freeTemplates.length} free templates`);

// Register a free specialist template
const tsReviewer = await client.marketplace.registerAgentTemplate({
  name: "TypeScript Code Reviewer",
  description: "Autonomous agent for TypeScript/JavaScript code review.",
  template_type: "specialist",
  system_prompt:
    "You are an expert TypeScript code reviewer. Check for type safety, " +
    "correctness, performance, and adherence to modern best practices.",
  tags: ["typescript", "javascript", "code-review"],
  pricing: { type: "free" },
});
console.log("Template ID:", tsReviewer.template_id);

// Register a per-execution paid template
const dataAgent = await client.marketplace.registerAgentTemplate({
  name: "Advanced Data Analyst",
  description: "Statistical analysis and data visualisation specialist.",
  template_type: "specialist",
  system_prompt: "You are an expert data analyst...",
  tags: ["data", "analytics", "statistics"],
  pricing: {
    type: "per_execution",
    price: "5000000000000000000", // 5 TNZO per run
  },
});

// Register a subscription-based orchestrator
const orchestrator = await client.marketplace.registerAgentTemplate({
  name: "Research Pipeline Orchestrator",
  description: "Coordinates search, analysis, and report generation agents.",
  template_type: "orchestrator",
  system_prompt: "You are a research pipeline orchestrator...",
  tags: ["research", "orchestration", "multi-agent"],
  pricing: {
    type: "subscription",
    monthly_rate: "50000000000000000000", // 50 TNZO/month
  },
});

// Get template details
const details = await client.marketplace.getAgentTemplate(
  tsReviewer.template_id
);
console.log("Downloads:", details.download_count);
console.log("Rating:", details.rating);
console.log("Pricing:", details.pricing);

Discovery and Ratings

Templates are discoverable via tag search, type filter, and popularity sort. Every execution increments download_count. Users can rate templates on-chain (0–100 score) — ratings are stake-weighted to prevent Sybil manipulation.

Revenue Distribution

Paid template revenue flows through the settlement engine:

  • 95% → template creator (via micropayment channel)
  • 5% → Tenzro Network treasury

Revenue-share templates split earnings between the creator and any downstream providers that contributed to execution.