Developers

Two calls. Verify authority. Produce evidence.

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.

beta v0.2.7illustrative APIApache-2.0 core

Target shape

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
});
Illustrative API design — not the current EXOCHAIN SDK
Illustrative API design, not the current EXOCHAIN SDK. Proof of Authority remains a working category concept. A production call sequence still has to check freshness and revocation, bind evidence to the exact action, enforce the decision at the execution boundary, and record outcome evidence after execution.

What has to be true around those two calls

Freshness and revocation

A stale or revoked delegation fails closed before the action runs.

Evidence bound to the action

The proof cites this action, not a general permission to act later.

Enforcement at execution

The check sits on the boundary that actually performs the action.

Outcome evidence

After execution, the receipt records what occurred, not only what was proposed.

Current SDK

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();
Current TypeScript SDK — ExochainClient in @exochain/sdk 0.2.7
Gateway URLs, API keys, and tenant configuration come from the operator. This page does not publish credentials or a hosted production endpoint.

Resources

Source

Apache-2.0 core in the public repository. Commercial products that sit on top of the core have their own terms.

github.com/exochain/exochain

Talk to us about a design-partner pilot.

Bring 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.