ZyloPaydocs

Networks, test mode and live mode

Test mode runs on the Monad testnet with test USDC; live mode on Monad mainnet. The API key chooses.

ZyloPay runs on two Monad networks. Your API key decides which one a request uses.

Test mode (sandbox)Live mode
Secret key prefixzp_test_sk_zp_live_sk_
NetworkMonad testnetMonad mainnet
Chain ID10143143
USDCtest USDC 0x534b2f3A21130d7a60830c2Df862319e593943A3USDC 0x754704Bc059F8C67012fEd69BC8A327a5aafb603
livemode on objectsfalsetrue
Business verificationnot neededneeded for live keys and payments
Webhook URLshttp or httpshttps only
Rate limits (per key, per minute)600 reads, 120 writes1500 reads, 300 writes

One API, two separate worlds

Both modes use the same base URL, https://zylopay-api.fly.dev/api/v1, and the same endpoints. Everything else is separate per mode:

  • Objects. A test key never sees live payments, intents, refunds, terminals, events or webhook endpoints, and the reverse. A lookup with the wrong mode's key answers 404 resource_missing.
  • Terminals. A terminal is provisioned for one network. Its device key works only there.
  • Passes. A customer's wallet pass is issued for one network. A testnet pass tapped on a mainnet terminal is declined with pass_wrong_network.
  • Merchant ID. Your merchant has one on-chain ID per network. You register on each network separately with Go Live in the dashboard. Until you do, payment intents answer 409 account_not_live.
  • Webhook endpoints receive only the events of their own mode. kyb.status_changed is the one event sent in both modes.
  • Idempotency keys are scoped per mode.

Do not send a network header

The dashboard and ZyloPay's own apps send an X-Network header. The public API does not need it: the key is the source of truth. If you send X-Network and it contradicts the key, the API refuses the request with 400 network_mismatch instead of guessing.

Switching the dashboard

The dashboard shows one mode at a time. Use the network switch in Settings (or the banner in Sandbox) to move between them. API keys of both modes are listed together; webhook endpoints and terminals follow the selected mode.

What test mode does not simulate

Test mode is a real network with test money, not a mock. There are no magic amounts or test card numbers. A test payment needs a testnet terminal and a testnet pass, exactly like a live one. See the testing guide.

On this page