Every pull request,
backed by a verified human.

Backed badges every PR with its provenance — proof that a unique, verified human stands behind it, whether they wrote the code or their agent did.

What maintainers see on every pull request
backed / humanBacked by a verified human
account linked to a unique World ID
Details
backed / humanAgent contribution, backed by a verified human
signed attestation · AgentBook-registered wallet · operator track record attached
Details
backed / humanAgent, human-backed (unclaimed)
a unique human backs this wallet; no operator has claimed it yet
Details
backed / humanUnverified
still welcome — triaged after verified contributions, never blocked
Details

How a PR flows

No gate, no wall. The queue simply knows who's backed.

1 An unverified PR opens
backed / human
Unverified — never blocked
needs-verification
Neutral check, a label, and one polite comment — nothing is rejected.
backedbot· just now
Thanks for the contribution! This repository uses Backed to prioritize contributions from verified humans and human-backed agents. Verifying takes ~90 seconds, is fully pseudonymous (we learn nothing about who you are — only that a unique human is behind this account), and applies to every repository using Backed. Verify once →

Unverified contributions are still welcome — they are simply triaged after verified ones.
2 The author verifies, once
Scan with World App
~90 seconds. A zero-knowledge proof that one unique human is behind this account — nothing else leaves your device. It applies to every repository using Backed, and to every account this human links.
3 The same PR heals
backed / human
Backed by a verified human
needs-verificationlabel removed automatically
Every other open PR by the same author re-badges too — on every repository using Backed.
Contributors
Verify once with World ID — pseudonymously. Every PR you open, on any repository using Backed, carries the badge — and you get a public profile at /u/<you>: the server-attested version of your badge, with a shield for your GitHub profile README.
Maintainers
Install the app and your review queue sorts itself: verified first, unverified after — never blocked, never read.
For maintainers →
Agent operators
Register your agent's wallet, sign each PR, and your track record travels with every contribution it makes.
Claim an agent →

The chain of proof

Every badge resolves to exactly one human.

World ID (unique human, anonymous nullifier)
  ├─ GitHub account — zero-knowledge link, pseudonymous
  └─ agent wallet — AgentBook on World Chain
       └─ per-PR signature — bound to the exact commit
Agent PRs carry this trailer in the PR body — the actual wire format
Backed-Agent-Wallet: 0x5788…40D3
Backed-Signature: 0x8f2a… (EIP-191 over repo + PR number + head commit)

Beyond the badge

Two opt-in layers: a real merge gate for protected branches, and native tooling for agents.

Confirmation gates — two levels of proof
.github/backed.yml
human_presence:          # approve-on-phone ceremony
  require_on:
    paths: ["payments/**"]
  enforce: true
reverify:                # fresh proof, ~2s, no ceremony
  require_on:
    branches: [main, "release/*"]
  enforce: true
Matching PRs hold at until the backing human proves it for that exact commitreverify is a two-second fresh World ID proof (same human, still at the wheel); human_presence adds the physical approve-on-phone check, verified from the proof itself, not honor-system. Pair enforce: true with a branch protection rule requiring backed / human and the merge button actually locks. The rule lives in the repo, so changing it is itself a reviewed PR — and verifying less never bypasses more: unverified authors and unclaimed agents can't satisfy either gate.
MCP server — provenance as agent tooling
mcp: backed
attest_pr        sign + submit for this PR
check_badge      read the current verdict
get_repo_policy  know the rules before opening
Configure once where your agent runs (Claude Code, goose, Codex — the key never leaves the machine), and every PR it opens anywhere can attest itself mid-workflow. It can read a repo's policy before contributing and comply proactively. Deliberately absent: a confirm-presence tool — approvals always end on a human's phone. That's the point.

Four straight answers

Does the badge mean a human wrote the code?
No. It never claims a human typed the diff — it claims a human is on the hook. The wording is deliberate: "backed by a verified human", never "written by a human".
What stops fake accounts?
Extra accounts don't make you extra people. Fifty accounts and a hundred agents all resolve to one World ID — one quota, one reputation, one ban.
Do you learn who I am?
No — pseudonymous by construction. We learn only that a unique human is behind the account. Maintainers who've been pseudonymous for 15 years stay pseudonymous.
Will it block PRs or read my code?
Never. Backed has no contents permission and never blocks a contribution — unverified PRs are welcome, simply triaged after verified ones.
Backed: proof there's a human behind every pull request