## Every environment has its own context

Configure the API base URL, key and webhook receiver as a set. A transaction belongs to the Tenant and environment resolved from its credential. An identifier valid in another environment does not grant access and may return `404`.

```text
KYC_API_BASE_URL=https://api.example.invalid
KYC_API_KEY=REPLACE_ON_YOUR_SERVER
KYC_WEBHOOK_SECRET=REPLACE_ON_YOUR_SERVER
```

These values are placeholders. An example URL does not prove that a service is active. Confirm official addresses and access during integration enablement.

## Separate your own systems too

Use independent configuration for databases, queues and callbacks. Include the environment in your local transaction association key. A test routine must never activate credit, release an account or change real agreements.

Use synthetic data for contract tests. When acceptance requires a real journey, agree on purpose, access and data handling with the operation’s owners. Do not send personal documents to the public simulator: it uses only fixed scenarios in the browser.

## Before switching environments

Confirm credentials, download permissions, callback configuration, HMAC secret and continuation rules. Check authorized IPs and URLs as well. Repeat rejection, expiration and reconciliation tests; a successful connection does not replace functional acceptance. Follow the [go-live checklist](/en/developers/kyc/go-live).
