A signed way back in

x429 adds an admission offer, a signed ticket, and a redemption header to an ordinary HTTP 429 response.

The problem x429 solves

A normal 429 says "not now" but gives no binding commitment. Agents either retry too fast, retry too late, or spend compute guessing. x429 returns a signed admission offer instead.

Advisory retry

Retry-After is a hint. It does not reserve capacity and does not prevent a second collision when clients return.

Signed ticket

An x429 ticket is a cryptographic commitment scoped to a resource, client binding, and time window.

Vocabulary

TermMeaning
OriginThe API or service protecting a scarce endpoint.
ResourceIn the current v2 profile, the configured public origin plus pathname; the HTTP method selects a separate coordinator. Arbitrary logical keys are not implemented.
TicketA signed object that describes who can redeem, when, and for what.
SlotThe future admission window described by notBeforeMs and notAfterMs.
BindingA thumbprint of the client's Ed25519 proof key plus the exact authenticated request context. A copied public key cannot redeem by itself.
NonceA single-use replay guard for proof, credential, payment authorization, or upstream assertion.
Paid laneA finite earlier admission class. Research/mock mode supports a sealed-maximum uniform-clearing auction; deployed exact mode exposes one fixed-price slot to one vetted client.
DiscoveryThe v2 Worker's /.well-known/x429.json document. It publishes capabilities, but clients still require independent trust pins.

Compatibility rule

Every x429 response must still be a valid HTTP 429. Legacy clients continue to receive the standard status and Retry-After; capable clients can verify the added offer.

HTTP/1.1 429 Too Many Requests
Retry-After: 10
X429-Version: 2

The marketing site is not a discovery or admission authority. V2 discovery must come from the separately deployed admission origin and still be checked against out-of-band trust pins.

What x429 does not do

  • It does not identify humans.
  • It does not detect bots.
  • It does not custody a wallet or choose an agent's budget. Exact settlement uses a separately constrained x402 payer.
  • It does not make unfunded bids trustworthy; submitted maxima are not locked funds.
  • It does not derive capacity from arbitrary URLs. Operators explicitly map exact paths or terminal /* prefixes to named finite pools; paths in one pool share a coordinator, query values remain request-bound, and unmatched paths fail closed.
  • It does not make infinite capacity. It makes scarcity explicit and schedulable.

Read next