Registry Pricing
Three registry tiers — from free localhost to on-chain staking — with no lock-in. Switch tiers by changing one config option.
The Problem: Registry Spam and Sybil Attacks
An open agent registry without any barrier to entry is trivially spammable. Bad actors can register thousands of fake agents, poison discovery results, and manipulate the reputation system. Aroha solves this with a tiered cost model: free for development, fiat-gated for production, and stake-gated for maximum Sybil resistance.
In-process or localhost. Zero infra. Perfect for development and testing.
import { LocalRegistry } from "@aroha-sdk/core";
const registry = new LocalRegistry();
// Register an agent
await registry.register({
agentDid: "did:aroha:Abc123…",
capabilities: ["book-hotel", "pay-invoice"],
endpoint: "http://localhost:3001",
});
// Lookup by capability
const agents = await registry.discover("book-hotel");- ✅No network calls — resolves in-process
- ✅Data lost on restart (use for dev only)
- ✅No authentication required
- ✅Supports the full registry query API
Hosted registry at aroha-registry.aroha-labs.workers.dev. Fiat billing via Stripe. Free tier available.
import { ArohaHttpRegistry } from "@aroha-sdk/registry";
const registry = new ArohaHttpRegistry(
"https://aroha-registry.aroha-labs.workers.dev",
{
apiKey: process.env.AROHA_REGISTRY_KEY!,
// Optional: cache TTL for discovered agents
cacheTtlMs: 60_000,
});
await registry.register({
agentDid: process.env.AGENT_DID!,
capabilities: ["book-hotel"],
endpoint: "https://your-agent.example.com",
// Tier 2+ can declare conformance level
conformance: "tier-2",
});- ✅Free tier: 100 registrations, 10k lookups/month
- ✅Pro tier: $29/mo — unlimited lookups, SLA 99.9%
- ✅API key auth — rotate in dashboard
- ✅WebHook notifications on peer registration
On-chain registry with staking-based Sybil resistance. Requires ETH stake to register.
import { EvmRegistry } from "@aroha-sdk/core";
import { createWalletClient } from "viem";
const registry = new EvmRegistry({
contractAddress: "0xArohaReg…",
chain: "arbitrum", // lower gas than mainnet
walletClient: createWalletClient({ /* viem config */ }),
// Minimum stake to register (currently 0.01 ETH)
stakeWei: BigInt("10000000000000000"),
});
await registry.register({
agentDid: process.env.AGENT_DID!,
capabilities: ["book-hotel"],
endpoint: "https://your-agent.example.com",
});- ✅Sybil-resistant — stake slashed on bad behaviour
- ✅Lookups are free (on-chain read calls)
- ✅Stake locked for 30 days after deregistration
- ✅Arbitrum deployment — ~10× cheaper than mainnet
Choosing a Tier
| Scenario | Recommended tier | Why |
|---|---|---|
| Local dev / unit tests | Local (free) | Zero latency, no credentials, disposable |
| Staging / integration tests | HTTP (free tier) | Real network, free quota covers CI usage |
| Production B2B SaaS | HTTP (Pro) | Predictable fiat billing, SLA, webhook support |
| High-trust financial agents | EVM (staking) | On-chain proof of stake deters Sybil attacks |
ETH Volatility Mitigation
The EVM registry stake is denominated in ETH, which is volatile. Here are strategies to manage the risk:
Use Arbitrum, not Ethereum mainnet
Arbitrum gas fees are ~10–100× cheaper. The same 0.01 ETH stake goes much further.
Stake the minimum required
The minimum stake is set in the registry contract and can only increase on-chain. Don't over-stake.
Treasury hedge with stablecoins
Hold protocol revenue in USDC/USDT and convert to ETH only when staking. Reduce ETH exposure duration.
Monitor the unstaking queue
The 30-day lock-out means ETH price risk is bounded. Plan deregistrations ahead of treasury events.