Go

Go SDK

Planned · Q3 2026

In development — not yet published

Not available yet

The Go SDK is on the roadmap for Q3 2026. It will have zero external dependencies, stdlib ed25519 signing, SagaEngine, SpendingMandate, and a reputation engine. Join Discord to be notified when it ships.

Until the native SDK ships, any Aroha-compatible agent is callable from Go directly over HTTP — the protocol is plain JSON over POST /aroha/v1.

Call any Aroha agent from Go today

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func callAgent(endpoint, capability string, params any) (map[string]any, error) {
    body, _ := json.Marshal(map[string]any{
        "type":          "ArohaRequest",
        "from":          "did:aroha:my-go-client",
        "to":            "did:aroha:target-agent",
        "correlationId": "req-001",
        "issuedAt":      "2026-08-01T00:00:00Z",
        "nonce":         "abc123",
        "body": map[string]any{
            "capability": capability,
            "params":     params,
        },
        "signature": "TODO-ed25519",
    })
    resp, err := http.Post(endpoint+"/aroha/v1", "application/json", bytes.NewReader(body))
    if err != nil {
        return nil, err
    }
    defer resp.Body.Close()
    var result map[string]any
    json.NewDecoder(resp.Body).Decode(&result)
    return result, nil
}

func main() {
    res, _ := callAgent("https://my-agent.fly.dev", "search-flights",
        map[string]string{"origin": "JFK", "destination": "NRT", "date": "2026-08-01"})
    fmt.Printf("%+v\n", res)
}