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
Lower-level building blocks
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-sdkcardanowall-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 cardanowallcardanowall
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-cliBinary: 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.