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/feesshows your tiers underactive. See Partner fees. - Webhook delivery works on staging, and you have registered and verified your endpoint.
Staging checklist: customers and sessions
-
partnerUserIdcomes 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 inRELEASED. Include onecancelPrePaid. - SELL: offer, breakdown, token approval, escrow transaction, the merchant’s payment,
releaseand a trade inRELEASED. 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
pendingcount. - 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_BALANCEwithdetails.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 bysequence, and process chat messages once bymessageId. - Run a reconciliation job that lists trades with your partner secret.
- Handle
429withRetry-After,409withACTIVE_TRADE_EXISTS,TOO_EARLYandINVALID_STATE. - Quote the
requestIdwhen 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.