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

# Entornos

> Sandbox y producción comparten infraestructura y redes reales — el modo lo decide tu clave.

## URL base

Todas las rutas de Connect viven bajo:

```
https://api.zopay.cash/connect/v1
```

Los ejemplos de esta documentación usan esa URL base salvo que se indique otra ruta relativa (por ejemplo `/health`, `/payouts/quote`).

## Sandbox y producción: ambos sobre redes reales

<Warning>
  Tanto sandbox como producción operan sobre **las redes reales con dinero real**. No existe un "modo de prueba" desconectado: lo que cambia es el aislamiento de datos y el comportamiento de los webhooks de prueba, **no** la naturaleza de la red.
</Warning>

| Aspecto              | Sandbox (`sk_test_…`)                                       | Producción (`sk_live_…`)                   |
| -------------------- | ----------------------------------------------------------- | ------------------------------------------ |
| Redes blockchain     | Reales (mainnet / la red configurada en cada activo)        | Reales (mismas redes)                      |
| Dinero               | Real                                                        | Real                                       |
| URL base             | Misma                                                       | Misma                                      |
| Forma de respuestas  | Misma                                                       | Misma                                      |
| Aislamiento de datos | Filas marcadas como sandbox; invisibles a claves `sk_live_` | Filas live; invisibles a claves `sk_test_` |
| Webhooks de prueba   | Permitidos vía `/connect/v1/test/...` (simuladores)         | No disponibles                             |
| Webhook `livemode`   | `false` en eventos sandbox                                  | `true` en eventos live                     |

### Qué significa esto en la práctica

* **No mandes a sandbox lo que no estés dispuesto a perder.** Una transferencia que sale de sandbox sale on-chain con valor real.
* **Sandbox sirve para aislamiento y para probar tu handler de webhooks**, no para "jugar con fondos falsos".
* El modo lo decide el **prefijo de la clave** que mandas en `Authorization`. No hay host distinto.

| Clave         | Modo (`GET /health` → `mode`) |
| ------------- | ----------------------------- |
| `sk_test_...` | `sandbox`                     |
| `sk_live_...` | `live`                        |

Puedes comprobar el modo autenticado con [Verificar autenticación](/quickstarts/verify-health).

## Helpers de prueba (sólo sandbox)

El namespace `/connect/v1/test/...` contiene simuladores accesibles **sólo** con claves `sk_test_…`. Las claves live reciben 404 contra esas rutas. Hoy disponible:

* [`POST /test/payment-intents/{id}/simulate-deposit`](/api-reference/endpoints/post-test-payment-intents-by-id-simulate-deposit) — fuerza la transición de un intent sandbox a `completed` y dispara su webhook `payment.completed` con `livemode: false`.

## Productos

* **Connect API** — balances, direcciones, payment intents, payouts, transacciones y capacidades en `/connect/v1`. Autentica con tu clave Connect.
* **SDK del navegador** (`@zopay/js`) — librería UI; monta el widget de pago a partir del envelope `PaymentIntent` que tu servidor creó vía Connect API. No usa claves.

Ver [Introducción a Connect API](/api-reference/introduction) y [SDK Overview](/sdk-reference/index).
