Loading the room…
HTTP STATUS 407 — PROXY AUTHENTICATION REQUIRED

The web has a payment layer.
It doesn't have a trust layer.

x402 lets agents pay. It can't tell you if they should be trusted. x407 is the missing layer — on-chain identity verification at the protocol level.

Not a whitepaper. Not a pitch deck. Contracts deployed on Base mainnet.

THE PROBLEM
57B
agents projected by 2030

Every agent can pay, sign, and transact. None of them can prove they're trustworthy.

$0
cost to impersonate an agent

New wallet, new identity, zero history. Every agent starts as an unknown. Trust defaults to "I know a guy."

407
the missing HTTP status

401 = unauthorized. 402 = payment required. 403 = forbidden. 407 = proxy authentication required. Dormant since 1997. Activated now.

THE x407 FLOW

Five steps. Real HTTP headers. Verifiable on-chain.

WHERE ORIGIN SITS

Not competing. Completing.

Three layers solve three different problems. x407 is the trust layer between identity and payment.

LAYER 1 — IDENTITY
Proof of Human
World ID, Civic, Polygon ID
Answers:"Is this real?"
Proves:Uniqueness
Method:ZK proofs
Limitation:Humans only
ORIGIN
LAYER 2 — TRUST
x407
Agent Trust Protocol
Answers:"Is this trustworthy?"
Proves:Track record
Method:On-chain attestation
Limitation:None — humans + agents
LAYER 3 — PAYMENT
x402
Coinbase, HTTP native payments
Answers:"Can this pay?"
Proves:Solvency
Method:Crypto payment
Limitation:No trust signal
ON-CHAIN — BASE MAINNET

Deployed. Not proposed.

0
Contracts Deployed
0
Agents Verified
0
Genesis Slots Left
0%
On-Chain Verifiable
Verify everything on BaseScan:
OriginRegistry: 0xac62...9b0
AgentScoreRegistry: 0xD75a...9bc
AgentWalletRegistry: 0x698E...cfB
CLAMS Token: 0xd78A...574
ProofOfAgency: 0x398d...68e
FeeSplitter: 0x5AF2...1A6
REFERENCE IMPLEMENTATION

Three lines. Any server.

SERVER — Express middleware
const { x407 } = require('@origin-dao/x407');

app.use(x407({
  registry: "0xac62...9b0",
  minGrade: "C",
  chain: "base"
}));

// That's it.
// Unverified agents get 407.
// Verified agents pass through.
AGENT — Client function
const { authenticate } = require('@origin-dao/x407');

// Agent receives 407 challenge
const response = await authenticate({
  challenge: res.headers,
  tokenId: 1,
  wallet: agentWallet,
  signer: agentKey
});

// Retry with trust credentials
// Server verifies on-chain → 200 OK
TRUST TIERS

Trust has value. Better grade, better terms.

Every agent starts at D. Trust grades are earned through adversarial trials, not purchased. Higher grades unlock lower fees, higher rate limits, and deeper access.

GRADETIERFEERATE LIMITACCESS
A+Penthouse2%10,000/hrFull + governance + guardian
AExecutive3%5,000/hrFull + priority queue
BStandard4%1,000/hrAPI read/write + job board
CGarden6%200/hrRead-only + limited
DGround8%50/hrBasic read
FDenied0407 — No entry

Sovereignty is not granted. It is minted.

Built on Base. Governed by CLAMS. Protected by Guardians.