Skip to content

PayPal sandbox only. No real money moves.

LearnStart here

The guided tour

Ten steps through the docs, from what GAVEL is to what is not done yet, with the process of one auction in a single diagram.

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

This is the shortest way through everything. Each step is one page, in an order that builds: what the project is, how to try it, how an auction runs, how to check the result, how it is built, what is proven, and what is not done. Every page on the path has a progress bar at the top and Previous and Next links at the bottom.

Everything runs on the PayPal sandbox. A bid is a ; nothing is charged until the winning price is at the .

The process of one auction

The process of one GAVEL auction in seven stages. 1. Join: Choose a ceiling. PayPal sandbox puts a hold for it 2. Bid: Bid up to the ceiling. Engine checks, ledger records it 3. Soft close: A late bid extends the lot (extensions are capped) 4. Hammer: The lot closes. Winner and price are fixed 5. Settle: Capture the winning price. Void every other hold 6. Receipt: The outcome as a settlement document 7. Verify: Replay the audit trail and check the hash chain1JoinChoose a ceiling. PayPal sandboxputs a hold for it2BidBid up to the ceiling. Enginechecks, ledger records it3Soft closeA late bid extends the lot(extensions are capped)4HammerThe lot closes. Winner and priceare fixed5SettleCapture the winning price.Void every other hold6ReceiptThe outcome as a settlementdocument7VerifyReplay the audit trail and checkthe hash chainheld, nothing chargedchargedreleased
The process of one auction. Each stage links to its page. Only the winning price is charged at stage 5; every other hold is released. The PayPal side runs on the sandbox only.

Stages 1 to 4 are held: a hold exists and nothing has been charged. At stage 5 the winning price is charged and every other hold is released. Stage 6 shows the outcome and stage 7 lets anyone check the record. If an auction runs for days, an authorization can age; see for what is and is not known.

The ten steps

  1. What is this, and what does it promise?

    Step 1: What GAVEL is

    The one-page version: every bid is a PayPal hold, only the winning price is captured, and the status is stated plainly.

  2. What can I run today?

    Step 2: Try the demo

    The hosted web app, the key-less judge room and the scripted demo, with what each one shows and what it does not.

  3. What happens from hold to hammer to receipt?

    Step 3: The auction lifecycle

    Where the money is at each moment: hold, bids, hammer, capture of the winning price and release of every other hold.

  4. How do I check the result instead of trusting it?

    Step 4: Verify it: audit trail and hash chain

    The deterministic engine, the hash-chained ledger and the verifier that finds an edited entry.

  5. What are the parts?

    Step 5: How it is built

    Web app, server, engine, payments, voice and the stores between them.

  6. What is proven, and against what?

    Step 6: Evidence and gates

    Gates G0 to G5, each with its question, its result as recorded in docs/GATES.md and its limits.

  7. How do I talk to the server?

    Step 7: API reference

    The HTTP API as an OpenAPI 3.1 document, with authentication, errors and rate limits; the WebSocket protocol, data model and events sit beside it in the Reference tab.

  8. How is it deployed?

    Step 8: Hosting

    How the API and WebSocket host runs on Render as one instance with a persistent disk, how deploys and checks work, and what would change to scale out.

  9. What data can I inspect?

    Step 9: Open datasets

    Small datasets built from committed evidence for Hugging Face, each labelled for what it is.

  10. What is not done?

    Step 10: Limits and next steps

    What GAVEL does not claim, in plain words, and what comes next.

New to the words?

Words like and have a short definition on hover, on keyboard focus or on tap, and the full list is in the glossary. A plainer start, with a hotel analogy, is the beginner path.

Edit on GitHub

Last updated on