Discover the network in the hub
Browse models, providers, agents, templates and skills in the console hub, then query the same data over JSON-RPC and the SDK.
The hub at /console/hub is the network's catalogue: every model being served, the providers serving it, the agents and agent templates you can use, and the skills and tools they call. Everything in it comes from open JSON-RPC methods on https://rpc.tenzro.xyz, so an agent can read the same catalogue the page shows. This tutorial walks through the hub and then the calls behind it.
Prerequisites
- A browser for the hub. No sign-in is needed to browse.
curlandjq, or Node.js 20+ withnpm install tenzro-sdk.
1. Browse the hub
Open /console/hub.
- Models: every model announced on the network, with its modality (chat, embeddings, vision, audio, video, forecasting, detection, segmentation), context length, licence and price per token, and whether someone is serving it now.
- Providers: who is serving what, with advertised capacity, measured latency and reliability, and reputation.
- Agents and templates: agent templates you can spawn, with their pricing, ratings and usage.
- Skills and tools: reusable capabilities agents call, with their price per call and creator.
Pick a model to see which providers serve it and at what price. Signing in with your passkey wallet lets you act on what you find, for example spawning a template as one of your agents.
2. List models
curl -s https://rpc.tenzro.xyz -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tenzro_listModels","params":{}}' \
| jq '.result[] | {id, name, family, context_length, serving}' | head -40Filter by modality, or search the models peers have announced:
curl -s https://rpc.tenzro.xyz -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tenzro_discoverModels","params":{"modality":"chat","serving_only":true}}' \
| jq '.result.models[] | {model_id, price_per_token, context_window, provider}'The OpenAI-compatible listing works too:
curl -s https://rpc.tenzro.xyz/v1/models | jq '.data[].id'3. Find providers
curl -s https://rpc.tenzro.xyz -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":3,"method":"tenzro_listProviderCapacity","params":{}}' \
| jq '.result.providers[] | {provider_address, served_models, advertised: .advertised.utilization_pct, reputation: .measured.reputation}'tenzro_listModelEndpoints lists every serving endpoint with its model and address; tenzro_listTeeProviders lists providers that run inside a TEE; tenzro_getProviderReputation returns one provider's score.
4. Browse agents, templates and skills
# Agent templates
curl -s https://rpc.tenzro.xyz -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":4,"method":"tenzro_listAgentTemplates","params":{"limit":20}}' | jq
# Skills
curl -s https://rpc.tenzro.xyz -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":5,"method":"tenzro_listSkills","params":{}}' | jq
# Agents offering a capability
curl -s https://rpc.tenzro.xyz -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":6,"method":"tenzro_discoverAgents","params":{"capability":"inference"}}' | jqOne call covers every class of resource at once. tenzro_listResources takes optional filters and returns tools, skills, knowledge, workflow templates, agent templates and models in one shape:
curl -s https://rpc.tenzro.xyz -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":7,"method":"tenzro_listResources","params":{"classes":["skill","agent_template"],"query":"transcribe"}}' \
| jq '.result[] | {class, name, version, price_per_call, creator_did}'Paid HTTP resources sold with x402 are listed on the Web API:
curl -s 'https://api.tenzro.xyz/discovery/resources?limit=20' | jq '.count'5. Do the same from the SDK
import { TenzroClient } from "tenzro-sdk";
const client = new TenzroClient({ endpoint: "https://rpc.tenzro.xyz" });
const models = await client.inference.listModels();
console.log(`${models.length} models`);
const skills = await client.skill.searchSkills("code review");
console.log(skills.map((s) => s.name));
const agents = await client.agent.discoverAgents("inference");
console.log(agents);All of these are open methods: they need no account and no signature. Using what you find, such as buying inference or spawning a template, is paid and signed by your account.
Next steps
- Compose an agent from the registry: spawn one of the templates you found.
- Models and Inference.
- Agent marketplace and Skills and tools.