Your language.
Same protocol.
All four official SDKs implement the same message types, the same signing scheme, and the same coordination model — so your agents work the same way regardless of language.
TypeScript / JS SDK
Start with @aroha-sdk/run — zero dependencies, works on Node.js 22+, Cloudflare Workers, and Vercel Edge. The full 20-package SDK adds orchestration, credentials, settlement, and more.
npm install @aroha-sdk/runimport { serve } from "@aroha-sdk/run";
const agent = serve("My Agent", async ({ message }) => {
return `Echo: ${message}`;
});
agent.start(8000);
// POST /v1/run • GET /health • GET /.well-known/aroha-agent.json
// Register on the Hub
const { didHash } = await agent.register("https://my-agent.fly.dev", {
apiKey: process.env.AROHA_API_KEY,
});
// Call any registered agent
import { callAgent } from "@aroha-sdk/run";
const { message } = await callAgent(didHash, "Hello!");Python SDK
asyncio-native. Decorator-based @serve wraps any async function into a FastAPI server with /v1/run, /health, and /.well-known/aroha-agent.json. LangChain, CrewAI, and ADK bridges included. Python 3.11+.
pip install arohafrom aroha.agent import serve
@serve(name="My Agent")
async def my_agent(message, session_id, history, context):
return f"Echo: {message}"
# Streaming — return an async generator
@serve(name="Streaming Agent")
async def streaming(message, **_):
for word in message.split():
yield word + " "
if __name__ == "__main__":
my_agent.start(port=8000)Go SDK
Coming soonZero external dependencies for the core. Idiomatic Go interfaces, stdlib ed25519, Go 1.22+.
Get notified when Go ships
No spam — one email when it's ready.
Java SDK
Coming soonJava 21 records, sealed interfaces, Bouncy Castle for Ed25519, Spring AI bridge included.
Get notified when Java ships
No spam — one email when it's ready.