Label 309 · Open source

The Label 309 ecosystem

One open standard, and a full set of reference implementations. The machine-readable specification, SDKs in TypeScript, Python, and Rust, and a command-line tool are all published in the open — Apache-2.0 for code, CC-BY-4.0 for the specification. Use them as-is, or build your own implementation: Label 309 is a standard, and anyone is free to implement it.

label-309

The standard

The complete, machine-readable specification corpus: the prose standard, the CDDL grammar, the algorithm registries, JSON Schemas, and the conformance vectors every implementation is checked against.

Reference SDKs

The same standard, implemented three times — for the browser and Node, for Python, and for Rust.

TypeScript

Browser and Node SDK.

A standalone verifier, a gateway-agnostic HTTP client, and fetch helpers. Installing the SDK pulls in the closed-catalogue crypto primitives and the wire-format library it builds on, so you get the whole stack from one dependency.

Install

$ npm install @cardanowall/sdk-ts

@cardanowall/sdk-ts

Python

Python SDK.

A byte-identical parity twin of the TypeScript SDK, checked against the same canonical-CBOR test vectors. Verify records, encode the wire format, and build sealed Proof of Existence from Python.

Install

$ pip install cardanowall-sdk

cardanowall-sdk

Rust

Rust SDK.

A byte-parity twin of the TypeScript and Python SDKs — blocking and secure-by-default, for native applications and services. Full API documentation is published on docs.rs.

Install

$ cargo add cardanowall

cardanowall

cardanowall-cli

Command line

A gateway-agnostic, raw-seed-first command-line tool built on the Rust SDK. Verify records, work with an inbox, build and check Merkle proofs, sign, and submit — straight from the terminal or a CI pipeline.

Install

$ cargo install cardanowall-cli

Binary: cardanowall

Gateway-agnostic, raw-seed-first.

Commands

  • verify
  • inbox-list
  • inbox-decrypt
  • inbox-sync
  • merkle-verify
  • merkle-build
  • sign
  • submit

Identical, by construction

The TypeScript, Python, and Rust SDKs are byte-identical against the same canonical-CBOR test vectors. A record encoded by one is bit-for-bit the record encoded by the others — so verification never depends on which implementation produced it.

Build your own

Label 309 is issuer-agnostic and standalone-verifiable: nothing about it depends on these tools or on any one vendor. The specification is complete and public, so anyone can write a fresh implementation — in any language, for any platform — and interoperate with everything already shipped. It's a standard, not a product.