What you can build

Lelantos gives AI agents real compute: isolated Firecracker microVMs, a browser engine with anti-detection, and per-second billing. Three concrete scenarios below.

AI agents

Code interpreter for LLM agents

Give Claude, GPT-4o, or any model a real Python runtime. The agent generates a script; Lelantos runs it in a Firecracker microVM and returns the real exit code and stdout. No shell injection, no shared kernel, sandbox gone in milliseconds when the task finishes.

Real exit codesEU data residencyFirecracker isolationE2B-compatible drop-inPer-second billing

Scenario

An agent tasked with revenue analysis asks Claude to write a data script, runs it against a CSV on the sandbox filesystem, and returns structured JSON results to the calling application, all inside a VM that never touches the host filesystem.

314 ms

cold-start p50 (EU)

$0.082/hr

2 vCPU / 512 MB

import { createLelantos } from '@lelantos-ai/sdk'import Anthropic from '@anthropic-ai/sdk'const lel = createLelantos({  apiKey: process.env.LELANTOS_API_KEY,  domain: 'lelantos.ai',})const claude = new Anthropic()// Provision a code-interpreter sandbox (EU, Firecracker microVM)const sbx = await lel.compute.create('code-interpreter')// Ask Claude to write + run a data analysis scriptconst msg = await claude.messages.create({  model: 'claude-opus-4-5',  max_tokens: 1024,  messages: [{    role: 'user',    content: 'Write Python to load sales.csv, compute monthly revenue, '           + 'and print the top-3 months as JSON.',  }],})const script = msg.content[0].type === 'text' ? msg.content[0].text : ''// Execute -- real exit codes, real stdout, no shell injectionconst { stdout, exitCode } = await sbx.runCommand(script, { cwd: '/home/user' })console.log('exit', exitCode)console.log(stdout)await sbx.destroy()
Example output
Click "Run" to see example output...
Browser automation

Anti-detection browser, EU-native

Every browser sandbox runs a dedicated Camoufox instance (Firefox with randomised fingerprints) or Chromium inside a Firecracker microVM. Connect via Playwright over CDP or use the lightweight NDJSON RPC path. No shared pools, no cross-session bleed.

Camoufox engine

Firefox with randomised fingerprints built in. Evades bot detection by default.

Isolated per session

Each sandbox is its own microVM. No cross-session cookie or state leakage.

242 ms RPC path

NDJSON /rpc: warm connect + first command in 242 ms (vs 572 ms CDP bridge).

EU data residency

All browser sessions run on bare metal in Germany. Data never crosses jurisdictions.

import { createLelantos } from '@lelantos-ai/sdk'const lel = createLelantos({  apiKey: process.env.LELANTOS_API_KEY,  domain: 'lelantos.ai',})// Camoufox anti-detection browser -- EU-native, no Browserbase overheadconst { browser, artifacts, close } = await lel.browser.createBrowser({  engine: 'firefox',  // camoufox under the hood: randomised fingerprints})const [page] = await (browser as any).contexts()[0].pages()await page.goto('https://example.com/checkout')await page.fill('#email', 'agent@example.com')await page.click('button[type=submit]')// Persist screenshot to server-side artifact storeconst shot = await artifacts.screenshot({ fullPage: true })console.log('artifact id', shot.artifactID)await close()

Browser cold-start (EU)

Lelantos~27 s
Browserbase~56.5 s

Warm steady-state: Browserbase wins (~846 ms vs ~1651 ms). Cold boot: Lelantos is approx 2.1x faster. Benchmark source: cross-provider-eu-2026-06-17.

Lelantos-only

  • +Custom compute per session (resize CPU/RAM)
  • +BYO proxy with sticky-session support
  • +NDJSON /rpc (no Playwright dep needed)
  • +Artifact store (screenshots, PDFs, HAR)
CI and data pipelines

Parallel ephemeral jobs, per-second billing

Fan out to 50 or 500 sandboxes in a single Promise.all. Each runs an isolated Python or Node.js environment for test suites, CSV transforms, reward function evals, or batch inference. Pay per second, discard immediately.

