Overview
orangecheck is one account, with Bitcoin behind it (ochk.app (opens in a new tab)). Underneath are six open protocols.
Building an app? Sign people in with the account: it is free, and paying your users is optional. Working with the protocols? They share one canonical message format, one BIP-322 signing primitive and one set of Nostr conventions. Learn that layer once; each protocol adds a small layer on top.
The familyLink to this section
Six verbs of sovereign sociality: am, whisper, decide, declare, delegate, swear.
OC Attest is the base layer — every other sibling can optionally reference an Attest proof as a "stake at signing" signal. The other five siblings are peers: none depends on the others at the protocol level.
How they composeLink to this section
Eight real composition arrows across six protocols: every peer can pin its artifacts to Attest stake; Pledge resolves through Stamp and disputes through Vote; every Agent action is itself a Stamp. None of these compositions is required — but each one is what turns six small protocols into a single substrate.
The product and the showcase appsLink to this section
The protocols are open and free to self-host. On them orangecheck builds one product, ochk.app, and showcase apps: full, working apps whose other job is to show a protocol doing real work. They use the same envelopes, the same BIP-322 signing and the same anchor pipeline: consumers of the protocols, not extensions to them.
| App | What it is |
|---|---|
| ochk.app | One account, with Bitcoin behind it, at ochk.app (opens in a new tab). Apps that choose to pay their users pay them in sats. orangecheck holds earned sats while payouts are in testing. |
| OC Vault | A password manager that cannot read your data. Secrets are sealed on your device; orangecheck stores ciphertext only. |
| OC Chat | End-to-end-encrypted messaging where your Bitcoin address is the inbox. No phone number, and messages open only on your devices. |
| OC Cosign | Get behind a builder: join as a co-founder, or back them with sats that settle peer-to-peer. |
Each of them operates under the charter — eight commitments that bind every orangecheck surface (no token, custody you can move out of, the protocol stays open, audit verifies without us, and so on).
How these docs are organizedLink to this section
- Getting started — land here first. Decision tree across the six protocols, plus a running integration in under five minutes.
- Ecosystem — the plumbing every protocol inherits. The canonical message format, BIP-322 signing, Nostr kind-30078, conformance vectors, and the shared security model. Written once; never duplicated.
- Per-protocol sections — one each for Attest, Lock, Stamp, Vote, Agent, Pledge. Each follows the same shape: overview → how it works → concepts → API → guides. Pattern-match once; navigate them all.
- Per-app sections — one each for ochk.app, OC Vault, OC Chat and OC Cosign: what it is, how to use it, and what it trusts.
- SDKs — every published
@orangecheck/*package, mapped to which protocol or product it serves. - Charter — single source of truth for the eight company commitments. Every product subdomain links here.
- Reference — FAQ and glossary.
Where the authoritative bits liveLink to this section
| Repo | |
|---|---|
| Canonical protocol spec | oc- (opens in a new tab) (MIT) |
| Reference implementations | oc- (opens in a new tab) (MIT) — one monorepo for every published package |
| OC Lock spec | oc- (opens in a new tab) |
| OC Stamp spec | oc- (opens in a new tab) |
| OC Vote spec | oc- (opens in a new tab) |
| OC Agent spec | oc- (opens in a new tab) |
| OC Pledge spec | oc- (opens in a new tab) |
| This site | oc- |
ConventionsLink to this section
- Short code snippets are runnable as-is. Longer ones link to a full working
example in
oc-packages/EXAMPLES.md(opens in a new tab). - "Attestation" (lowercase) refers specifically to an OC Attest signed proof. Lock envelopes, Stamp envelopes, Vote ballots, etc. are not called attestations.
- Every protocol ships a spec repo and a reference impl. If the two disagree, the spec is authoritative and the impl is the bug.
Start somewhereLink to this section
- Which protocol do I need? — 60-second decision tree
- Sign people in — the account quickstart: sign-in first, then paying your users if you want it
- Protocol quickstarts — one per protocol
- Ecosystem concepts — learn the shared layer once
- OC Attest overview — the base-layer protocol
- ochk.app overview — one account, with Bitcoin behind it
- Charter — what orangecheck commits to, in writing