Getting started
Three bindings shipped today. Pick your language.
Ruby
gem install confium
The native extension is built at install time via rake-compiler. You need Ruby ≥ 3.1 and Rust stable. See the Ruby installation guide.
Quickstart: build a Sinatra verifier app in ~60 lines → Sinatra verifier quickstart.
Rust
cargo add confium-core
The cdylib is built as
target/{debug,release}/libconfium.{so,dylib,dll}. See the
Rust installation guide.
Quickstart: walk through threshold signing with FROST-P256 → threshold-signing.mdx.
WASM
npm install @confium/confium-wasm
Browser / Node.js verifier for composite signatures, transparency logs, attribute predicates, and X.509 / CMS structures. The WASM package is verifier-only — it cannot sign.
Quickstart: load a composite signature and verify it in the browser:
import init, { CompositeSignature } from "@confium/confium-wasm";
await init();
const sig = CompositeSignature.from_json(jsonString);
const result = sig.verify(messageBytes, {
"Ed25519": "builtin",
"ECDSA-P256": "builtin",
"ML-DSA-65": (pk, msg, sig) => myExternalVerifier(pk, msg, sig),
});
console.log(result.all_verified);
What to read next
- Architecture — understand the engine.
- Three modes — pick a deployment shape.
- Security model — threat model and defenses.
- PQ migration — composite signatures.
Concepts
If you’re new to threshold cryptography:
Specs
For normative specifications, see the specs repository.