LSAG-free · nullifier-backed proofs · settled on Base

Prove you finished the work.
Hide who you are.

Tasknull turns a completed bounty into a cryptographic receipt. Reviewers confirm the work is real and the claim can't be spent twice — without ever learning which wallet did it.

0
proofs settled
0
open bounties
0
identities leaked
/ understanding

Today, claiming a bounty means doxxing yourself.

Either your wallet is attached to the payout for everyone to trace, or your contribution can't be trusted. Tasknull adds a third path: provable completion, unlinkable identity.

/ 01

Verifiable completion

Every claim carries a proof that the bounty's acceptance criteria were met. Reviewers check the math, not your reputation.

/ 02

Unlinkable identity

The payout wallet and the proof are cryptographically separated. A verifier learns "valid hunter," never which hunter.

/ 03

No double-claims

Each claim emits a one-way nullifier. Reuse the same solution twice and the second nullifier collides — the chain rejects it.

/ how it works

Commit. Prove. Settle.

Three steps, one CLI. The signing happens entirely on your machine — no coordinator, no custodian, no account.

01 / commit

Lock your solution

Hash your work against the bounty's criteria and publish the commitment. Nothing about your identity leaves the machine.

$ tasknull commit --bounty zk-audit-114
02 / prove

Generate the proof

The CLI derives a nullifier from your secret and signs the completion proof. Reveal it whenever you're ready to claim.

$ tasknull prove --reveal ./solution
03 / settle

Get paid on Base

Anyone can verify the proof and nullifier. Once it checks out, the reward releases to a fresh address you control.

$ tasknull claim --to 0xYOUR…
/ the nullifier wall

Watch a claim burn.

Each tile is a live nullifier — a one-way mark proving a bounty was settled. Click one to spend it. Once nullified it can never be reused, and the wallet behind it stays invisible. This is the whole privacy guarantee, made tactile.

registry root 0x9f3a…e0c1 spent this session: 0 · re-mint by reloading
/ built for

People who ship sensitive work quietly.

null · 01

Security researchers

Claim a disclosure bounty without tying the patch — or the payout — to your real name or employer.

null · 02

Freelance hunters

Build a track record through stable nullifiers while keeping every wallet address single-use and clean.

null · 03

DAO contributors

Let a treasury reward completed work on-chain without a public map of who did what for whom.

/ the token

$TNULL — the bounty reward layer.

Live on Base. Reward pools are funded in $TNULL and pay out to the proof, never to a doxxable signer — the privacy model holds by construction.

Contract · Base
0x0000000000000000000000000000000000000000
Paste your deployed $TNULL address here before launch. The links below are wired to read it automatically.
Bounty reward pool60%
Liquidity · Base20%
Protocol & CLI dev12%
Verifier infra8%
/ live registry

Open bounties.

Anyone can post a bounty and lock its reward. Hunters claim with a proof — the scope and payout are public, the claimant is not.

bountyscoperewardstatus
ZK circuit audit · groth16 verifier
scope: constraint soundness
audit4.0 ETHopen
Bridge replay disclosure
scope: nullifier reuse path
security120k $TNULLopen
CLI fuzz harness
scope: commit-reveal edge cases
tooling35k $TNULLclaimed
Indexer for spent nullifiers
scope: Base event stream
infra1.5 ETHopen
/ browser verifier

Don't trust us. Check the math.

Paste a claim URL. Verification runs the full check — membership, signature, nullifier freshness, scope — with zero trust in this site.

claim url / raw proof
Runs against POST /api/verify. Deterministic — same input, same answer, every time.
bounty membership
signature integrity
nullifier unspent
scope & reward match