Agent sessions that start at zero.

T0 runs AI coding agents in isolated Linux sandboxes, over one REST API.

Model access included with every plan.

T0 sells the runtime — model access included

Anyone can call a model. The hard part is giving it somewhere safe to work, keeping that somewhere alive between messages, and doing both fast enough that it feels local. That is the entire product.

Isolation

Every session is its own container: read-only root filesystem, all capabilities dropped, seccomp, a pids ceiling, hard memory and CPU caps, and default-deny egress through an allowlist proxy that refuses every private network range.

Persistence

The workspace is a volume, not a scratch directory. Files the agent wrote, packages it installed and git state are all still there on the next message — days later, if you want.

Orchestration

Create, list, interrupt and expire sessions from one API. Run as many in parallel as your plan allows, each with its own workspace, its own environment and its own event stream.

Latency

Sessions are claimed from a pool of pre-booted containers, so creating one is bookkeeping rather than a boot. The agent process stays alive between messages, which is the single largest latency win available.

Sleep, not death

An idle session stops its container and keeps its volume. Resuming is a start, not a rebuild, and sleeping is never metered — a credit is one minute of awake time.

Model access included

Model access is included: sessions run on T0's own Claude Code account behind T0's gateway — you never handle a model credential, and your plan's credits are the only meter. There is nothing to add and no credential to manage: the account credential never enters your sandbox.

Four calls, start to finish

The whole API is sessions, messages, events and files. Everything else is a detail of those four.

  1. Create a session

    One POST. You get an id, a state and a stream URL back, from a container that was already running.

  2. Push files in

    A single PUT for one file, a tar.gz for a whole tree. Everything lands under /workspace.

  3. Send a message

    The prompt is written into the live agent process. Text, tool calls and file changes stream straight back.

  4. Take the result out

    Download files, keep the session for the next message, or let it sleep. Sleeping costs nothing.

Create a session
curl -X POST https://api.t0.sikasio.com/v1/sessions \
  -H "Authorization: Bearer t0k_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "invoice-parser",
    "model": "core",
    "idle_timeout": 600,
    "ttl": 86400,
    "env": { "NODE_ENV": "test" }
  }'

Time zero, measured

T0 means time zero: a session is ready the moment it is asked for. These are the targets the system is built to and load-tested against — p95, not best case.

PathTarget (p95)
Key authorization< 1 ms
Session create, warm pool hit< 300 ms
Resume from sleep< 500 ms
Cold resume, workspace restored< 3 s
Gateway overhead on first token< 50 ms
Event delivery jitter< 20 ms

Plans

A credit is one minute of awake session time. Sleeping costs nothing, and going over a quota is a hard stop with an upgrade prompt rather than a surprise bill.

 FreeStarterPro
Price$0$19/mo$59/mo
Credits / monthone credit = one minute awake60 (1 h)600 (10 h)2,400 (40 h)
Daily capcredits per UTC day20120360
Concurrent sessions1310
Concurrent runsone-shot /v1/runs, counted apart21030
Workspace storagedurable, per account400 MB5 GB20 GB
Live disk per sessiontechnical ceiling5 GB10 GB20 GB
Retentionafter a session ends7 days30 days90 days
Sandboxmemory / CPU1 GB / 1 CPU2 GB / 1.5 CPU4 GB / 2 CPU
Past the allowancecredits, on every plan$0.04 / min$0.04 / min$0.04 / min
Top-upscredits never expire$10 → 250 · $25 → 625$10 → 250 · $25 → 625$10 → 250 · $25 → 625

See the full pricing page →

Questions

The rest are answered in the documentation.

What is T0?

T0 sells hosted, sandboxed AI coding-agent sessions over a REST API. You create a session, push files into it, send it messages, and stream the agent working in real time. Each session is an isolated Linux workspace that persists between messages, so files the agent wrote, packages it installed and git state are all still there on the next message.

T0 sells the runtime — isolation, persistence, orchestration and latency — with model access included in every plan. Base URL: https://api.t0.sikasio.com/v1.

How do I get an API key?

Create an account at https://t0.sikasio.com/signup with an email and a password, verify the code we email you, and your key is shown once — copy it straight away. Send it as an Authorization: Bearer header on every /v1 request.

Keys are the tenant boundary: they identify the account, authorize the request, and are what usage is metered against. Revoke one from the dashboard and it stops working within seconds.

Do I need my own coding-agent subscription?

No. Model access is included with your plan: sessions run on T0's own Claude Code account behind T0's gateway, so there is nothing to bring, no token to paste and no model credential to manage. The account credential never enters your sandbox, and your plan's credits are the only meter.

Which models can I use?

Two tiers, named by T0: core for everyday work and max for the hardest tasks. Set the tier when you create a session; core is the default. Model access is included with your plan, so the tier is the only model choice you make.

Can I just send a prompt and get an answer back?

Yes — POST /v1/runs takes one prompt and returns one answer in the same HTTP call. It creates a session, runs the turn, and hands the container back; you never see the session. Use it for classification, extraction, drafting and summarising, and use a session when the agent needs a workspace, tools or memory of what it just did.

Tools are off by default on a run, which is most of why it is cheap: an agent holding a toolkit spends billable seconds deciding whether to use it on a question that needed none. Send tools: "all" when the work genuinely needs the machine.

Ask for JSON with response_format — either json_object, or json_schema with a schema — and the answer comes back parsed in output_json. An answer that does not match is sent back once for repair before the call fails.

Runs are counted against their own concurrency ceiling rather than against concurrent sessions, so a burst of one-shot calls never locks you out of the sandboxes you are keeping open.

What persists between messages?

Everything inside /workspace, plus the agent process itself. The process stays alive for the life of the session, so conversation context stays resident and follow-up turns do not re-read everything from scratch. That is the single largest latency win in the system.

When a session goes idle the container stops but its volume survives, so resuming is a start rather than a rebuild. Workspaces are also snapshotted to object storage, which is what makes a resume possible days later.

Start at zero

Create an account and your first session is running in a minute — model access is included. The free plan is permanent.

Get your free API key