Evidence as a primitive.
Native SDKs, deterministic canonicalization, an offline verifier, and open schemas. No hidden state. No silent mutation.
BANKABIL ships Ink Receipts as a documented format with reference implementations in Rust, TypeScript, and Python. Issue, hash, bundle, and verify from any service — without trusting the platform that produced the decision.
- bankabil-rsReference issuer and verifier in Rust.
- bankabil-tsTypeScript SDK for Node and edge runtimes.
- bankabil-pyPython SDK for data and ML pipelines.
- bankabil verifyCLI verifier — runs anywhere, offline.
- Open schemasVersioned JSON Schema + canonical test vectors.
Evidence that survives independent review.
A real format
Open, versioned schemas — not a vendor blob.
Determinism
Same input, same bytes, same hash. Every time.
Local verification
A verifier you can run in CI, on a laptop, or air-gapped.
Boring primitives
Canonicalize, hash, sign, bundle. No magic.
Workflow integration
Issue receipts from the same path that emits the decision.
No platform lock
Receipts outlive your tenancy, your vendor, and your stack.
Designed for developers.
Canonicalization yields identical bytes across runtimes.
Schemas, test vectors, and a verifier in the open.
Drop into existing services, no sidecar required.
Every receipt is human- and machine-readable.