Skip to content
In testing · sats accrue, payouts come later

Make fake accounts cost something real.

One sign-in for every app that uses it. Apps get fewer bots, and you earn a share of what you do there, in sats.

Email, Google, GitHub or any Bitcoin wallet.

A person smiling, printed as a halftone

The problem

A bot farm can pretend to be a crowd for almost nothing.

The usual fixes ask real people for more: a phone number, a puzzle, an ID.

How it works

Ask for something a bot can't fake cheaply.

  1. 01

    Sign in once

    Email, Google, GitHub or a Bitcoin wallet. The same account works in every app that uses orangecheck.

  2. 02

    Apps set the bar

    An app can ask that an account be backed by bitcoin held for a while. Bots can fake a face. They cannot fake that cheaply.

  3. 03

    Every event has a receipt

    What an app pays for is signed and anchored to Bitcoin. Anyone can check it, offline, without asking us.

For you

Sign in. Earn. Own.

  1. Live
    01

    Sign in

    The way you always do. Email or a wallet. Nothing new to learn.

  2. In testing
    02

    Earn

    Apps price the moments they value and pass you up to 80% of each, in sats. Not points.

  3. On the path
    03

    Own

    Over time, it moves into a wallet you hold yourself.

For apps

Open packages for the stack you already run.

Everything is public on GitHub. Nothing is behind a paywall.

Sign in with Bitcoin

<OcSignInButton />

React components, and sessions that work across your sites.

Pay your users

@orangecheck/me-client

Report the events you value. Users get their share. You get a receipt.

A drop-in gate

@orangecheck/gate

Middleware for Express, Next, Fastify, Hono and Workers.

All of it open

MIT code · open specs

TypeScript and Python SDKs. Fork it or host it yourself.

What it costs

Free for people. Apps keep their own prices.

An app sets what each event is worth and pays it in sats. The app decides how much goes to you.

Every sat an app pays for an event
80%
20%
80%
Up to this much goes to you, as the app sets it
20%
orangecheck keeps this

The honest version

What's true today.

Who holds what, computed from the live state: ochk.app/custody

StatusWhat
YesOpen source. Every receipt checks against Bitcoin, offline.
YesNo token. No ads. No KYC.
In testingEarning in sats. The payout rail is in bring-up, so no sats move yet.
In testingCustody. OrangeCheck holds your accrued sats during bring-up — it is operating every role until independent operators take them. Federation custody and graduation to your own keys are what replace it.
Not yetMoving sats to a wallet you hold. Graduation to your own keys is not live: no federation is bound yet.

Start with one sign-in.

Bitcoin as a substrate for sovereignty, after Bram Kanstein.