SafeState
Developers

One call at checkout. Recalled products can’t be sold.

SafeState is a drop-in compliance API for recommerce marketplaces, thrift chains, and resale platforms. Add it to your listing and checkout flows.

Authorize a transfer
POST /api/authorize-transfer
content-type: application/json

{
  "instanceId": "33333333-…",     // the unit being sold
  "toOwnerId":  "66666666-…",     // the buyer
  "idempotencyKey": "a1b2c3d4-…"  // safe to retry
}
Response
{
  "decision": "BLOCKED",
  "reason":  "Side rail can detach (entrapment hazard).",
  "remedy":  "Full refund.",
  "source":  "CPSC",
  "guardEpoch": 1,
  "attempts": 1
}
Issue a directive
POST /api/directives

{
  "modelId": "22222222-…",
  "kind": "RECALL",
  "hazard": "…", "remedy": "…", "source": "CPSC",
  "target": { "scope": "SERIAL_RANGE", "rangeLo": "1", "rangeHi": "999" }
}

The contract

  • Idempotent. Pass an idempotencyKey; a retried request returns the same decision and never double-applies a transfer.
  • Retry-safe. Conflicts surface as SQLSTATE 40001 / OC000 and are retried with backoff, the decision always reflects the latest safety state.
  • Strongly consistent. Reads from any region reflect a recall the instant it commits, no stale-safe window.
Embed a live verdict badge

One iframe drops a live recall verdict onto any listing page. It reads the same source as the gate, so a buyer sees the real answer, not a screenshot. No SDK, no build step.

<iframe
  src="https://safestate.vercel.app/api/embed/verify?model=DreamNest+Bassinet&serial=100"
  width="380" height="84" style="border:none">
</iframe>
Live preview

Pricing scales with usage: per safety lookup, protected listing, and authorized transfer.

Recommerce marketplacesThrift & consignmentManufacturers