boat vs Surfsky
Surfsky is a cloud antidetect browser: headless Chrome with real device fingerprints, CAPTCHA solving and residential proxies, driven over CDP. boat gives each agent a full Linux VM with root, Docker and a disk that persists, plus a 60fps desktop with Chromium and coding agents you drive from outside.
Where boat stands out
A whole machine, not only a browser
Every boat sandbox is a full VM with root, SSH, systemd, Docker and nested virtualization, on dedicated AMD Ryzen 9 9950X hosts, with Chromium on a desktop inside it. A Surfsky session gives your code a browser in a container over CDP, and nothing else on the machine.
A disk that stays, and forks
A boat sandbox keeps its whole disk, with snapshots every minute and on stop, so a stopped sandbox costs nothing and comes back with its files. You can also fork a running sandbox. A Surfsky persistent profile keeps only the browser storage you pick, and runs one browser at a time.
Coding agents you drive from outside, keys kept outside
boat ships Claude Code, Codex, OpenCode and other agents in each sandbox, and you prompt, steer and follow them through one API with an event stream. boat's credentials proxy keeps real API keys outside the sandbox for model providers and any HTTPS API. Surfsky gives your own agent a browser to connect to.
The companies and products
boat
boat.dev runs sandboxes for AI agents: each one is a full Linux VM with its own kernel.
You start a machine with one command or one API call, then SSH in, run Docker, open a desktop, or let a built-in agent (Claude Code, Codex, OpenCode and others) work in it. The disk stays between sessions, and a stopped sandbox costs nothing.
- Isolation
- Full VM per sandbox, own kernel
- Regions
- EU: Germany, Finland, France
Surfsky
Surfsky is a cloud antidetect browser for web scraping and automation on sites with strong bot protection.
You start a browser with one API call and connect Playwright, Puppeteer, Selenium, chromedp or the Surfsky SDKs to it over CDP or ChromeDriver. Each session runs antidetect Chrome in its own container, with a fingerprint from real desktop or Android devices, a proxy tunnel, human-like mouse and keyboard input and CAPTCHA solving. It is a browser product, not a general sandbox: you get a browser, not a shell on the machine, so this page compares where the two overlap, which is agents that browse.
Which use cases each one fits
For each use case, Battleships prices every sandbox provider on the same workload and sorts them from the cheapest monthly bill up. “3rd cheapest of 367” means 2 of the other 366 providers run that workload, with every feature it needs, for less. “With limits” means the provider runs it but misses something, so it is listed after every full match. Open a use case for its whole ranking and what each provider misses.
| Use case and its workload | boat: price rank | Surfsky: price rank |
|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A coding agent needs a shell, Docker and a disk, and a Surfsky session gives a browser only, so builds and tests fit boat. | 3rd cheapest of 367 $634 a month | 218th of 367, with limits $2,721 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that lives on its machine all month keeps only a browser profile between Surfsky sessions; on boat it keeps its whole disk and its processes. | 5th cheapest of 366 $657 a month | 183rd of 366, with limits $1,592 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month | 186th of 345, with limits $2,000 a month | 237th of 345, with limits $199 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month | Cheapest of 361 $209 a month | 302nd of 361, with limits $2,674 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month | 34th of 360, with limits $2,000 a month | 232nd of 360, with limits $1,532 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month | 10th cheapest of 364 $200 a month | 233rd of 364, with limits $199 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month CI jobs need a shell, Docker and often /dev/kvm, which boat has and a browser session does not. | 4th cheapest of 377 $86 a month | 339th of 377, with limits $1,464 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB A dev box has to keep its files and tools, and a Surfsky session saves only browser storage such as cookies and localStorage, so this fits boat. | 18th cheapest of 368 $26 a month | 294th of 368, with limits $199 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Surfsky agents act on web pages only, through a view-only screencast of one tab, while boat streams a 60fps Linux desktop where an agent can use any app. | 6th cheapest of 369 $200 a month | 316th of 369, with limits $2,469 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month Both fit: Surfsky gives a stealth browser over CDP for any agent framework, and boat gives Chromium on a full VM where the same agent can also run code. | 7th cheapest of 367 $200 a month | 45th cheapest of 367 $3,159 a month |
| Scraping & bots (startup scale) 50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month Both fit at startup scale; Surfsky adds fingerprints, human emulation and a scrape endpoint that returns rendered HTML in one call. | 6th cheapest of 346 $90 a month | 83rd cheapest of 346 $5,196 a month |
| Mass scraping & bots (undetectable) 1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month Surfsky fits mass scraping better: real device fingerprints, CAPTCHA solving and residential and mobile proxies are built for sites that block bots, while boat uses datacenter IPs. | 71st of 338, with limits $1,800 a month | 27th of 338, with limits $49,041 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month | 2nd cheapest of 360 $200 a month | 285th of 360, with limits $570 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month | Can't run it | Can't run it |
| macOS agents 5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month | Can't run it | Can't run it |
Key features
| Feature | boat | Surfsky |
|---|---|---|
| Kind of product | A full Linux VM per sandbox, with a desktop and Chromium inside | Hosted antidetect Chrome reached over CDP, ChromeDriver or REST |
| Isolation | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts | A browser process in an isolated container with its own filesystem and network stack |
| What the agent can touch | The whole machine: root, SSH, any package, any process | The browser only; no shell, SSH or root on the machine |
| Docker and nested virtualization | Docker, systemd and /dev/kvm on every machine | Not offered: a session is a browser, not a machine |
| Session length | No cap on paid plans; you set the time to live | No time limit; stops after 30 seconds without commands by default, and the timeout can be raised |
| Files after a session | The disk persists, with snapshots every minute and on stop; a stopped sandbox costs nothing | Persistent profiles keep cookies, passwords, bookmarks and other browser storage you pick; one-time sessions keep nothing |
| Fork and parallel copies | Fork a running sandbox with its disk | No fork; a persistent profile runs one browser at a time, so parallel work needs separate profiles |
| Watching the agent | 60fps desktop and Chromium, computer use on any app, embeddable stream | View-only screencast of a tab as JPEG frames, plus DevTools for inspection |
| Bot detection | Datacenter IPs and Chromium; no CAPTCHA solving | Real device fingerprints (desktop and Android), human emulation, CAPTCHA solving, residential and mobile proxies |
| Outbound traffic control | Open internet on every plan; no provider-side blocklist | Per-session domain blocklist with wildcards, routes per domain and a kill switch outside the proxy tunnel |
| Reaching the machine | HTTPS URLs for up to 50 ports, token-protected; raw TCP; own IP | Surfsky's own CDP, DevTools and screencast URLs; no ports to host a service on |
| Agents | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API | Works with agent frameworks that speak CDP; an agent harness for CAPTCHAs and session resets is behind a request for access |
| Keeping keys out of the sandbox | AI credentials proxy for model providers and any HTTPS API you register; switch a credential to another account when credits run out | Logins persist through saved profile cookies; API keys stay in your own code |
| Regions | EU only (Germany, Finland and France) | Germany or the United States, one per account |
| Compliance and transparency | SOC 2 is in progress. We're open about where we stand: live status and data retention policy. | No SOC 2 report published |
Every feature Battleships tracks (43)
| Feature | boat | Surfsky |
|---|---|---|
| Full VM (own kernel) | Yes | No |
| Docker inside | Yes | No |
| Nested virtualization | Yes | No |
| Root | Yes | Not published |
| Systemd | Yes | Not published |
| Desktop GUI | Yes | No |
| Browser | Yes | Yes |
| Computer-use API | Yes | Yes |
| SSH | Yes | No |
| Persistent disk | Yes | No |
| Pause/resume | Yes | No |
| Automatic snapshots | Yes | No |
| Fork/clone | Yes | No |
| Live fork (no pause) | Yes | No |
| Memory fork | No | No |
| Custom image (Docker or snapshot) | Yes | Yes |
| ≥24 h sessions | Yes | Yes |
| Idle auto-stop | No | Yes |
| Wake on request | No | No |
| HTTPS preview URLs | Yes | No |
| Raw TCP inbound | Yes | Not published |
| Public IPv4 | No | No |
| Egress allowlist | No | Yes |
| Secret proxy | Yes | No |
| Secret proxy for any API | Yes | No |
| Preinstalled agents | Yes | No |
| Agent harness API | Yes | No |
| MCP server | No | No |
| GPU | No | No |
| Windows | No | No |
| Arm64 | No | No |
| Self-hosting | No | No |
| BYOC | No | No |
| Open source | No | No |
| Scoped API keys | Yes | Not published |
| Spend limits | Yes | Not published |
| Usage per sandbox (API) | Yes | No |
| Audit logs | No | Not published |
| SSO | No | No |
| SOC 2 | No | No |
| HIPAA | No | No |
| EU data residency | Yes | Yes |
| Zero data retention | Yes | Not published |
Performance
There is no comparable measurement. Surfsky was not in StarSling's public CPU benchmark, and it does not publish the vCPU or RAM behind a browser hour, so there is no number to set against boat's 26.69 runs per second at 4 vCPU / 8 GB.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Surfsky has no published run in this suite yet, so there is no like-for-like number to compare.
Pricing in five scenarios
Each bill is priced from the providers' public price lists by the open Battleships engine, with the cheapest plan that runs the scenario.
| Scenario | boat, a month | Surfsky, a month |
|---|---|---|
| One coding agent, workdays 4 vCPU / 8 GB, 50 GB disk, 8 hours a day, 22 days a month, files kept between days | $20 · $20/mo | $199 · Advanced · with limits |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $26 · $20/mo | $199 · Advanced · with limits |
| 50 agents in parallel 50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside | $317 · $20/mo × 3 seats | $2,081 · Advanced · with limits |
| Sandboxes for your users 2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once | $200 · $100/mo × 2 seats | $3,259 · Advanced · with limits |
| 1,000 short jobs at once 2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month | $2,000 · $2000/mo · with limits | $2,032 · Advanced · with limits |
boat: You pick a monthly plan from $20, and all of it becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Surfsky: Surfsky bills browser time by the minute, rounded up, at $0.35 an hour on pay as you go down to $0.20 on Advanced, and the $29, $99 or $199 monthly fee becomes credit. Premium proxy traffic costs $10 to $7 per GB and CAPTCHA solves are metered from the same credit.
Limits in those scenarios
The Surfsky prices in the table are for its browser session, with no published size and no disk that stays, so none of them is a 4 vCPU / 8 GB machine, and that is why no scenario fits. Concurrency is the hard limit: 199 browsers at once on Advanced, so 300 sandboxes for your users and 1,000 short jobs at once need a Custom plan through sales. Start requests are also rate-limited per minute and per hour, apart from the browser slots. On boat, the 1,000-job burst is the one that does not fit: bursts above 90 starts a minute are queued, and it needs more starts per day than the top plan allows.
| Scenario | boat | Surfsky |
|---|---|---|
| One coding agent, workdays | None that bite |
|
| One agent that never stops | None that bite |
|
| 50 agents in parallel | None that bite |
|
| Sandboxes for your users | None that bite |
|
| 1,000 short jobs at once |
|
|
Which one should you use?
Use Surfsky when
your agent only needs the web and the sites fight back: real device fingerprints, human-like input, CAPTCHA solving and residential proxies, or browsers that run in the US.
- Getting past bot walls. Useful for sites that block bots: real device fingerprints, human-like input, CAPTCHA solving and residential and mobile proxies.
- A browser in the US, with traffic rules. Useful when browsers must run near a US worker, or when each session should skip chosen domains.
- Many cheap browser hours. Useful for browsers that run all day: a reserved fleet starts at $0.03 per browser hour through sales.
Use boat when
your agent browses and also works: installs, builds, Docker and dev servers on a full VM that keeps its disk and can be forked, with coding agents and a key proxy built in.
- A whole machine, not only a browser. An agent that reads a page and then has to clone a repo, run docker compose or start a dev server needs a second provider next to Surfsky, and has to move files between the two.
- A disk that stays, and forks. On Surfsky, downloads, notes and tools outside the browser profile are gone when the session stops, and ten parallel copies of one logged-in setup mean ten profiles set up one by one.
- Coding agents you drive from outside, keys kept outside. With Surfsky you write and host the agent loop yourself, on another machine, and the model keys it uses live in your own code.
Questions people ask
Is boat cheaper than Surfsky?
The table sets a 4 vCPU / 8 GB boat VM against a Surfsky browser session that keeps no disk. One coding agent on workdays comes to $20 a month on boat against $199, and 50 agents in parallel to $317 against $2,081. For 1,000 short jobs at once neither fits, at $2,000 on boat against $2,032.
Can Surfsky run Docker or a shell?
No. A Surfsky session is a browser in a container that you reach over CDP, ChromeDriver or REST, not a shell on the machine. Every boat sandbox has root, SSH, Docker, systemd and /dev/kvm.
How long can a Surfsky session run?
There is no time limit, but a browser stops after 30 seconds without a command unless you raise that timeout at start. A persistent profile keeps the browser storage you pick between sessions. boat has no session cap on paid plans and keeps the whole disk when you stop.
Does boat have stealth or CAPTCHA solving like Surfsky?
No. boat runs Chromium on datacenter IPs and does not solve CAPTCHAs. For sites that block bots at volume, Surfsky's fingerprints, human emulation, CAPTCHA solving and residential proxies are built for that.
Can I use boat and Surfsky together?
Yes. An agent on a boat sandbox can start a Surfsky browser with one API call and connect to it over CDP, while its code, files and tools stay on the boat VM. That puts protected browsing on Surfsky and the rest of the work on a machine that keeps its disk.
Is boat SOC 2 compliant?
SOC 2 is in progress. We're open about where we stand: live status at status.ascii.dev and our data retention policy at docs.boat.dev/data-retention. boat runs only in the EU, with a zero data retention option.
Start a sandbox
Install the CLI, then run boat new.
7-day free trial