Skip to content

PayPal sandbox only. No real money moves.

LearnStart here

Real, simulated, recorded

One table that says what is real PayPal sandbox, what is the fake PayPal, what is simulated and what is recorded.

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

Proven so far: gates G0, G1, G2 and G4 on the real PayPal sandbox, a real server process kill on a CI runner that settled with one capture, live speech through the /audio socket (24 of 24 synthetic clips answered, no bid accepted without a confirm), the hosted API checks, and a live judge flow on the hosted site. The scope of each result is in the table below.

Four words are used with care on this site.

WordMeaning
RealA call to the PayPal , with committed evidence or a run log.
FakeThe project's built-in , a test double. Behaviour there says nothing about PayPal.
The code run over simulated days with a fake clock against a model of PayPal.
RecordedA replay of recorded events or cached speech outputs.

By area

AreaStatusBasis
Auction rules, price, soft close, hammerReal codeDeterministic , the same in every mode. Covered by unit, property and fixture tests.
Hold creation (AUTHORIZE)Real on the sandbox PASS: wallet buyer and guest card authorized with the PayPal JS SDK v6.
Partial capture with final_captureReal on the sandboxGate G1 PASS for two PayPal-account buyers. An early G3 probe also captured 1.00 on a guest card authorization; a final_capture there is the next step.
Remainder releaseInferredThe authorization reads CAPTURED and a void answers 422 PREVIOUSLY_CAPTURED. A 9 Nov attempt to read the buyer balance was blocked (the account pages asked for a sign-in again), so the release stays inferred.
Webhook signature verificationReal on the sandboxGate PASS: six real deliveries verified. Rejecting a tampered event is covered against the fake PayPal; a sandbox run of it is next.
Whole-auction settlementFake, plus sandbox lotsSettlement against the fake PayPal. On the real sandbox, nightly specs R7 and R8 settled one lot of three holds (runs 42200708552 and 42317068784, redacted reports committed) and 20 settlements of 6 holds were measured end to end (run 42346811713). Driving a whole auction through a server is the next step.
Crash recoveryFake, plus one sandbox crashInjected crashes against the fake PayPal. Spec R10 recovered from one in-process crash on the sandbox. A real server process was killed once on a CI runner against the sandbox and recovered with one capture (run 42558021614); the deployed host is not yet killed.
Honor period and reauthorizeTimed probe runningGate G3 is a real sandbox probe: day 0 recorded 7 Nov 03:06 UTC, final reading about 12 Nov 06:17 UTC. The 30 day run is simulated.
VoiceRecordedCached transcripts by default. Live speech only with VOICE_STT set. One live socket run is recorded (24 synthetic clips, both providers). Gate PARTIAL: measured on synthetic audio, live-room confirmation is the next step; bids always confirm.
Hosted demoHosted in sandbox modeWeb at gavel.dualmindlab.tech, API at api.gavel.dualmindlab.tech, persistent disk. A live walkthrough passed all 17 steps, including the hammer, on 9 Nov (judge smoke run 42584326641); an earlier run that morning (42561627128) passed all but step 16, which a later fix addressed.

The gates at a glance

GateQuestionResultRun
G0sandbox app and buyer accountsPASS2026-11-04 by harshbhx (workflow gate-g0, run 41815593520, branch gate/g0)
G1partial capture and remainder releasePASS2026-11-04 by harshbhx (wallet); 2026-11-05 by harshbhx (card, run G1-20261105T123116Z)
G2card and guest AUTHORIZEPASS2026-11-05 by harshbhx (owner laptop, run G2-20261105T115228Z)
G3honor period versus validity and reauthorizeIN PROGRESSReal probe. Day 0 was 7 Nov 2026 03:06 UTC. Final reading about 12 Nov 06:17 UTC.
G4real webhook signature verificationPASS2026-11-05 by harshbhx (workflow gate-g4, run 41947655945)
G5STT accuracy on noisy bidsPARTIAL2026-11-07, cached eval over recorded provider outputs (PR #1940, issue #1864; second clip set PR VOI-01; error analysis, parser fixes and option trials PR VOI-02)
Edit on GitHub

Last updated on