Documentation

Environments

Videpay runs separate sandbox and live backends. Use https://sandbox.videpay.io for testing and https://videpay.io for production: sign in to the matching dashboard, create environment-specific API keys, and point your integration at the corresponding API base URL. Mixing them up returns 401. The API is very firm about boundaries.

Need machine-readable request/response bodies for your AI or codebase? Download this page as plain Markdown.

When should I use this?

  • You are starting a new integration and need to know which URL and keys to use.
  • You are promoting tested code from sandbox to production.

Why use Videpay?

  • Sandbox uses testnets and free test USDC, no real funds move.
  • Live uses mainnet chains and real USDC: completely isolated data.
  • Mistakes in sandbox never affect production customers.

Staging then production

You build and test entirely against sandbox.api.videpay.io with a sandbox API key. After QA passes, you create a live API key, change one environment variable for the base URL, register live webhooks, and switch to api.videpay.io. One env var swap, it's giving clean deploy pipeline.

Sandbox vs live

  1. Live dashboard: https://videpay.io: create Live keys under Settings → API Keys.
  2. Sandbox dashboard: https://sandbox.videpay.io: create Sandbox keys under Settings → API Keys.
  3. Sandbox API: https://sandbox.api.videpay.io
  4. Live API: https://api.videpay.io
  5. Sandbox chain: Base Sepolia (USDC and cNGN for testing).
  6. Live chains: Base, Polygon, Arbitrum, Optimism, BNB Chain, and Avalanche C-Chain mainnets.
  7. Data is never shared between environments: separate databases and contracts.

API key environments

When creating a key, sign in to the dashboard for the environment you need: sandbox keys on the sandbox dashboard, live keys on the live dashboard. Each key only works against its matching API host. Using a sandbox key against the live API returns 401 Unauthorized.

Sandbox dashboard OTP

When the dashboard asks you to verify an emailed OTP on sandbox, the code is always `000000` (six zeroes). You still need to request and verify the challenge normally, sandbox only fixes the code for easier testing. It's giving development-mode energy. Live sends a random six-digit code because production deserves plot twists.

Going from sandbox to live

  1. Complete integration testing in sandbox.
  2. Create a Live API key in the dashboard.
  3. Register your settlement wallet in the dashboard (Settings → Wallet).
  4. Update API_BASE_URL and API key in your production config.
  5. Register live webhook endpoints.