no login, no key, all live
Judges: three minutes
Recall index: 1,207 CPSC nursery and NHTSA child car seat recalls, 3,771 model numbers, as of 2026-09-26. Health: /api/health.
- 1
Check a real recall yourself
Open the live check and tap “Harppa high chair”. It is CPSC recall 26-061: model BHC001, recalled only in batch 202408.
Open the live check → - 2
Try the edge cases
Same model, other batch: KEEP HELD, because the recall names one batch. OCR slip “BHCOO1”: still matches. An unknown model: NO_MATCH, and it never says “safe”.
Try them → - 3
Run it from your terminal
Same index, no key:
curl "https://secondhand-safe-web.vercel.app/api/check?model=BHC001&batch=202408" - 4
Give the check to an AI shopping agent
The same check is an MCP tool, recall_check. Point any MCP client at this URL, or call it directly:
curl -s https://secondhand-safe-web.vercel.app/api/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"recall_check","arguments":{"model":"BHC001","batch":"202408"}}}' - 5
See the model's real scores
Held-out products the model never saw. 2 of 107 ordinary items wrongly flagged, vs 38 for off-the-shelf CLIP.
See the model section →curl https://secondhand-safe-web.vercel.app/api/stats - 6
Shop by voice or text
Say “a bassinet for my newborn under $80, pickup in Atlanta”. Gemini reads the request, real listings come back pre-screened (red, amber, or photo check passed), and “Buy with our agent” places a Trusted Agent Protocol-signed Visa hold you then settle on /pickup.
Open the shopping agent → - 7
Hold real money, then settle it at pickup
On /pickup, type Visa's sandbox test card (4111 1111 1111 1111, any CVV, a future expiry) into Visa's own Microform fields, pick a listing and press Agree: a real Visa Acceptance sandbox authorization is created with capture off (HELD). Type BHC001 / 202408 and the hold is REVERSED at Visa; type any model with no recall and it is CAPTURED. The Visa ids are on screen.
Open pickup scan → - 8
Get the item's passport
When a clean label captures the payment, a Solana devnet transaction stores the SHA-256 of the pickup record (no personal data on chain). The passport page reads it back and checks the signer, the transaction and the hash.
Capture a clean deal on /pickup → - 9
Pay again with a saved card
Tick “Save this card with Visa” on the first hold. Next time, “Use my saved card” pays with Visa's Token Management Service; the card stays in Visa's vault. When Visa applies a card-linked offer, the hold is the discounted amount and the saving is shown.
Open pickup → - 10
The phone app
The same product as an iOS and Android app (Expo, built with EAS): shop, scan a label with the camera, and the deal board, all on this deployment's API. On Android, install the APK from /get/android; for iPhone, /get/ios has the TestFlight status. The source is in mobile/.
Get the Android APK → - 11
Settle it at the table kiosk
After you press Agree on /pickup, open /checkpoint in the same tab: it picks up that hold. Scan the item's barcode with a USB scanner (it types like a keyboard), or type a UPC and press Enter. A recalled UPC, such as 669028116546 (CPSC 26-530), reverses the hold; a UPC with no recall captures it. One full-screen state, a sound per change, and a settlement made on another device shows up live.
Open the checkpoint → - 12
Watch it from the seller's side
After you press Agree on /pickup, a QR code appears. Scan it with a second phone: the seller's live view (MongoDB Atlas) follows the same deal to CAPTURED or REVERSED, with the reason. Every deal is also on the board.
Open the deal board → - 13
See it as a marketplace's safety team would
The Trust and Safety console: why holds were reversed (by the actual CPSC recall number), money that never reached a seller of a recalled item, time from hold to decision. Computed live from MongoDB Atlas; the deals are our demos and automated tests.
Open the console → - 14
Compare a photo with every recall photo
MongoDB Atlas Vector Search over the CPSC recall photos: on /pickup your photo's embedding (computed in your browser) returns the three closest recall photos. Tested on held-out photos, and a resemblance is only ever a reason to read the label. Try a scanned listing:
curl "https://secondhand-safe-web.vercel.app/api/lookalike?listingId=ebay:287601074532" - 15
See the Atlanta scan
Every one of the 602 Craigslist Atlanta baby and kid listings we scanned, on a map, with what review found.
Open the map → - 16
Get the recall call
On /pickup, after the hold, type your US phone number under “Call me if it's recalled”: Lullabuy phones you a 4-digit code, and you type it back. Then type BHC001 / 202408: Visa reverses the hold, and a few seconds later Lullabuy phones you and says, in the ElevenLabs voice, which CPSC recall matched and that you were not charged. Press 1 to hear it again. One call per deal, capped per day.
Open pickup → - 17
Read the code
Every number on this site is computed by a script in the repo. CI runs lint, types, tests, build, pytest, secret scan and an em-dash gate.
GitHub →
What is live on this deployment right now
Read from the server's configuration at page load. We only claim what is on.
- LIVECPSC recall index + matcher
- LIVEBanned-type classifier results
- LIVEVisa Acceptance sandbox (authorize, capture, reverse, Microform, Token Management Service)
- LIVEMongoDB Atlas
- LIVEGemini label reader
- LIVEElevenLabs spoken verdict
- LIVETrusted Agent Protocol signing key
- LIVESolana devnet passport
- LIVERecall phone call (Vonage Voice + ElevenLabs)