PreviewRuns on real Firecracker VMs

Your coding agents' machines and tokens, one invoice.

Give every agent a microVM with its own kernel, meter its tokens through one OpenAI-compatible gateway, and get one monthly invoice for both.

Internal preview · Tailscale address only · no real payments · upstream model is a stub

A drawn example of the console. Names and numbers are sample data; the real console is built from the same components.
  1. Fleet

    Every VM in one view

    A new VM has a shell in seconds. Guests have no internet.

  2. Gateway

    Work goes where there is room

    Every model call goes through one gateway, metered per key.

  3. Scale

    Out of room? Add a VM

    A new VM boots in 4.4 s, measured on this host.

  4. Meter

    Every second reports back

    VM seconds and tokens come back on one invoice.

GatewayPOST /api/v1/chat/completions
  • agent-1IdleRunningFullNot booted2 vCPU · 1 GB
  • agent-2IdleRunningFullNot booted1 vCPU · 512 MB
  • ci-runnerIdleRunningFullNot booted1 vCPU · 512 MB
  • New VMIdleRunningFullNot bootedUp to 8 per node

ExampleNames and states are examples. The fill stands for metered CPU.

Tokens

Every token reports back to one place

Call with one key. Cache hits, misses and output are counted apart, by day, route and model, with a CSV export.

  • Tokens per dayExample
    Input missInput hitOutput

    Usage

    The last 31 days by day, route and model, with request counts and p50/p95 latency. VM seconds and CPU core-seconds sit on the same page.

  • ci-agents
    8.6M / 10M86%
    5,000 / 5,000429

    Monthly limit per key

    Past the limit, the key gets 429 for the rest of the month.

  • curl /api/v1/chat/completions \
      -H "Authorization: Bearer df_…" \
      -d '{"model":"deepseek-flash", …}'
    
    → usage.prompt_cache_hit_tokens
      usage.prompt_cache_miss_tokens
      usage.completion_tokens

    OpenAI-compatible

    Change the base URL of the client you already use. Keys are shown once and stored only as SHA-256 hashes.

  • 200 · billed
    429 · limit
    5xx · not billed

    Server errors are not billed

    Requests that end in a 5xx are recorded but never charged.

Measured

Only numbers we measured

No customer logos, uptime promises or testimonials. What we have not measured, we say so.

2.46s

From process start to a ready guest shell

Measured · seogo, 2026-11-10

4.4s

This site's create-VM call, boot included

Measured · mdc-server, boot_ms 4,376

0.0019cores

Host CPU while the guest is idle

Measured · mean of 34 ten-second windows

405MB

Peak VMM process RSS (1.5 GB guest)

Measured · seogo

Not yet

  • Long-run uptime: never measured, not promised
  • SOC 2 · ISO 27001: none
  • External penetration test: none
  • jailer · MFA · backups: not yet

Pricing · internal preview

One commitment for VMs and tokens

Unit prices are set after a measured pilot. There is no public price on this page.

ComputeInternal preview
  • Own guest kernel per VM (KVM), guest internet blocked
  • Metered every 10 s from cgroup cpu.stat, per-second usage
  • Create, stop, start, delete and run commands from the API or console
AI tokensInternal preview
  • OpenAI-compatible gateway, monthly limit per key
  • Cache hit, miss and output tokens metered apart
  • Server errors (5xx) are not billed
Planned splitInternal preview · not final

An internal plan to split the monthly commitment 6 : 4 between VMs and tokens. Invoices are paid by USD SWIFT wire or USDC; USDC is in test mode for now.

DevFactory

Give your agents room.

Create an organisation