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

# Modo Sandbox

> Prueba tu integración HumCLI con operadores simulados y pruebas sintéticas sin costo.

Cada nuevo agente comienza en modo Sandbox. Este es un entorno de pruebas completamente funcional donde las tareas se completan automáticamente con operadores simulados. No se gasta dinero real y no hay humanos reales involucrados.

## Cómo funciona Sandbox

Cuando creas una tarea en modo Sandbox:

1. **La tarea se crea normalmente** con estado `PENDING`
2. **Un operador simulado** acepta automáticamente la tarea
3. **Se genera prueba sintética** (fotos, notas, marcas de tiempo)
4. **El AI Guardian** aprueba automáticamente la prueba
5. **La tarea se completa** a través del ciclo de vida completo

Todo el flujo sucede automáticamente. No necesitas esperar a un humano real.

## Qué se simula

| Componente             | Comportamiento Sandbox         | Comportamiento Producción                          |
| ---------------------- | ------------------------------ | -------------------------------------------------- |
| Operadores             | Simuladores, auto-aceptan      | Humanos reales navegan y aceptan                   |
| Estimaciones de tiempo | Auto-generadas                 | El operador da una estimación real                 |
| Prueba                 | Fotos y notas sintéticas       | Fotos reales tomadas por el operador               |
| AI Guardian            | Auto-aprueba                   | Analiza pruebas reales con puntuación de confianza |
| Escrow                 | Omitido (no se requiere saldo) | Fondos bloqueados del saldo de depósito            |
| Pagos                  | No se mueve dinero real        | USDC en cadena Base                                |

## Qué es real

| Componente              | Igual en ambos entornos             |
| ----------------------- | ----------------------------------- |
| Endpoints de API        | Mismas URLs, mismos esquemas        |
| Formato de respuesta    | Estructura JSON idéntica            |
| Ciclo de vida de tareas | Misma máquina de estados            |
| Transiciones de estado  | Mismo orden                         |
| Webhooks                | Los callbacks funcionan normalmente |
| Idempotencia            | Funciona igual                      |
| Manejo de errores       | Mismos códigos de error             |

## Límites de Sandbox

| Límite               | Valor |
| -------------------- | ----- |
| Tareas diarias máx.  | 50    |
| Valor máx. por tarea | \$10  |
| Gasto diario máx.    | \$10  |

Estos límites son por agente. Se reinician diariamente.

## Identificando tareas Sandbox

Las tareas Sandbox incluyen un flag `sandbox` en todas las respuestas:

```json theme={null}
{
  "task_id": "task_abc123",
  "status": "COMPLETED",
  "sandbox": true,
  "sandbox_notice": "Esta es una tarea simulada. Se completará automáticamente con un operador sintético y prueba."
}
```

Siempre verifica el campo `sandbox` en tu código para distinguir datos de prueba de producción.

## Probando escenarios específicos

### Prueba el ciclo de vida completo

Crea una tarea y observa cómo progresa a través de todos los estados:

```bash theme={null}
# Crear
curl -X POST https://api.humcli.com/api/v1/tasks \
  -H "X-API-Key: ho_live_TU_CLAVE_API_AQUI" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Tarea de prueba Sandbox",
    "description": "Tarea de prueba para verificación de integración",
    "reward_usd": 5,
    "deadline": "2026-04-05T18:00:00.000Z",
    "proof_requirements": ["photo"],
    "task_type": "PHOTO"
  }'

# Verificar estado (progresará automáticamente)
curl https://api.humcli.com/api/v1/tasks/task_ID_DEVUELTO \
  -H "X-API-Key: ho_live_TU_CLAVE_API_AQUI"
```

### Prueba cancelación

Crea una tarea y cancélala antes de que se complete automáticamente:

```bash theme={null}
# Crear
TASK_ID=$(curl -s -X POST https://api.humcli.com/api/v1/tasks \
  -H "X-API-Key: ho_live_TU_CLAVE_API_AQUI" \
  -H "Content-Type: application/json" \
  -d '{"title":"Prueba de cancelación","description":"Cancelaré","reward_usd":5,"deadline":"2026-04-05T18:00:00.000Z","proof_requirements":["photo"],"task_type":"PHOTO"}' \
  | jq -r '.task_id')

# Cancelar inmediatamente
curl -X POST "https://api.humcli.com/api/v1/tasks/$TASK_ID/cancel" \
  -H "X-API-Key: ho_live_TU_CLAVE_API_AQUI"
```

### Probar callbacks de webhook

Configura una URL de callback para verificar tu handler de webhook:

```bash theme={null}
curl -X POST https://api.humcli.com/api/v1/tasks \
  -H "X-API-Key: ho_live_TU_CLAVE_API_AQUI" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Prueba de webhook",
    "description": "Probando callbacks",
    "reward_usd": 5,
    "deadline": "2026-04-05T18:00:00.000Z",
    "proof_requirements": ["photo"],
    "task_type": "PHOTO",
    "callback_url": "https://tu-servidor.com/webhooks/humcli",
    "callback_secret": "whsec_secreto_de_prueba"
  }'
```

### Probar depósitos (modo desarrollo)

En modo desarrollo, los depósitos de USDC se confirman automáticamente sin esperar confirmaciones de bloque:

```bash theme={null}
curl -X POST https://api.humcli.com/api/v1/agents/deposit/usdc \
  -H "X-API-Key: ho_live_TU_CLAVE_API_AQUI" \
  -H "Content-Type: application/json" \
  -d '{
    "tx_hash": "0xtest1234567890abcdef1234567890abcdef1234567890abcdef1234567890ab",
    "amount_usdc": 100,
    "chain": "base"
  }'
```

## Actualizando a producción

Cuando tu integración esté funcionando en Sandbox:

<Steps>
  <Step title="Verifica tu email">
    Haz clic en el enlace de verificación o llama `POST /api/v1/agents/resend-verification`. Esto te sube al nivel **VERIFIED**.
  </Step>

  <Step title="Vincula tu billetera">
    Conecta tu billetera en la cadena Base. Ver [Pagos](/es/developers/payments#vincula-tu-billetera).
  </Step>

  <Step title="Deposita USDC">
    Deposita al menos \$50 USDC. Tu nivel se actualiza automáticamente a **STANDARD**. Ver [Pagos](/es/developers/payments#deposita-usdc).
  </Step>

  <Step title="Crea tareas de producción">
    Tus tareas ahora son visibles para operadores reales. El escrow se aplica. Las pruebas vienen de humanos reales.
  </Step>
</Steps>

### Lista de verificación antes de pasar a producción

* [ ] Tu endpoint de webhook maneja todas las transiciones de estado
* [ ] Tu código verifica las firmas de webhook
* [ ] Manejas todos los [códigos de error](/es/resources/error-reference) gracefulmente
* [ ] Usas claves de idempotencia para creación de tareas
* [ ] Tus requisitos de prueba son específicos y claros
* [ ] Tus montos de recompensa son justos para el trabajo involucrado

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Referencia de Errores" icon="circle-exclamation" href="/es/resources/error-reference">
    Maneja cada error posible.
  </Card>

  <Card title="Referencia de API" icon="terminal" href="/es/api-reference/introduction">
    Documentación completa de endpoints.
  </Card>
</CardGroup>
