Bag is live — accept USDC & card payments globally. Get started →
BagBag Docs
Guides

Go Live Checklist

Everything to verify before switching from sandbox to production.

Go Live Checklist

When you're ready to accept real payments, work through this checklist.


Before you go live — Prerequisites

Before starting the checklist, ensure you have:

  • KYB verification completed — required for live keys and payouts
  • A live API key (bag_live_sk_*) — generated in Developer Settings after KYB approval
  • A production-ready webhook endpoint — HTTPS, signature verification, and idempotency handling

The checklist

1. Complete KYB verification

Submit and complete KYB verification. Live API keys and payouts are only available after approval.

2. Generate a live API key

In the Bag dashboard, go to Developer Settings and create a live API key (bag_live_sk_*). Never expose this key in client-side code.

3. Update environment variables

Swap your test key for the live key in your environment. Use separate env vars (e.g. BAG_API_KEY for production, BAG_TEST_API_KEY for local dev) to avoid accidental mixing.

4. Switch network values from testnet to mainnet

Update your payment link and checkout creation calls:

TestnetMainnet
base_sepoliabase
eth_sepoliaethereum
solana_devnetsolana

Using a test key with mainnet (or a live key with testnet) returns a 400 error.

5. Verify webhook endpoint is production-ready

Ensure your webhook handler:

  • Serves over HTTPS
  • Verifies the signature on incoming payloads
  • Handles idempotency (same event may be delivered more than once)
  • Responds with 200 quickly to avoid retries

6. Run a small live payment

Execute a real payment for a minimal amount to confirm the end-to-end flow. Verify the full path: payment link → checkout → on-chain payment → webhook → fulfillment.

7. Verify transaction in dashboard

Confirm the transaction appears in the Bag dashboard with live mode enabled. Check that amounts, network, and status match expectations.


Environment reference

SettingSandboxProduction
API Key prefixbag_test_sk_*bag_live_sk_*
Basebase_sepoliabase
Ethereumeth_sepoliaethereum
Solanasolana_devnetsolana

Testing before go-live

Use the sandbox to validate stablecoin payments, tax calculation, and payout flows before switching to production. See the Testing guide for a full walkthrough.


What's next

On this page