Adoption has to stay small even when the platform is not. The intended developer experience is to verify that a proposed action sits inside delegated authority, then attest the decision and its outcome.
const authority = await exochain.verify({
agent: agentIdentity,
action: proposedAction,
mandate: delegatedAuthority,
context: decisionEvidence
});
if (!authority.allowed) {
throw new Error("Not authorized");
}
const receipt = await exochain.attest({
authority,
decision: proposedAction,
outcome: executionResult
});A stale or revoked delegation fails closed before the action runs.
The proof cites this action, not a general permission to act later.
The check sits on the boundary that actually performs the action.
After execution, the receipt records what occurred, not only what was proposed.
The repository ships Rust, TypeScript, and Python SDKs at v0.2.7. The TypeScript client below is the current surface. It does not implement the illustrative verify and attest calls.
import { ExochainClient, PROTOCOL_VERSION } from '@exochain/sdk';
// PROTOCOL_VERSION in the v0.2.7 TypeScript SDK is "0.2.7".
// Namespaces on ExochainClient: identity, consent, governance, authority, economy.
// discover() and health() are real methods. verify() and attest() are not.
const client = new ExochainClient({
baseUrl: 'https://gateway.example',
});
const discovery = await client.discover();
const health = await client.health();Apache-2.0 core in the public repository. Commercial products that sit on top of the core have their own terms.
github.com/exochain/exochainBring one constrained, cross-organizational workflow — a procurement decision or an executive approval, for example — where two parties need to verify legitimate authority without sharing an internal system. Developers can start from the SDK in the public repository.