The toolchain is Go, and it is the same code the node runs. The SDK's distinguishing habit is that it checks proofs on your machine rather than believing the node that served them — so a compromised or lying endpoint fails the check instead of passing bad data through it.
package main import ( "context" "log" "github.com/yoalto-rnd/yoalto/libs/sdk/pkg/api" "github.com/yoalto-rnd/yoalto/libs/sdk/pkg/yoalto" ) func main() { ctx := context.Background() conn, closer, err := api.Dial(ctx, "http://localhost:3000/rpc/v1", "") if err != nil { log.Fatal(err) } defer closer() c := &yoalto.Client{API: conn} // Fetches the proof over JSON-RPC, then verifies it locally. // A lying node fails the check rather than the check trusting it. found, verified, _, err := c.ProveFile(ctx, "invoice.pdf", issuer, pid) if err != nil { log.Fatal(err) } log.Printf("found=%v verified=%v", found, verified) }
| Language | Package | Status | Covers |
|---|---|---|---|
| Go | libs/sdk | Shipped | Account and key handling, tx build + sign, JSON-RPC client, local proof verification |
| TypeScript | — | Designed | Not started |
| Rust, Python, Swift, Kotlin | — | Designed | Not started |
The Go SDK is the only client that exists. Everything else on this list is an intention, and is marked as one.
Global flags: --rpc (defaults to http://localhost:3000/rpc/v1), --key for a keystore, and --api-key when the server requires one.
JSON-RPC 2.0 on /rpc/v1; WebSocket upgrades on the same path. Behind a body cap, optional API key, per-caller rate limit and a WS connection cap. /health is unauthenticated. Trading methods (GetOrderBook, SubscribeTrades) are present but the matching engine is not built.
Hash a document, record it under your issuer, and let anyone verify it later without trusting your server or ours. Batched attestations share one hash-chain accumulator per partition.
The first real integration does exactly this — a vehicle-service platform anchoring PDF hashes through the SDK, so a service record can be checked years later by someone who never trusted the workshop.
Fungible tokens with deploy, mint, burn, send and receive; NFT collections with mint, transfer and burn. Both run end-to-end across partitions.
Fixed-price listings, per-NFT offers and royalty enforcement, shipped end-to-end. Cancellation is two-step and completed by a node keeper.
YOA send, receive and change, with a free quota of ten fee-less transactions per rolling hour before a fee is required.
Action types, state structs and store signatures exist. The matching engine does not — this one is a schema you could build against, not a feature you can use.
Yoalto is pre‑mainnet and the repository is private, so there is no issue tracker to point you at yet and no community to join. That will change; until it does, this page will not invent one.