# Going live checklist > Everything to check before you switch from test keys to live keys and send real orders. Source: https://swaglists.com/docs/going-live Your test integration becomes a live one by swapping the key — products and SKUs are shared between modes. Before you do, work through this list. ## Account - [ ] **Verify your email address.** You need a verified email to create live keys and use live mode in the dashboard (Settings → Profile shows the status). - [ ] **Live mode is enabled.** `GET /account` with a live key returns `"live_mode_enabled": true`. If live keys return `403 live_mode_disabled`, contact support. - [ ] **Branding is set** (Settings → Branding): brand name, logo, support email, packing slip message and return address. They appear on packing slips, the [tracking page](https://swaglists.com/docs/shipping.md#tracking-page) and customer emails — under your brand, never ours. - [ ] **Order settings** (Settings → Orders): auto-confirm, what happens when credits run out (*hold*, *hold and release manually*, or *reject*), customer shipment emails, low-balance alert. - [ ] **Team access**: invite teammates with the least role they need (developers manage keys and webhooks; finance manages the wallet). ## Credits - [ ] **Buy credits** (Wallet → Buy credits). Bigger top-ups earn [bonus credits](https://swaglists.com/docs/billing.md#bonus-tiers). Top-ups start at $100. - [ ] **Turn on auto-recharge** so orders never wait for credits: save a card or bank account and pick a threshold and amount. - [ ] **Subscribe to `wallet.low_balance`** or keep the low-balance email alert on. ## Keys & security - [ ] **Create a live key** (`sk_live_…`) with only the [scopes](https://swaglists.com/docs/authentication.md#scopes) your integration needs. Store it in your secrets manager — never in code or in the browser. - [ ] **Optional: restrict it to your server's egress IPs** with an [IP allowlist](https://swaglists.com/docs/authentication.md#ip-allowlists). - [ ] **Plan rotation**: know how to [roll the key](https://swaglists.com/docs/authentication.md#rotation) with an overlap. ## Webhooks - [ ] **Create a live webhook endpoint** — test endpoints do not receive live events. Live endpoints must use HTTPS on a public host. - [ ] **Store the live signing secret** (it is different from the test one) and [verify every signature](https://swaglists.com/docs/webhooks.md#verify-signatures). - [ ] **Respond 2xx within 15 seconds** and process asynchronously; handle duplicates by event `id`. - [ ] **Reconcile**: if your endpoint was down, list missed events with `GET /events` (30 days). ## Orders - [ ] **Idempotency**: every `POST /orders` sends an `Idempotency-Key` derived from your store's order id, and `external_id` is set. See [Idempotency](https://swaglists.com/docs/idempotency.md). - [ ] **Errors**: you log `error.code` and `request_id`, retry only 409 `idempotency_in_progress`, 429 and 5xx, and alert on the rest. See [Errors](https://swaglists.com/docs/error-handling.md). - [ ] **Holds**: you handle `order.on_hold` (show it in your back office; most holds resolve themselves). - [ ] **Shipping**: every shipping option of your store maps to `economy`, `standard`, `express` or `priority`. - [ ] **Non-production items**: your integration skips store line items whose SKU is not one of your products (gift cards, digital goods). - [ ] **Tracking**: your store is updated from `order.shipped` / `shipment.created` (or you use our customer emails). ## Final test - [ ] **Order a sample** to yourself with the live key to check print quality and packaging. - [ ] **Watch your first orders** in the dashboard (Orders, Developers → Logs, Developers → Webhooks). Questions? Contact support@swaglists.com — include request ids (`Request-Id` header) for API questions.