# Environment (/docs/developer-resources/api-basics/environment)

## Overview

Our API and Dashboard can both operate in two fully separated environments: **Live** and **Test**. Each is completely isolated, so activity in one environment never impacts the other. This separation allows you to build, test, and launch with complete confidence.

**API Endpoint**:

```shell
https://api.monime.io/
```

The endpoint is the same for both Live and Test environments. Which environment you interact with depends on your **access token** — not the URL.

***

## Test Environment

The test environment offers a full simulation of our API, allowing you to build and validate your integration without touching real money or networks.

- **Tokens**: During token creation, if test mode is enabled, the token will be prefixed with `mon_test_`
- **Data & Networks**: Sandbox accounts and simulated payment rails
- **Use case**: Development, integration testing, and QA

## Live Environment

The live environment connects directly to real payment networks, processing actual funds and transactions. Use it only when your integration is fully tested and production-ready.

- **Tokens**: All live tokens are generated with the prefix `mon_` **NOT** `mon_test_`
- **Data & Networks**: Real accounts, banks, mobile money providers, card networks, and wallets
- **Use case**: Production operations and live customer payments

***

## How Environments Are Chosen

- **API environment** → Determined by the access token:
  - **`mon_...`** → Live environment
  - **`mon_test_...`** → Test environment

- **Dashboard environment** → Controlled by the Live/Test toggle in the Space dashboard.

![Dashboard Environment Switching](/assets/images/developer-resources/dashboard-env-toggle.webp)

This all means:

- The Base API URL and the Space dashboard URL never change.
- Switching between environments is as simple as swapping tokens or toggling your dashboard mode.

***

## Webhooks

Webhooks are also environment-specific:

- A webhook in **Live** only receives live events.
- A webhook in **Test** only receives test events.

This keeps your sandbox activity and production event flow completely separate.