1

Create

lel.compute.create() -- 314 ms p50 cold-start

2

Upload

sbx.filesystem.write() -- inject data files

3

Execute

sbx.runCommand() -- real exit code + stdout

4

Destroy

sbx.destroy() -- billing stops immediately

import { createLelantos } from '@lelantos-ai/sdk'const lel = createLelantos({  apiKey: process.env.LELANTOS_API_KEY,  domain: 'lelantos.ai',})// One sandbox per CI job -- parallel, isolated, per-second billingasync function runJob(csvUrl: string) {  const sbx = await lel.compute.create('python')  // Upload CSV directly into sandbox filesystem  await sbx.filesystem.write('/tmp/data.csv',    await fetch(csvUrl).then(r => r.text()),  )  // Run analysis  const { stdout, exitCode } = await sbx.runCommand(    'python3 /tmp/data.csv | python3 -c "'    + 'import sys,csv,json; rows=list(csv.DictReader(sys.stdin)); '    + 'print(json.dumps({"rows":len(rows)}))"'  )  await sbx.destroy()  return { exitCode, result: JSON.parse(stdout) }}// Fan-out: 50 CSVs in parallel, billed per-second eachconst jobs = csvUrls.map(url => runJob(url))const results = await Promise.all(jobs)console.log(results.filter(r => r.exitCode === 0).length, 'passed')
How we compare

Fastest in the EU on compute cold-start and resume

Measured from a neutral EU host. We report where we win and where we do not. Warm browser steady-state is not our win: Browserbase is faster there.

ProviderCold-start p50Resume p50Effective $/hrEU regionE2B compatIsolation
Lelantosus314 ms327 ms$0.082YesYesFirecracker microVM
E2B561 ms761 ms$0.117 + $150/moNoYesFirecracker microVM
Modal1593 msfailed~$0.055*NoNogVisor
Daytona2323 ms2123 ms$0.117Yes(self-serve)NoSysbox container
Browserbase(Browser only)N/Afailed$0.10-0.12 /browser-hrYes(self-serve)NoDedicated VM

Measured from a neutral EU host, 20 runs/provider p50. Source: benchmarks/cross-provider-eu-2026-06-17/. Where Lelantos is not the fastest (browser warm-start: Browserbase wins), the table says so. Modal resume failed all 20 runs in our benchmark. Pricing from published list rates; Modal pricing disputed pending billing reconciliation.

Where we win

  • +Compute cold-start: 1.8x faster than E2B, 5x than Modal
  • +Compute resume: 327 ms vs 761 ms E2B
  • +EU-native by default (no plan upgrade needed)
  • +Cheapest E2B-compatible sandbox ($0.082/hr, no base fee)

Where they win

  • +Warm browser steady-state: Browserbase ~846 ms vs our ~1651 ms
  • +OSS infra: E2B (Apache-2.0), Daytona (AGPL, 72k stars)
  • +Compliance: Modal (SOC2 II + HIPAA), Cloudflare (SOC2 + ISO)
  • +Cold-start consistency: E2B has tighter p90/p99 than our warm-pool tail

Honest caveats

  • +Numbers from EU neutral host; your RTT will vary
  • +Modal pricing disputed -- cells marked with *
  • +Lelantos warm-pool tail (p90: 1310 ms) is wider than E2B
  • +SOC2 is on our roadmap, not yet certified
Framework compatibility

Works with your existing AI stack

E2B-compatible surface means the SDKs you already use work unchanged. The example output below is a static illustration, not a live run.

import { createLelantos } from '@lelantos-ai/sdk'const lel = createLelantos({  apiKey: process.env.LELANTOS_API_KEY,  domain: 'lelantos.ai',})const sbx = await lel.compute.create('base')const result = await sbx.runCommand('echo "Hello from EU!"')console.log(result.stdout) // Hello from EU!await sbx.destroy()
Example output
Click "Run" to see example output...

Start building in minutes

$50 free credits. No credit card to start. Every sandbox runs in the EU on Firecracker microVMs.