Self-hosted runners for coding agents, in the EU

The machine your agents actually run on, in Prague or Covilha, under an EU contract - so the answer to "where does the code go" is a data centre you can name rather than a region setting.

Tier III Certified ISO 9001 ISO/IEC 27001 ISO 14001 GDPR Compliant

Who it is for

A team whose agent cannot leave the perimeter

Legal signed off on the model but not on a US sandbox holding the checkout, the transcripts and the logs, and the review keeps coming back to where each of those three actually sits.

A platform building on the custom sandbox API

You do not need another orchestration layer on top of yours. You need hosts with predictable pricing, isolation you configure, and addresses you control.

A team that already picked a managed sandbox

It works, and then a data-residency questionnaire arrives asking which entity processes the data and which region the queue state lives in.

The four shapes a runner takes

  • Ephemeral: a container per task, destroyed when the task finishes. Bug investigation, invoice extraction, a document translation.
  • Long-running: persistent containers holding many sessions at once. An email agent that triages all day, a chat bot, a site builder serving through container ports.
  • Hybrid: ephemeral containers that hydrate from a session store on start and write back on exit, for work that spans hours with idle gaps.
  • Multi-agent: several SDK subprocesses inside one container, each with its own working directory so they do not overwrite each other.
  • Fixed or on-demand runners for Claude Code web, mobile and desktop sessions, provisioned by you rather than by Anthropic.
  • A custom sandbox client against your own infrastructure, for when none of the four managed providers fits the contract you have to sign.

Sized by concurrent agents, not by guesswork

Anthropic puts the floor at 1 GiB of RAM, 1 CPU and 5 GiB of disk per agent, and the host sizing at (host RAM minus overhead) divided by your measured per-session ceiling. The floor is a floor: measure peak RSS on a representative session at your real session length before you trust these agent counts. Worth knowing before you optimise the wrong number - their own documentation puts a minimal container near USD 0.05 per hour while a single long session spends dollars in tokens, so the infrastructure is not where this bill is decided.

A first runner
18.43
per month

Order Now
about 6 concurrent agents
4 vCPU
8 GB RAM
80 GB NVMe
1 static IPv4
1 backup included
A team runner
36.88
per month

Order Now
about 14 concurrent agents
8 vCPU
16 GB RAM
160 GB NVMe
1 static IPv4
1 backup included
A busy pool
59.92
per month

Order Now
about 30 concurrent agents
8 vCPU
32 GB RAM
160 GB NVMe
1 static IPv4, more per tenant
1 backup included

What we are not

  • We are not a sandbox platform. There is no control plane here, no session API and no dashboard of runs. You bring the runner or the custom sandbox client; we provide the machine, the network and the addresses it needs.
  • We are not affiliated with Anthropic. Claude, Claude Code and the Agent SDK are theirs, self-hosted runners are a Team and Enterprise feature of their product, and nothing on this page is endorsed by them.
  • Model inference is not ours either. Your runner calls api.anthropic.com, or an EU Bedrock or Vertex region when residency has to cover the prompt as well as the code.
  • Tokens are billed by whoever serves the model. Our invoice is the infrastructure, which their documentation notes is usually the smaller number by an order of magnitude.
  • A coding agent needs no GPU - inference happens on the model provider side. If you are serving a model yourself, that is a GPU conversation and a different page.

The parts teams discover late

  • Session state lives on the container filesystem, so anything a user expects to resume needs a SessionStore. S3-compatible storage, Postgres or Redis on the same private network all work, and the store receives a copy while local disk stays authoritative.
  • The store mirrors transcripts only. CLAUDE.md memory files and working-directory artifacts need their own volume or an object-store sync, which is the detail that turns a clean restart into a lost afternoon.
  • Production wants outbound traffic through a proxy that enforces a domain allowlist and injects credentials outside the container, so the agent makes the call and never holds the key.
  • Multi-tenant isolation is more than a directory per tenant: settings loading off, auto memory disabled, a config directory per tenant, and distinct outbound addresses per tenant. That last one is why an address broker with its own AS is a useful landlord.
  • Sessions do not time out on their own - bound them with maxTurns. Memory grows over a long session, so recycle subprocesses rather than trusting one to live forever.
  • Telemetry comes out of the SDK if the environment is set, and we can host the collector next to the runners instead of shipping traces to another continent.

