SDKs
Eight packages. Two languages. MIT / CC-BY-4.0. Drop in the one that matches your stack.
TypeScript / Node
| Package | Purpose |
|---|---|
@orangecheck/sdk | Core protocol. check(), verify(), createAttestation(). |
@orangecheck/gate | HTTP middleware. Express, Next, Fastify, Hono, Workers. |
@orangecheck/react | <OcBadge>, <OcGate>, <OcChallengeButton>. |
@orangecheck/wallet-adapter | Normalize UniSat, Xverse, Leather, Alby behind one sign API. |
@orangecheck/cli | oc command-line tool for ops + scripting. |
@orangecheck/relay-filter | Sybil filter for Nostr relays. Strfry plugin included. |
@orangecheck/airdrop-gate | Filter candidate lists into sybil-resistant allowlists. |
Python
| Package | Purpose |
|---|---|
orangecheck | Sync + async Python SDK. Django, Flask, FastAPI. |
Which one do I want?
- You just want the sybil gate.
@orangecheck/gate(Node) ororangecheck(Python). - You're building a React app.
@orangecheck/react+@orangecheck/wallet-adapter. - You need sign-in-with-Bitcoin.
@orangecheck/wallet-adapter+ the/api/challengeendpoint. - You're distributing an airdrop.
@orangecheck/airdrop-gate— ships a CLI for batch filtering. - You run a Nostr relay.
@orangecheck/relay-filter— ships a Strfry plugin. - You want to script from a shell.
@orangecheck/cli. - You want the protocol primitives for a custom build.
@orangecheck/sdk.
Install strategy
Every Node package is published under @orangecheck/* on npm. Install exactly the ones you need:
yarn add @orangecheck/sdk # always
yarn add @orangecheck/gate # route-gating
yarn add @orangecheck/react # React UIs
yarn add @orangecheck/wallet-adapter # browser signing
yarn global add @orangecheck/cli # shell tool
yarn add @orangecheck/relay-filter # Nostr relay plugin
yarn add @orangecheck/airdrop-gate # airdrop filtering
pip install orangecheck # Python SDK
Versioning
All packages are pre-1.0. Minor versions may introduce breaking changes documented in the release notes. For stable API surface, pin to exact versions in production until v1.
License
MIT for code. CC-BY-4.0 for the protocol spec. Both are open forever.