0Bit Documentation

Debug sessions and webhooks

Investigate checkout, embed, webhook, and reconciliation issues with stable identifiers and redacted evidence.

Debugging should start from identifiers, not raw payloads. Link your local attempt id, product object id, request id, webhook event id, delivery id, and final business state. For a hosted 0Gate flow, the product object id is the 0Gate session id.

Do not debug by sharing secrets

Support tickets should never contain secret keys, webhook secrets, authorization headers, client secrets, raw KYC data, provider responses, or unredacted webhook bodies.

Debug path

Evidence table

IdentifierSourceUse
Local attempt idYour databaseAnchor the support case.
Product object id0Gate session, 0Base checkout/payment intent, 0Pools quote/trade, or other approved objectJoin 0Bit state to your state.
Request idAPI response header or error bodyAsk 0Bit support to trace an API call.
Event idWebhook body and headerDedupe and trace event processing.
Delivery idWebhook delivery logReplay or diagnose delivery failures.
User referenceYour server-created session metadataCorrelate to your account/order safely.

Triage questions

  1. Did your server create a local attempt before creating the 0Bit product object?
  2. Did the product-object creation call succeed, timeout, or return a known error?
  3. Did the browser receive only browser-safe values?
  4. Did the widget mount from an allowed origin?
  5. Did a signed webhook arrive?
  6. Did the event log dedupe and queue the event?
  7. Did the worker apply the expected terminal transition?
  8. Is reconciliation needed because the webhook is delayed or dead-lettered?

Redacted ticket shape

type SupportTicketContext = {
  localAttemptId: string;
  productObjectId?: string;
  requestId?: string;
  eventIds: string[];
  deliveryIds: string[];
  observedStatus: string;
  expectedStatus: string;
  occurredAt: string;
};

On this page