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
| Type | Description |
|---|---|
| specialist | Focused single-domain agent (code review, data analysis, translation) |
| orchestrator | Coordinates multiple specialist sub-agents in a pipeline |
| autonomous | Self-directed agent with long-horizon goals and tool use |
| multi_modal | Processes text, images, audio, and structured data |
| tool_agent | Wraps external APIs and MCP tools for agent consumption |
| custom | User-defined type for experimental or niche use cases |
Pricing Models
| Model | JSON | Use 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.