Build on EXOCHAIN.
Issue and validate AVCs. Generate trust receipts. Run a node. The Rust SDK is the reference; Node/TypeScript and Python are on the roadmap.
Quickstart
01
Install the SDK
# Cargo (Rust reference)
cargo add exochain-sdk
# Roadmap
# npm install @exochain/sdk (v0.5)
# pip install exochain (v0.5)
02
Register an actor
use exochain_sdk::{Client, ActorKind};
let client = Client::connect_default().await?;
let actor = client.register_actor(
ActorKind::Agent,
"Aperture Procurement Agent",
parent_org_id,
).await?;
03
Issue an AVC
let avc = client.issue_avc(IssueAvcParams {
subject: actor.id,
policy_domain: "aperture.procurement".into(),
scope: vec!["procure.search","procure.quote","procure.purchase"],
constraints: serde_json::json!({"ceiling_usd": 50_000}),
not_after: now + Duration::days(180),
}).await?;
04
Validate, then act
let v = client.validate_avc(&avc.token).await?;
match v {
Validation::Pass(scope) => agent.act(scope).await?,
Validation::Fail(reason) => abort(reason),
}
05
Generate a trust receipt
let receipt = client.emit_trust_receipt(EmitParams {
avc_id: avc.id,
action_descriptor: "procure.purchase:po-2026-0234",
outcome: Outcome::Permitted,
}).await?;
06
Settlement (zero-priced launch policy)
let quote = client.settlement_quote(receipt.id).await?;
assert_eq!(quote.amount, "0"); // launch_policy_zero
let sr = client.commit_settlement(quote).await?;
assert_eq!(sr.amount, "0");
Resources
Documentation
Operate
Source
Apache-2.0 reference implementation. The public repository link is forthcoming.