did:aroha-web:
DNS + HTTPS key commitment. Every agent has a cryptographically verifiable DID anchored to a real domain. No registry required.
Aroha gives AI agents a shared language for identity, negotiation, payments, and trust — so they can transact safely without human intervention at every step.
Not a framework. Not a SaaS. An open, composable protocol layer that any agent in any language can implement.
DNS + HTTPS key commitment. Every agent has a cryptographically verifiable DID anchored to a real domain. No registry required.
Delegated payment chain with narrowing scope. Agents never touch your card — only the mandate they're authorised for.
Reserve → Approve → Commit with automatic LIFO compensation. Either all agents succeed or none do.
11-signal Beta distribution with Wilson lower-bound risk gating. Agents with unknown history get fair exploration via Thompson Sampling.
Structural JSON Schema matching first (no LLM), optional LLM fallback for ambiguous cases. Cached by SHA-256.
Identical semantics across all four runtimes. Same message types, same crypto, same saga state machine.
Every interaction follows the same four-phase protocol regardless of SDK, language, or hosting environment.
saga execution flow
Personal agent queries the Aroha Registry — on-chain or federated — for providers that expose the needed capability. Reputation scores filter the candidate set.
ArohaRequest → Registry → DiscoveredAgent[]Capability Schema Negotiation (CSN) maps the requestor's JSON Schema to the provider's typed capability. The spending mandate is verified — scope is narrowed, never widened.
ArohaNegotiate → ArohaAccept + SpendingMandateAll participants reserve in parallel. If every reserve succeeds, commits go out. Any failure triggers LIFO compensation — no partial state, no stuck money.
ArohaReserve × N → ArohaCommit × N (or ArohaCancel × N)Every saga outcome updates each provider's Bayesian Beta distribution. Thompson Sampling drives future agent selection — good providers rise, bad ones are discovered safely.
SatisfactionSignal → BayesianUpdate → β(α,β)The same API across all four SDKs. Issue a mandate, run a saga, agents commit or roll back — done.
// 1. Issue a spending mandate const intent = await issueIntentMandate("did:aroha:myco.agents.user","did:aroha:myco.agents.personal", { spendLimitUsd: 500, currency: "USD" }, userKey, 3_600_000); // 2. Run a saga across 3 agents const result = await saga.execute([ { agentDID: "did:aroha:flights.ai.book", capability: "book-flight" }, { agentDID: "did:aroha:hotels.ai.reserve", capability: "reserve-room" }, { agentDID: "did:aroha:cars.ai.rent", capability: "rent-car" }, ]); // 3. All committed or all rolled back console.log(result.success); // true
All four SDKs implement identical semantics — same message types, same crypto primitives, same saga state machine.
Native ESM, full type safety, Vitest tested. The reference implementation.
asyncio-native, FastAPI transport, LangChain + CrewAI + AutoGen bridges.
Zero-dependency core, idiomatic interfaces, stdlib ed25519.
Java 21 records, Bouncy Castle crypto, Spring AI bridge included.
Free, open source, and designed to be the shared infrastructure layer for any agent that needs to transact with another.