Languages

SDKs.

Client libraries for Themisra attestation and Kleidon products across the languages you already ship in.

Note
Only the TypeScript SDK has a working implementation on devnet today. The rest are tracked here as the spec so you can see what's coming; the status tag on each section tells you where it is.

Every SDK exposes the same surface: a themisra.* namespace for attestations and verification, and a kleidon.* namespace for the four Kleidon products (Passify, SkinsVault, TokenForge, MintMarket). Languages differ only in idiom — same methods, same semantics, same wire protocol.

TypeScript

Available

Universal client. Works in Node, Bun, Deno, and the browser.

Install
npm install @ligate/sdk
First call
import { Ligate } from '@ligate/sdk'

const l = new Ligate({ chain: 'devnet' })

const receipt = await l.themisra.attest({
  model: 'claude-4.7-opus',
  prompt: 'Write a parser',
  output: '...',
})

console.log(receipt.id)

Python

Draft

For Jupyter, ML pipelines, and agent frameworks. Async-first via httpx.

Install
pip install ligate
First call
from ligate import Ligate

l = Ligate(chain="devnet")

receipt = await l.themisra.attest(
    model="claude-4.7-opus",
    prompt="Write a parser",
    output="...",
)

print(receipt.id)

Rust

Draft

For chain-adjacent services, nodes, and high-throughput pipelines.

Install
cargo add ligate
First call
use ligate::{Ligate, Chain};

let l = Ligate::new(Chain::Devnet);

let receipt = l.themisra.attest()
    .model("claude-4.7-opus")
    .prompt("Write a parser")
    .output("...")
    .submit()
    .await?;

println!("{}", receipt.id);

Go

Planned

For backend services. Coming after TypeScript and Python stabilise.

Install
go get github.com/ligate-io/ligate-go
First call
l := ligate.New(ligate.Devnet)

receipt, err := l.Themisra.Attest(ligate.AttestInput{
    Model:  "claude-4.7-opus",
    Prompt: "Write a parser",
    Output: "...",
})

Unity C#

Planned

Kleidon-focused: wallet connect, asset rendering, token balance, SkinsVault.

Install
Import via Unity Package Manager
First call
// Kleidon wallet + asset rendering
Kleidon.Connect()
    .OnSigned((wallet) => {
        var items = Kleidon.SkinsVault.GetInventory(wallet);
        ui.Render(items);
    });

Unreal C++

Planned

Same feature set as Unity, for Unreal engine titles.

Install
Add plugin from marketplace
First call
// Same surface as the Unity SDK, C++ bindings
UKleidon::Connect([](FKleidonWallet wallet) {
    auto items = UKleidon::SkinsVault::GetInventory(wallet);
    UI->Render(items);
});

Looking for a language not listed? Email hello@ligate.io. A grant is available for community-maintained SDKs.