Skip to main content
A sandbox is a real workspace you can build against safely — same API, same behavior — but sealed off from your live data, and unable to touch real money. It comes with a sk_test_ key and a bit of demo data so you can start calling endpoints right away. Sandboxes are free on every plan, so you can try the whole API before you upgrade.

Create one

In the dashboard, open your account’s Workspaces tab and find the Sandboxes section (you can also create one from the store switcher). Give it a name, and you’ll get a test key that starts with sk_test_. You see the key once, when you create it — copy it then. If you lose it, reset the sandbox (below) to get a new one.

You don’t change the URL — the key decides

There’s nothing special to point at. You call the same base URL as always:
A sk_test_ key sends the request to your sandbox; a sk_live_ key sends it to your real workspace. The key is what decides, so the same code works against both — just swap the key.

What’s already inside

A new sandbox comes seeded with demo customers, products, and a few orders (one paid, one part-paid, one unpaid), so a call like GET /v1/products returns real-looking data immediately instead of an empty list.

How a sandbox is different from a real workspace

Everything works the same, with a few deliberate guardrails so a sandbox can’t stand in for a real store:
  • No real money. You can’t connect Paystack or Stripe in a sandbox. Payments are simulated — record a payment against an order and its status flips to paid, but nothing is ever charged.
  • No real messages. Actions that would email or text someone (like notifying a customer about an order, or inviting a teammate) quietly do nothing — no real message goes out.
  • Webhooks are marked as test. Every event from a sandbox carries "livemode": false so your handler can tell test events from real ones. See Webhooks.
  • The inbox is limited. You can connect a social channel or two to try the inbox, but a sandbox isn’t meant to run a real one.
  • It expires when idle. A sandbox you stop using is cleaned up after 30 days. Using it resets that clock, so an active sandbox sticks around.
  • Up to five per account. Delete or reset an old one to make room.
Everything else — products, orders, customers, scopes, rate limits, pagination, errors — behaves exactly as it does live.

Reset or delete

From the Sandboxes section you can:
  • Reset — wipe the sandbox back to fresh, reseeded data. A reset issues a new sk_test_ key (the old one stops working), so update your code with it.
  • Delete — remove the sandbox and everything in it.
To poke around a sandbox’s data in the dashboard, switch into it from the store switcher, just like any other workspace.

A note on plans

The Developer API is a paid feature on a live workspace, so a sk_live_ key needs the right plan. A sandbox doesn’t — sk_test_ keys work on any plan, free. That’s the point: build and test first, upgrade when you’re ready to go live.