A managed sandbox versus a runner on your own hardware

A managed sandbox serviceA runner on DCXV
Where code and files sitA provider region you can pinA machine in Prague or Covilha that is yours
Where logs and queue state sitOften unpinnable, even when compute is pinnedThe same machine, or your own store beside it
Who you contract withFrequently a US entity, with a DPAA Cyprus company, under EU law
Outbound address per tenantShared egress, where it is exposed at allOne clean IPv4 per tenant from AS204057
Billing shapePer second or per requestFlat monthly, no surprise after a long run
Cold startSub-second, which ephemeral work wantsA warm host: fast to attach, nothing to provision
IsolationmicroVM or gVisor, managed for youDocker, gVisor or Firecracker, configured by you

How a runner pool starts

1

Say how many sessions run at once

Concurrency, how long a session lasts, and whether the agents drive a browser. That plus a measured peak RSS gives the host size without guessing.

2

We hand over the host

Prague or Covilha, static addresses, root access, in minutes. Bring your own image if your runner is already built.

3

Point the runner at it

The self-hosted runner command for Claude Code, or your custom sandbox client for the Agent SDK. We are the target, not the tooling.

4

Snapshot, then grow sideways

Sessions pin to a host by consistent hashing on the session id, so a pool scales by adding hosts rather than by making one bigger.

Why choose us

  • Tier III certified facilities, 99.982% facility SLA
  • Own network, AS204057, IPv4 and IPv6 dual-stack
  • 24/7/365 support with ~10 minute average response
  • Cyprus company, EU jurisdiction, GDPR-native since 2007

FAQ

- What does a self-hosted agent runner actually need?

Anthropic puts the floor at 1 GiB of RAM, 1 CPU and 5 GiB of disk per concurrent agent, and host sizing at host RAM minus overhead divided by your measured per-session ceiling. Treat the floor as a floor and measure peak RSS on a real session at your real length. Outbound HTTPS to the model endpoint is required; inbound is only whatever your own application exposes

- Can inference stay in the EU as well as the code?

The runner can, entirely: your code, checkouts, transcripts and logs sit on a machine in Prague or Covilha under a Cyprus contract. For the model call itself, point the runner at an EU region of Amazon Bedrock (Frankfurt, Ireland, Paris or Stockholm) or Vertex AI, which the SDK supports through its regional endpoint setting. The direct API has no customer-selectable EU-only residency, so if the prompt has to stay in the EU too, that is the route

- How is this different from Modal, Daytona, Vercel or Cloudflare?

Those are platforms and this is the metal underneath one. They give you a control plane and a session API; we give you hosts, isolation you configure, and addresses you control. Two practical differences if self-hosting is the requirement rather than a preference: Daytona went closed-source in June 2026 and its control plane still runs on Daytona infrastructure, and E2B self-hosting targets AWS and GCP. A platform that supports bring-your-own-cloud can also simply land on us

- How many agents fit on one host?

At the 1 GiB floor, roughly six on 8 GB, fourteen on 16 GB and thirty on 32 GB once you leave headroom for the operating system. Browser automation changes that sharply - Chromium takes 2 to 4 GB per session, so a browsing agent is closer to 4 GB than to 1 GB. Measure before you commit to a number

- Do you give each tenant its own outbound address?

Yes, and it is the reason to host agents with an address broker. Anthropic recommends per-tenant egress rules including distinct outbound IPs, so a compromised tenant cannot exfiltrate through another tenant policy. We run AS204057, hold our own IPv4 space, keep agent workloads in separate pools from mail and from addresses destined for sale, and you can check any block reputation yourself before it goes live

- What does it cost?

From EUR 18.43 per month for a first runner at 4 vCPU and 8 GB, about six concurrent agents at the documented floor; EUR 36.88 for 16 GB and EUR 59.92 for 32 GB, with a backup included in each. Bare metal is available when you want Firecracker or gVisor isolation on hardware nobody shares. Worth keeping in proportion: Anthropic own documentation puts a minimal container near USD 0.05 per hour while one long session spends dollars in tokens

If you require assistance or have additional questions, please contact the managers or write to the support team at support@dcxv.com

Cloud servers from €15/mo

Order Now