Getting Started
Environments: Sandbox vs. Production
Understand the difference between test and live environments, network mapping, and how to go live.
Bags has two environments. They share the same API and the same dashboard — the only difference is which API key you use.
| Sandbox | Production | |
|---|---|---|
| API key prefix | bag_test_sk_* | bag_live_sk_* |
| Real money | No | Yes |
| KYB required | No | Yes |
| Networks | base_sepolia, eth_sepolia, solana_devnet | base, polygon, solana (+ ethereum waitlist) |
| Tokens | Testnet USDC | Real USDC |
| Settlements | Not available | Available after KYB |
Enforcement
The API enforces strict separation between sandbox and production:
- Test keys (
bag_test_sk_*) can only create resources on testnet networks. Attempting to use a mainnet network with a test key returns a400error. - Live keys (
bag_live_sk_*) can only create resources on mainnet networks. Attempting to use a testnet network with a live key returns a400error. - All resources are tagged with a
modefield (testorlive). - API responses include a
livemodeboolean. - Webhook payloads include a top-level
livemodeboolean field.
Network mapping
| Production | Testnet | v0 status |
|---|---|---|
base | base_sepolia | Live |
polygon | — (no dedicated testnet) | Live |
solana | solana_devnet | Live |
ethereum | eth_sepolia | Mainnet waitlist — Sepolia works in sandbox |
Ethereum L1 mainnet is deferred for v0 due to gas costs. Use Base or Polygon for production USDC today, or join the Ethereum mainnet waitlist.
When you're ready to go live, swap the network value in your API calls. Everything else stays the same.
Getting testnet USDC
| Network | Faucet |
|---|---|
| Base Sepolia | Circle USDC Faucet |
| Ethereum Sepolia | Circle USDC Faucet |
| Solana Devnet | Solana Faucet |
You'll also need native tokens for gas (ETH on Sepolia, SOL on Devnet).
Switching to production
- Complete KYB — Submit your business details in the dashboard.
- Generate a live API key — Developer Settings after KYB approval.
- Update network values — e.g.
base_sepolia→base. - Update your API key —
bag_test_sk_*→bag_live_sk_*. - Test with a small real payment before going wide.
Dashboard test mode
The Bags dashboard has a Test mode toggle in the sidebar. When enabled, an orange banner appears and all views filter to sandbox data only.