Handsy for teams

Real iPhones for your agents. No Mac. No $99 a year.

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.

$99/yr
saved per Apple Developer account
0 Macs
needed to drive the phone
$0
when a run fails on our side

Open-source hardware, CLI and MCP server: available now. Hosted Handsy Cloud and racks: pilots with design partners.

Leasing the phone…

Run 7f21 · iPhone 13 Pro · iOS 26PASS
  • Tapped “Pair” on a fresh screen
  • “Connected” is visible
  • Paired exactly once

Accepted · billed

Our failure · not billed

Illustrative run. The checks and the result card are the pilot format.
No jailbreak
Stock iPhone, stock iOS
Any agent
Claude Code, Codex, any MCP client
From ~$7 per phone
Small module, open-source hardware
Your phones or ours
Your desk, your lab, or Handsy Cloud

Cost and stability

No Apple Developer account. No Mac. Nothing to re-sign.

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.

WebDriverAgent stackHandsy
Apple account$99 a year for the Developer Program; a free Apple ID’s signing expires every 7 daysNone for apps already on the phone
Host computerA Mac with Xcode in every labAny computer that runs the CLI
Setup on each phoneDeveloper Mode on; WebDriverAgent installed and trustedPlug in the module, turn on AssistiveTouch
When Xcode or iOS updatesRebuild and re-sign WebDriverAgent, re-check every deviceNothing to rebuild: keyboard and mouse are standard iOS input
What usually breaksExpired profiles, crashed runner sessions, selector driftA loose cable or a dropped link, reported as an infrastructure failure and not billed

Building and shipping your own app still uses Apple’s normal signing. The $99 is Apple’s published Developer Program fee.

The gap

Simulators can’t pair. Scripts need a Mac. Agents can only read.

  1. 01

    Simulators skip the radio

    No simulator pairs a real Bluetooth accessory, drops Wi-Fi mid-flow, or behaves like the phone your customers carry.

  2. 02

    Scripted stacks are heavy

    Appium and XCUITest need a Mac, Xcode and a signed WebDriverAgent on every device, and break when the UI shifts.

  3. 03

    Agents see reports, not phones

    Coding agents can read a test report. They still can’t look at a real screen, tap it, and check what happened.

Why Handsy

Built for the agent that has to finish the job.

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.

Real radios, real phones

Bluetooth pairing, Wi-Fi handoffs, background and foreground switches happen on real hardware. The things simulators can’t see are the point.

No Mac, Xcode or WDA in the input path

For apps already installed, the Handsy module is the keyboard and mouse. Nothing to sign or rebuild per device just to send a tap.

Pay for accepted results

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

One module per phone. The same recipes on your desk, in your lab, or in our cloud.

Agents

Available now

Phones for AI agents

Screenshot, 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

Pilot

Bluetooth and connected devices

Pair, 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

Pilot

Wi-Fi and network transitions

Switch networks mid-flow and check the app recovers: sync resumes, nothing is submitted twice, the user sees the right state.

Releases

Pilot

Real-device assertion packs

Fixed checks per build, device and iOS version: PASS or FAIL, screenshots, every action, and a recipe to run it again.

Self-hosted

Pilot

Your own device lab

Phones 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

Pilot

Authorized mobile workflows

Internal processes that live in phone apps, across several apps, with a person approving anything that buys, sends or deletes.

How a run works

Look, act, check. Every step leaves evidence.

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.

  1. 1LeaseOne run holds the phone. Nothing else types into it.
  2. 2LookA fresh frame of the real screen. Stale frames are refused.
  3. 3ActTap, swipe, type or press, bound to that frame with an idempotency key.
  4. 4CheckAssertions set before the run decide PASS or FAIL.
  5. 5Hand backEvidence exported; the phone is reset, or kept signed in for you.

What you get back

An evidence pack you can audit

  • Each frame and action receipt, in order
  • Device, iOS, app build and environment versions
  • Assertions with PASS or FAIL and the frame that proves it
  • Failure class: app bug, infrastructure, permission, or needs a person
  • A recipe to run the same thing again
Run 7f21 · iPhone 13 Pro · iOS 26PASS
  • Tapped “Pair” on a fresh screen
  • “Connected” is visible
  • Paired exactly once

Accepted · billed

Our failure · not billed

Result → payment

Pay for accepted results, not for robot time.

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.

  1. 01Scoped
  2. 02Run
  3. 03Delivered
  4. 04Verified
  5. 05Accepted
  6. 06Billed

Our hardware, network or runner failed, or evidence is missingNot billed

Your own phones

The hardware design, firmware, CLI and MCP server are open source. Free.

A real bug counts

A FAIL that finds a real defect in your app is a delivered result, with the evidence to fix it.

No double charge

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

Same CLI, recipes, permissions and evidence everywhere.

1 phoneAvailable now

On your desk

One module in one iPhone, driven over Bluetooth or Wi-Fi from your laptop.

1 → 4 → 8 slotsPilot

In your lab

A gateway and modular slot boards, each slot with its own power, monitoring and fault isolation.

Shared or dedicatedPilot

In Handsy Cloud

Lease a phone from the web, CLI, API or MCP, run, collect evidence, release. Dedicated phones keep your sign-ins.

Control

Clicking is easy. Being allowed to click is the product.

One writer per phone
A lease gives one run exclusive input. Shared phones are cleaned and checked before the next run.
Approval gates
Buying, publishing, sending and deleting wait for a person, even if the button is right there.
Accounts by reference
Test accounts you provide. We never deliver passwords, cookies or verification codes.
Audit and stop
Every action is logged with its frame. A run can be stopped mid-step; keys are released first.

Handsy vs Mobot

Mobot runs your tests for you. Handsy lets your agent run the phone.

Both use real devices. They differ in who operates the phone and who owns the loop.

HandsyYour agent runs the phone. On your phones or ours.
MobotTheir robots and QA analysts run the tests for you.
Mobot details from mobot.io, November 2026. Corrections welcome at the sales address.
TopicHandsyMobot
Operating the phoneA small module acting as USB keyboard and mouse, with the screen over AirPlayRobots physically tap the glass
Who runs the testsYour agent, CI or team, self-serveMobot’s AI and QA analysts build and run them for you
What an agent can doDrive the phone through MCP or CLI: screenshot, tap, swipe, type, buttonsRead-only MCP: reports, test cases, observations, logs. Booking and running are planned
Checking failuresEvidence for every step; human review on request in pilotsA QA analyst validates every failure
DevicesYour own iPhones today; hosted slots in pilot300+ hosted iOS and Android devices
Self-hostingOpen source today; hardware from about $7 per phoneMobot Labs, early access from 2027
PricingFree on your phones; pilots per accepted resultCredits, 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

Before you ask

Do I need a jailbreak, a Mac or WebDriverAgent?

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.

Is Handsy Cloud available?

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.

Can it handle Face ID, the lock screen or the camera?

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.

Android?

iPhone only for now.

What happens when a run fails because of you?

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.

Tell us what you need to run on real phones.

One device, your app, checks agreed up front. You see the results before you pay.