Skip to navigation

Go-live checklist

Build and rehearse on staging first. Work through the staging checklists below, then complete the production checklist.

Environments

Sinbad onboarding gives you everything that differs between environments:

  • The production API base URL and environment identifier.
  • The approved chain, and the token and escrow contract addresses.
  • The confirmation policy, and your credentials.

Keep credentials on your server. Before the customer signs, compare the chain and contract addresses that a breakdown or trade returns with your approved configuration. transaction.requiredConfirmations reports the required confirmation depth. GET /health reports only that the process is alive and does not check its dependencies.

Use exact decimal strings for pricing and integer strings for atomic token amounts. USDT has six decimals. Staging uses Polygon Amoy (chain 80002). Production values come from your environment handoff. See Wallets and gas for transaction preparation and recovery.

Staging checklist: setup

Before you test customer flows, confirm the following.

  • You have your partner secret, integration ID and partner ID, and the secret stays on your servers.
  • Your partner configuration is reviewed: default currency, blocked currencies and blocked countries. Blocked countries are not enforced in the current phase. See Limits and limitations.
  • Your fee schedule is drafted and published from your manager wallet, and GET /v1/partner/fees shows your tiers under active. See Partner fees.
  • Webhook delivery works on staging, and you have registered and verified your endpoint.

Staging checklist: customers and sessions

  • partnerUserId comes from your own verified login, and the first session sends the full first-registration details.
  • A duplicate wallet, email address or phone number (409) is handled.
  • The session token is cached, and a new one is created shortly before it expires and on a 401.
  • Saved payment accounts are built from the catalog’s required fields, with no empty strings.

See Create a session.

Staging checklist: trades

Run each flow end to end on staging.

  • BUY: offer, breakdown, escrow transaction, payment instructions, proof upload, markPaid, the merchant’s release and a trade in RELEASED. Include one cancelPrePaid.
  • SELL: offer, breakdown, token approval, escrow transaction, the merchant’s payment, release and a trade in RELEASED. Include an approval reset case if you can produce one.
  • Dispute: open one with a reason, and close it with mutualResolveDispute.

See the Buy walkthrough, Sell walkthrough and Disputes.

Staging checklist: signing and gas

  • Sign EIP-1559 transactions with the nonce from the wallet’s pending count.
  • Resend the same signed bytes after a simulated timeout, and confirm it is safe.
  • Handle an unknown broadcast outcome without sending a second transaction.
  • Reproduce INSUFFICIENT_BALANCE with details.kind: "NATIVE_GAS", top up the wallet and submit again.

See Wallets and gas and Sign and track transactions.

Staging checklist: webhooks and errors

  • Register your endpoint and verify it with the test challenge.
  • Test signature verification, including the timestamp check and a rotated secret.
  • Deduplicate events on the event id, order trade updates by sequence, and process chat messages once by messageId.
  • Run a reconciliation job that lists trades with your partner secret.
  • Handle 429 with Retry-After, 409 with ACTIVE_TRADE_EXISTS, TOO_EARLY and INVALID_STATE.
  • Quote the requestId when you contact Sinbad.

See Webhooks, Errors and recovery and Limits and limitations.

Production checklist

Complete these before real customers use production.

  • Gas top-ups and balance monitoring are in place for every customer wallet, with alerts and a safe minimum for each transaction type.
  • You have decided and tested where customer wallets get USDT and gas tokens.
  • Sinbad has confirmed the production base URL, network, USDT address, escrow address, confirmations, credentials and integration. See Environments.
  • The production fee schedule is published and verified with GET /v1/partner/fees.
  • The production webhook endpoint is registered and verified, and you have written down a secret rotation procedure.
  • Sinbad has confirmed the operational rules for your environment: the dispute window, payment time limits, the dispute resolution process, cancellation on SELL, trade amount limits and any extra rate limits.
  • You and Sinbad have agreed an on-call contact and a process for reporting a requestId.