sovereign signaling
for the open web.
Stake-weighted, sybil-resistant, offline-tallyable polls on Bitcoin. Voters sign with BIP-322. Weights come from UTXOs at a snapshot block. The tally is a pure function anyone can run. No token. No authority. No custody.
₿ built on bitcoin · no account · no kyc · no custody
three objects. one pure function.
a poll
A creator writes a question, options, deadline, snapshot block, and threshold. They sign the canonical poll with BIP-322 and publish to Nostr. The id is SHA-256 of the canonical bytes — content-addressed, tamper-evident.
a ballot
Any voter with a Bitcoin address picks an option and signs the canonical ballot with BIP-322. Replaceable per voter, so they can change their mind until deadline. Published to Nostr kind 30081.
a tally
At deadline, any observer fetches the poll + ballots, verifies signatures, de-duplicates per voter, and looks up each voter's UTXO set at the snapshot block. Weight is sats, sats × days, or one-per-address. Anyone gets the same answer.
every other open-web poll is sybil-vulnerable, token-gated, or needs a tallier.
sybil-resistant without KYC
The weight is sats × days of UTXO age. Manufacturing a voter costs real opportunity cost. A whale-splitting attack doesn't inflate weight in the canonical modes.
no token, no gas, no chain ops
No token to mint or distribute. No transaction to create a poll or cast a ballot. Just a signature. Zero sats move. Ever.
offline-verifiable tally
The tally function is pure. Two observers with the same poll, ballots, and UTXO snapshot produce byte-identical results. Disputes are resolvable by running curl.
the third primitive.
orangecheck
Prove you control a Bitcoin address holding N sats for N days. One signature. One API call. The sybil-filter primitive.
oc lock
End-to-end encryption to a Bitcoin address. X25519 + AES-256-GCM. Envelope in a URL fragment. No servers. No chain tx.
oc vote
Stake-weighted, sybil-resistant, offline-tallyable signals. The legitimacy primitive. You're looking at it.
create the first poll your community runs on real commitment.
One signature from your wallet. No signup. Share a link. Anyone can verify the result.