openagent-sdk-go is the Go SDK, verify-first like the other languages: most services never mint an ACT — they verify one.
Private preview. The module path resolves from the private repository with OpenAgentID organization access.

Verify an ACT

Or the fluent shape, mirroring the other SDKs:
Verification follows the normative order: envelope decode, version and algorithm checks, Ed25519 signature verification (stdlib) before any claim check, temporal checks with leeway, and issuer/audience/scope policy. The aud field accepts a string or an array per the spec. Sentinel error kinds are errors.Is-distinguishable — forgery, expiry, and misconfiguration report differently.

Guard handlers

A missing, forged, expired, wrong-audience, or under-scoped token gets a 401 with the reason and WWW-Authenticate: OpenAgent; the route never runs. Verified claims are available via openagent.ClaimsFromRequest(r).

Key custody

Everything derives deterministically from one 32-byte seed (Ed25519 signing keypair + X25519 encryption keypair). Go custody uses BLAKE2b keyed derivation (documented); the canonical cross-SDK derivation is BLAKE3 — Go custody is self-consistent.

In the box

Conformance

12 Go tests plus the 13 canonical ACT vectors via cmd/run-vectors — the same vectors the other five languages run.

Next