Strimz

Test mode vs live mode

How Strimz separates test traffic from real traffic, end to end.

Test and live mode are separated at every layer. Different smart-contract deployments, different RPC URLs, different Postgres tables, different webhook endpoints, different signing secrets. A test-mode call cannot settle a real payment, and there is no "promote to live" step that migrates test data over. The separation is deliberate.

Why the separation is so strict

Plenty of billing incidents trace back to one mistake: someone thought they were hitting test, but they were hitting prod. Strimz removes that class of mistake. The sk_test_ prefix routes your request to a different chain, database, scheduler, and agent. When you're ready for production, you swap sk_test_ for sk_live_ and the rest of your code stays as-is.

What's different between modes

Test modeLive mode
ChainArc Testnet (chain ID 5042002)Arc Mainnet
RPC URLhttps://rpc.arc-testnet.example.comhttps://rpc.arc.example.com
USDCArc Testnet USDC (faucet at faucet.circle.com)Arc Mainnet USDC
Webhook endpointsDifferent list per modeDifferent list per mode
API keyssk_test_*, pk_test_*sk_live_*, pk_live_*
Dashboard viewMode toggle in topbarMode toggle in topbar

Every resource (Subscription, Transaction, WebhookDelivery, and so on) carries a mode column. The dashboard uses it to filter what you see. The scheduler uses it too: a scheduler instance running in test mode will only ever pick up test-mode subscriptions, and the same is true for live.

Switching modes

In your code, you switch modes by changing the API key. The same SDK client works for both:

const strimzTest = new Strimz({ apiKey: process.env.STRIMZ_TEST_KEY! })
const strimzLive = new Strimz({ apiKey: process.env.STRIMZ_LIVE_KEY! })

In the dashboard, there's a toggle in the topbar. Switching it doesn't migrate anything. It only filters the data shown to that mode.

Webhooks per mode

Webhook endpoints are scoped to a single mode at creation. An endpoint with mode: 'test' only receives test events; the same URL can be registered twice (once per mode) if you want. The signing secret is per-endpoint-row, so test and live signatures are different.

Identity

Your merchant identity (business name, payout address, KYB info) is shared across modes on purpose. There is no second onboarding to finish before going live. The transactional resources (sessions, subscriptions, refunds, deliveries, invoices) stay mode-segregated.

On this page