Skip to content

PayPal sandbox only. No real money moves.

GAVEL documentation

Every bid is a PayPal hold; only the winner pays. What it does, what is proven on the PayPal sandbox, and what is not.

Page last changed 9 Nov 2026 (from the git history)

GAVEL is a live auction where every bid is a PayPal AUTHORIZE hold. Only the winning price is captured; every other hold is voided and released. A journaled settlement saga and a hash-chained audit trail keep the result checkable.

Everything runs on the PayPal sandbox. No real money moves.

What is proven

  • Gates G0, G1, G2 and G4 passed on the real PayPal sandbox: app and buyers, partial capture with final_capture, wallet and guest card holds, and six real webhooks verified.
  • A real server process was killed once on a CI runner after the capture request and before the response, and settled with one capture, two losers voided, a journal equal to PayPal and a verifying ledger.
  • Live speech through the /audio socket: both providers answered 24 of 24 synthetic clips, and no spoken bid was accepted without a confirm.
  • The ledger hash chain verifies, and the hosted API checks ran: webhook route p95 112.03 ms against a 300 ms target (n=50) and warmup after 16 minutes idle at most 0.66 s (n=2).
  • The judge flow is live on the hosted site (all 17 steps of the walkthrough passed on 9 Nov, including the hammer), more than 4,500 test cases run in CI, and all eight P0 items of the security review PASS.

The scope of each result, and the next step for each open item (G3 in progress, G5 partial, the latency targets under owner decision), are in Roadmap and limits.

The visual rule

These docs use the same language as the product. Hatched means held, solid means charged, hollow means released.

A code block that differs between the fake and the sandbox carries a chip: Fake PayPal or Sandbox.

Where to go

New here? Take the guided tour: ten steps from what GAVEL is to what is not done. Unfamiliar word? Hover or tap any dotted-underlined term, or open the glossary.

Six sections, each a tab at the top of the sidebar.

Also: Roadmap and limits gives the scope of each result and the next step for each open item, in plain words.

Edit on GitHub

Last updated on