A write loop, not a read-only API
Agents lease a phone, look at a fresh frame, act, assert and export evidence. Actions are tied to the frame they were chosen from, so a stale screen or a retried request never taps twice.
Handsy for teams
Plug a small Handsy module into any iPhone and your agent sees the screen and taps it like a person. No Apple Developer account, no Mac, no WebDriverAgent to re-sign. You pay only for results you accept.
Open-source hardware, CLI and MCP server: available now. Hosted Handsy Cloud and racks: pilots with design partners.
Leasing the phone…
Accepted · billed
Our failure · not billed
Cost and stability
Scripted iOS automation runs through WebDriverAgent, a test app you build, sign and keep alive on every phone. Handsy talks to iOS as a plain USB keyboard and mouse instead, so there is less to pay for and less to break.
Building and shipping your own app still uses Apple’s normal signing. The $99 is Apple’s published Developer Program fee.
The gap
No simulator pairs a real Bluetooth accessory, drops Wi-Fi mid-flow, or behaves like the phone your customers carry.
Appium and XCUITest need a Mac, Xcode and a signed WebDriverAgent on every device, and break when the UI shifts.
Coding agents can read a test report. They still can’t look at a real screen, tap it, and check what happened.
Why Handsy
Agents lease a phone, look at a fresh frame, act, assert and export evidence. Actions are tied to the frame they were chosen from, so a stale screen or a retried request never taps twice.
Bluetooth pairing, Wi-Fi handoffs, background and foreground switches happen on real hardware. The things simulators can’t see are the point.
For apps already installed, the Handsy module is the keyboard and mouse. Nothing to sign or rebuild per device just to send a tap.
A result is defined before the run. A PASS, or a real bug in your app, is a delivery. Our hardware or network failing is not.
What you can run
Agents
Available nowScreenshot, tap, swipe, type and hardware buttons on a real iPhone from Claude Code, Codex or any MCP client. The agent looks again after every action.
iPhone MCP server →Bluetooth & IoT
PilotPair, disconnect and reconnect your real accessory. Each step returns a screenshot, so a failed pairing is visible, not guessed. App bugs and an accessory that wasn’t ready are reported apart.
Network
PilotSwitch networks mid-flow and check the app recovers: sync resumes, nothing is submitted twice, the user sees the right state.
Releases
PilotFixed checks per build, device and iOS version: PASS or FAIL, screenshots, every action, and a recipe to run it again.
Self-hosted
PilotPhones and accounts stay on your premises. Single slot today; 4- and 8-slot racks with per-slot power and fault isolation are in design.
Workflows
PilotInternal processes that live in phone apps, across several apps, with a person approving anything that buys, sends or deletes.
How a run works
The CLI runs this loop on your phone today. Handsy Cloud wraps it in device leases, assertions agreed up front and an exportable evidence pack.
What you get back
Accepted · billed
Our failure · not billed
Result → payment
Scope, checks and the run window are fixed before we start. Delivering a result and you accepting it are separate steps, and only accepted results are billed.
Our hardware, network or runner failed, or evidence is missingNot billed
The hardware design, firmware, CLI and MCP server are open source. Free.
A FAIL that finds a real defect in your app is a delivered result, with the evidence to fix it.
Retries, re-exports and webhooks never add results. Disputed lines are held, not billed.
Pilot pricing is quoted per scope. No annual contract to start.
Where it runs
One module in one iPhone, driven over Bluetooth or Wi-Fi from your laptop.
A gateway and modular slot boards, each slot with its own power, monitoring and fault isolation.
Lease a phone from the web, CLI, API or MCP, run, collect evidence, release. Dedicated phones keep your sign-ins.
Control
Handsy vs Mobot
Both use real devices. They differ in who operates the phone and who owns the loop.
| Topic | Handsy | Mobot |
|---|---|---|
| Operating the phone | A small module acting as USB keyboard and mouse, with the screen over AirPlay | Robots physically tap the glass |
| Who runs the tests | Your agent, CI or team, self-serve | Mobot’s AI and QA analysts build and run them for you |
| What an agent can do | Drive the phone through MCP or CLI: screenshot, tap, swipe, type, buttons | Read-only MCP: reports, test cases, observations, logs. Booking and running are planned |
| Checking failures | Evidence for every step; human review on request in pilots | A QA analyst validates every failure |
| Devices | Your own iPhones today; hosted slots in pilot | 300+ hosted iOS and Android devices |
| Self-hosting | Open source today; hardware from about $7 per phone | Mobot Labs, early access from 2027 |
| Pricing | Free on your phones; pilots per accepted result | Credits, or Mobot Unlimited at a flat annual rate, by invitation |
Choose Handsy when your own agent or pipeline should operate real iPhones, without a Mac or a $99 developer account in the loop, or when phones must stay on your premises. For Face ID, camera and sensor flows, Android, or fully managed QA, Mobot fits better.
FAQ
No jailbreak. For apps already installed on the phone, the input path needs no Mac, Xcode or WebDriverAgent. Building and distributing your own app still follows Apple’s usual rules.
Not publicly. Hosted phones and multi-slot racks run as pilots with a few design partners. The open-source hardware and CLI work on your own phone today.
No. A keyboard and mouse can’t present a face or a finger, and can’t replace a real touch on the glass. Tell us your flow and we’ll say plainly whether it fits.
iPhone only for now.
Infrastructure failures, missing evidence or unmet required fields are not billed, and any reserved amount is released. They are reported separately from failures in your app.
Bring me a flow.
One device, your app, checks agreed up front. You see the results before you pay.