Walkthrough for pnpm web:dev (default http://localhost:5173).
Open the Sealed Auction case first. Frame the product as auction settlement infrastructure, not as a general privacy app:
- An operator creates a timed auction round.
- Bidders lock escrow and submit sealed bids.
- No bidder, operator, or keeper can read bids before reveal.
- Drand opens the full bid set at the shared reveal time.
- Soroban clears the highest valid bid, pays the operator, and refunds losers.
- The operator can publish a verifiable receipt for the round.
The recorded evidence view proves the contract lifecycle, settlement, and public audit path.
- Opening: escrow-backed sealed auctions on Stellar
- Mainnet proof card: settled round 1 on real XLM (link to stellar.expert)
- Drand chip: live countdown to recorded testnet R (from
demo-trace.generated.ts)
- Click Run live comparison
- Seal-off: plaintext bid readable immediately
- Seal-on: tlock ciphertext undecryptable until R
- Point: the operator cannot read sealed bids early
- Lifecycle timeline: create -> commit -> wait R -> open -> reveal -> clear -> settle
- Drand banner shows R status
- Settlement stats: contract balance -> 0
- Position this as supporting proof for autonomous auction bidders.
- Two agents with principals vs session keys
- x402 log: 0.10 USDC appraisal settled on-chain
- Settlement rails panel: x402 appraisal vs SAC
settle()winner payment - Keeper steps: wait R -> BLS verify -> reveal all -> clear -> settle
- Public table: escrow + revealed bids after R
- Note: identities still auditor-encrypted
- Pre-filled demo auditor secret
- Decrypt identity blobs ->
agent:G...for each bidder - Run live bid decrypt -> tlock open against published quicknet R
- Explain selective disclosure: values public, names auditor-only
- Off-chain mandate vs on-chain escrow cap
- Run negative cap scenarios — unit-test outcomes in browser
- This build: agents use Ed25519 session mandates
- Passkey tab: real WebAuthn Create passkey (testnet WASM baked in); optional deploy smart wallet
- Production path: Smart Account Kit + optional OZ Relayer for fee sponsorship
- See
docs/ECOSYSTEM.mdfor mapping mandate -> smart-account policy
Set in apps/web/.env.local (or hosting build env — see docs/DEPLOY.md):
VITE_CONTRACT_ID=CAPTODBCDEVIK23ALBJBS2TXRTIK47ZA5MBTHYF4XLHG2BK7JPYUCU2Y
VITE_ROUND_ID=1
VITE_RPC_URL=https://soroban-testnet.stellar.orgToggle Poll live contract on Showcase.
pnpm lifecycle:e2e
pnpm agents:e2e
pnpm mainnet:verify
pnpm keeper:watch