> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.idenfy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Environments

> Learn how iDenfy sandbox and production environments work with a single base URL, and how your API key pair determines the active mode.

## Single URL, Two Modes

iDenfy uses **one base URL** for both sandbox and production:

```
https://ivs.idenfy.com
```

Your **API key pair** determines which mode you're in — not the URL. Sandbox keys return test results, production keys trigger real verifications. Your code stays the same, only the keys change.

|               | Sandbox                           | Production                            |
| ------------- | --------------------------------- | ------------------------------------- |
| **Base URL**  | `https://ivs.idenfy.com`          | `https://ivs.idenfy.com`              |
| **API keys**  | Sandbox key pair                  | Production key pair                   |
| **Documents** | Dummy results, no real processing | Real document verification            |
| **Credits**   | Not consumed                      | Consumed per verification             |
| **Webhooks**  | Delivered to your test endpoint   | Delivered to your production endpoint |

<Tip>
  Since the URL is identical, you can switch between sandbox and production by swapping API keys in your environment variables — no code changes needed.
</Tip>

## Sandbox

The sandbox lets you:

* Test your integration end-to-end without real documents
* Simulate different outcomes (approved, denied, suspected)
* Validate webhook handling with predictable payloads
* Test error scenarios and edge cases

See [Testing & Sandbox](/guides/testing-sandbox) for step-by-step instructions.

## Switching to Production

<Steps>
  <Step title="Configure production webhooks">
    Set your production webhook URL in [Dashboard → Settings](/guides/dashboard/settings/system-notifications-webhooks-emails).
  </Step>

  <Step title="Secure your integration">
    Implement [callback signing](/security/callback-signing) and [IP whitelisting](/security/ip-whitelisting).
  </Step>

  <Step title="Test all flows">
    Verify all verification outcomes are handled correctly. See the [go-live checklist](/guides/testing-sandbox#go-live-checklist).
  </Step>

  <Step title="Swap API keys">
    Replace sandbox keys with production keys in your environment variables.
  </Step>
</Steps>
