Sandboxes de E2B: precios, ciclo de vida y alternativas
Un sandbox de E2B proporciona a una aplicación un entorno remoto en el que ejecutar código y trabajar con archivos. Para elegir un proveedor de sandbox, compara la API de ejecución, la duración de la sesión, la concurrencia, los controles de red, el estado retenido y el coste total. Una tarifa de CPU baja por sí sola no indica si un agente puede terminar su tarea de forma fiable.
Esta guía procede de Lizard. Verificamos la documentación de precios y SDK enlazada el 9 de septiembre de 2026. Compara comportamiento documentado y un cálculo ilustrativo, no rendimiento medido del proveedor.
Qué aporta un sandbox a un agente
Un agente puede generar un programa sin tener dónde ejecutarlo adecuadamente. Un sandbox suministra un entorno de ejecución separado de la aplicación que coordina al agente.
El coordinador envía código o comandos, recoge la salida y los archivos, y decide el siguiente paso. También debe gestionar un comando fallido, una sesión agotada por tiempo y la limpieza. El aislamiento es útil, pero el acceso a credenciales, sistemas externos y datos privados sigue requiriendo una política deliberada.
El quickstart de E2B demuestra la ejecución de código y el acceso a archivos mediante su SDK. Empieza con una tarea pequeña e inspecciona tanto la salida como los errores antes de conectarlo a un bucle de agente mayor.
Precios de E2B: separa el plan del runtime
E2B ofrece un plan Hobby gratuito con un crédito único de $100, sesiones de hasta una hora y 20 sandboxes concurrentes. Pro indica una base mensual de $150 más uso, sesiones de hasta 24 horas y un límite de concurrencia superior. La cuota del plan no es la factura del runtime. Precios de E2B.
Para una carga ilustrativa de 1.000 horas totales de ejecución a 2 vCPUs y 4 GiB, usa las tarifas publicadas por segundo:
CPU: 1,000 × 3,600 × 2 × $0.000014 = $100.80
Memory: 1,000 × 3,600 × 4 × $0.0000045 = $64.80
Runtime subtotal: $165.60
With the $150 Pro base: $315.60 before tax and other chargesEste ejemplo de E2B excluye créditos de prueba, impuestos, complementos de concurrencia de pago y otro uso. El runtime total abarca todos los sandboxes; verifica los límites de sesión y concurrencia por separado.
El mismo ejemplo de cómputo en Lizard
Asume 1.000 horas totales de ejecución con el medidor de Lizard leyendo 2 vCPUs y 4 GB de memoria durante todo el tiempo. El medidor de memoria de Lizard usa 1.024 MiB por GB, coincidiendo con la cantidad en GiB del ejemplo de E2B.
CPU: 1,000 × 3,600 × 2 × $0.000006948 = $50.0256
Memory: 1,000 × 3,600 × 4 × $0.000003474 = $50.0256
Compute subtotal: $100.0512, or about $100.05
Monthly subscription: $0Lizard tiene el menor coste de cómputo en este ejemplo: $100,05 frente a los $165,60 de E2B. Con la base mensual de E2B Pro, la comparativa es $100,05 más comisiones de pago de Lizard frente a $315,60, antes de impuestos. Ninguna cifra incluye almacenamiento extra, tráfico u otros servicios. E2B Hobby no tiene cuota base; no añadas la de Pro cuando Hobby cumpla los requisitos.
Esto es un cálculo de tarifas, no un resultado de rendimiento medido. Verifica límites y estado retenido antes de elegir proveedor. Fuentes verificadas el 15 de septiembre de 2026: precios de E2B y precios de Lizard.
Compara el contrato operativo
| Proveedor | Qué examinar primero | Preguntas para tu prueba |
|---|---|---|
| E2B | Ejecución de código, plantillas y planes de sesión | ¿Puede tu tarea terminar dentro de los límites de sesión y concurrencia? |
| Daytona | Ciclo de vida del sandbox y facturación de recursos | ¿Qué ocurre con el almacenamiento y los cargos cuando se detiene una sesión? |
| Modal | Recursos del sandbox e integración con el resto de Modal | ¿Cómo encajan el arranque, la ejecución y las salidas almacenadas en tu flujo? |
| Lizard | Lizard SDK, Kubernetes / runc | Ciclo de vida; /workspace; Recursos y duración |
Daytona detalla cómputo, memoria y almacenamiento por separado. La documentación de sandboxes de Modal describe ejecución, red y controles de ciclo de vida. Usa esos documentos específicos al comparar comportamiento; una palabra común como «pausa» no tiene por qué significar la misma garantía de almacenamiento.
Ciclo de vida
Sandboxes ejecuta comandos breves y tareas de agentes en pods de Kubernetes con runc. Comparten el kernel del host; no son máquinas virtuales Firecracker. Limita las credenciales y el acceso a la red al ejecutar código que no sea de confianza.
Crea un sandbox, ejecuta comandos y llama a kill. connect se conecta a un sandbox existente; no reanuda uno detenido. Pausar, reanudar, fork, snapshot, restore y observar archivos devuelven HTTP 501 en el runtime actual. SSH no está disponible.
El SDK y la CLI fijan cinco minutos de duración por defecto. La API directa y el panel no fijan caducidad por defecto. Indica la duración: timeoutMs: 0 al crear desactiva la caducidad; un valor positivo fija un plazo. setTimeout acepta 1000–2147483647 ms, no cero. Los comandos no reinician el plazo. No es un temporizador de inactividad.
Los archivos y procesos siguen disponibles mientras el sandbox está en ejecución. Tras detenerlo, otro sandbox solo puede recuperar los archivos escritos en un Persistent Volume adjunto en /workspace. Sin volumen, /workspace es temporal. Cada volumen se adjunta a un solo sandbox y usa almacenamiento local de un nodo; exporta los archivos que deban sobrevivir a la pérdida del nodo.
Se factura el consumo medido de CPU, memoria, almacenamiento y tráfico saliente. Un sandbox inactivo puede seguir usando memoria y disco. Deténlo al terminar; los datos guardados siguen generando cargos de almacenamiento.
Un pequeño ejemplo con Lizard SDK
Instala @lizard-build/sdk en un proyecto Node y proporciona LIZARD_API_KEY a través del entorno. Sustituye my-project por un proyecto que puedas usar. Este ejemplo crea un entorno de vida corta, ejecuta un comando y lo libera en un bloque finally:
import { Lizard } from '@lizard-build/sdk';
const client = new Lizard({ project: 'my-project' });
const sandbox = await client.create('interpreter', { timeoutMs: 300000 });
try {
const result = await sandbox.process.exec("python -c 'print(6 * 7)'");
if (result.exitCode !== 0) throw new Error(result.stderr);
console.log(result.stdout);
} finally {
await sandbox.kill();
}El comando debería imprimir 42. El ejemplo ilustra la API y el patrón de limpieza; no es un benchmark de rendimiento ni de arranque. El código de producción también debe gestionar una petición de limpieza fallida y preservar las salidas que necesite antes de la terminación.
Prueba el flujo de trabajo, no solo el primer comando
Usa la misma tarea y conjunto de dependencias en cada candidato. Registra el tiempo hasta un entorno usable, el tiempo de ejecución de comandos, fallos, consumo de recursos y salidas retenidas. Separa la preparación de la imagen del arranque de la sesión para que la comparación mida las mismas etapas.
Después prueba los casos que encontrará un agente: un comando que falla, un proceso que se cuelga, sesiones concurrentes, una salida grande y una sesión que expira. Confirma que el coordinador registra información suficiente para reintentar con seguridad.
Si la salida es una aplicación de producción, despliégala como servicio con un proceso de release normal. Una URL de sandbox y una ejecución de prueba exitosa no sustituyen a la configuración de despliegue, monitorización y datos duraderos. Nuestra guía de despliegue con Claude Code cubre ese siguiente paso.
Preguntas frecuentes
¿Es E2B gratis? Su plan Hobby no tiene cuota base e incluye un crédito único, mientras que el runtime tiene tarifas de uso publicadas. Verifica los límites aplicables y qué ocurre tras gastar el crédito.
¿Es Lizard más barato para el ejemplo anterior? Sí. Su subtotal de cómputo es $100,05, frente a los $165,60 de uso de E2B o $315,60 con la base de Pro. Añade comisiones de pago de Lizard y cualquier almacenamiento o tráfico en cualquiera de los dos hosts. Lizard no requiere suscripción mensual.
¿Incluye E2B Pro runtime ilimitado? No. Su cuota base y cargos de uso son separados.
¿Hace que el estado de Lizard Sandboxes sea duradero pausarlos? Crea un sandbox, ejecuta comandos y llama a kill. connect se conecta a un sandbox existente; no reanuda uno detenido. Pausar, reanudar, fork, snapshot, restore y observar archivos devuelven HTTP 501 en el runtime actual. SSH no está disponible. Los archivos y procesos siguen disponibles mientras el sandbox está en ejecución. Tras detenerlo, otro sandbox solo puede recuperar los archivos escritos en un Persistent Volume adjunto en /workspace. Sin volumen, /workspace es temporal. Cada volumen se adjunta a un solo sandbox y usa almacenamiento local de un nodo; exporta los archivos que deban sobrevivir a la pérdida del nodo.
¿Qué proveedor es el más rápido? Esta guía no establece un ranking de velocidad. Mide la misma imagen, dependencias, región y condición de preparación, e informa de resultados repetidos en lugar de un único arranque exitoso.
Construye con IA. Publica con Lizard.
No necesitas un equipo de plataforma para publicar. Todo tu entorno está a un solo comando de Lizard CLI.
- Servicios
- —
- Add-ons
- —
- Despliegues
- —
- Sandboxes iniciados
- —