How it works

From sign-up to a shellin under a minute.

DeviceRent is a fleet of real, physical Android devices you can reach over an authenticated tunnel and drive with your local toolchain. No emulators, no managed UIs, no proprietary clients — just adb and the device.

The flow

Five steps from cold start to a working shell.

Each step typically takes seconds. The whole flow is designed so you can be debugging on real hardware before your coffee finishes brewing.

  1. 01

    Sign up & verify

    ≈ 30 seconds

    Create an account with email and a password, then verify the email link. Optionally enable TOTP multi-factor authentication from the security page — it takes one QR scan and we'll generate backup codes.

    Verifying your email leaves €10 of starter credit in the wallet and credits to try DeviceyAI with. Every feature is open from that moment — a subscription changes the per-minute rate and the monthly allowance, not what you can do.

  2. 02

    Pick a device

    ≈ 5 seconds

    Browse the live fleet on your dashboard. Each card shows model, Android version, root status, and a heartbeat indicator refreshed every 20 seconds, so you only see devices that are actually online.

    Filter by manufacturer, screen size, or root capability. Reserved-slot tiers see their dedicated unit pinned to the top.

  3. 03

    Reserve a session

    ≈ 1 second

    Click connect. The platform mints a short-lived token scoped to that one device and returns the endpoint to point your local toolchain at — your browser or CLI reaches the phone over our tunnel, and you never join a network yourself.

    Sessions hold the device exclusively for you while active. The billing meter starts the moment the connection is established.

  4. 04

    Use your tools

    for as long as you need

    Run adb shell, install APKs, attach Android Studio, or drive scrcpy — anything that speaks ADB works, because the device is reached the same way it would be on your desk.

    Every phone is in the Netherlands (EU), reached over a Tailscale Funnel. Interactive latency is dominated by your own distance to the rack, so the session footer shows your measured round-trip live while you work rather than quoting you an average that is not about you. Heartbeats keep the session warm; idle protection extends the connection if you step away briefly.

  5. 05

    Stop the session

    ≈ 1 second

    End the session from the dashboard or your CLI. The device is released back to the pool and sanitized for the next renter, and the meter stops to the second. Your minutes are deducted from your wallet at your tier's rate.

    On dedicated-slot tiers, your unit stays paired to your account between sessions and state persists.

Or skip the driving

Tell DeviceyAI what to do instead.

Once the session is up you can describe a task in plain English and an agent works through it on the device — reading the screen, tapping, typing, installing your APK — while you watch every step in the mirror. It runs through the same connection you just set up, so it can do exactly what you can do by hand and nothing more.

See DeviceyAI
The wiring

How your machine reaches the device.

We don't proxy ADB through a custom protocol or wrap it in a web UI. Your local adb client connects to a real device over a private network — the same way it would on your desk, just routed.

How a command reaches the deviceYour machine runs adb locally. It connects over HTTPS to a Tailscale Funnel endpoint, authenticated with a short-lived token scoped to the single device you rented. The funnel reaches our controller inside the rack over a private network, and the controller is wired to the phone by USB. No ADB port is exposed to the internet.Your machineadb, Android Studio, AppiumlocalhostHTTPSsession-scoped tokenpublic edgeTailscale Funnelauthenticated entry pointone device per tokenprivate networkno public ADB portControllerin the rack, Netherlandsbrokers the sessionUSBRented phonereal silicon
Your adb talks to a normal HTTPS endpoint. The token it carries is scoped to the one device you rented and expires with the rental — which is why there is no ADB port anywhere on the public internet, and nothing to port-forward on your side.

Tailscale tunnel

Each device sits behind a bridge on a private Tailscale network. Your browser reaches it through an authenticated tunnel with a short-lived, session-scoped token — no Tailscale client on your side, and no public ADB port anywhere.

Real ADB, your tools

Use the adb client you already have. Android Studio, Appium, Espresso, scrcpy, and CI runners all connect with no DeviceRent-specific code paths.

Heartbeats every 20 seconds

Devices report status every 20 seconds. A unit that stops answering drops out of the fleet on the next tick, rather than lingering as a stale row you could reserve.

Automation & CI

Or hand the device to your test suite.

You don't have to sit in an interactive session. On any plan, including Free, you can mint durable API keys that let headless tools drive a rented phone — point Appium, Espresso, Playwright, or a CI runner at it the same way you'd target any ADB device. The minutes bill from your wallet exactly as a browser session does.

Durable API keys

Mint keys scoped to your account from your automation settings. Each key is shown once, stored only as a hash, and revocable any time.

Appium, Espresso, Playwright & CI

Drive the device with the framework you already use, over the same authenticated pipe as an interactive session. A key exchanges for a short-lived, device-scoped token, and only while the rental is active. When it ends, hosted Appium and Playwright sessions are closed within about 20 seconds, and the phone is wiped before anyone else can rent it.

Built for pipelines

Plug a key into CI and run real-device jobs from your pipeline. A job drives a rental you hold, so pair it with a dedicated slot for a stable, persistent target that is always there between runs.

What the pipe does and doesn't carry

  • Works: everything that drives a device through ADB — app install, shell, logcat, port forwarding, UiAutomator2, instrumentation runs.
  • Playwright: Chrome on the phone and the WebViews in your own debuggable app, from JavaScript or TypeScript — Playwright has no Android support in its other languages. Bring your own Playwright through the connector, or use a hosted address, where Playwright 1.64.x is the only thing you install. Tested on the Pixel 7a and the Galaxy A54.
  • Not supported: adb reverse. The connector forwards ports to the phone, not back from it, so frameworks that need the device to reach your host — Detox, for example — won't run.
  • Not supported yet: Maestro. It doesn't drive devices through the adb server the connector provides, so we don't list it until we have proven it end to end.
  • Bandwidth: traffic crosses a Tailscale Funnel, so a large APK push is slower than a phone on your own USB port.
Billing

Pay for the minutes you use.

No long-term contracts on the first four tiers. Cancel from your billing page in one click — your remaining minutes stay usable until the end of the billing period.

Wallet credits

Every paid tier includes a credit allowance — refilled every month on a monthly plan, granted for the whole year up front on a yearly one. Sessions deduct credits per minute at your tier's rate; unused credits roll forward.

Tiered pricing

Higher tiers come with bigger credit bundles and a per-minute discount. Switch tiers any time — proration is handled at checkout.

Dedicated slots

On the top tier you reserve a single device exclusively. State persists between sessions — useful for long-running test installations and CI fixtures.

Security

Built so the wrong people can't reach your devices.

Multi-factor auth

Enable TOTP from your security page. Sensitive actions like payment-method changes require a fresh authentication factor.

Account-scoped keys

ADB keys are short-lived and bound to your account and session. Ending a session revokes the key — even if the network is later compromised.

Row-level isolation

Every database read and write is gated by Postgres row-level security tied to your user ID. You cannot see another tenant's sessions or billing records.

FAQ

Common questions.

Are these emulators or real devices?
Real, physical Android phones with sensors that actually report real values — never emulators, and never device-farms-as-emulators. The rack today is five Pixel 7a, one Galaxy A16, one Galaxy A54 and one Redmi Note 13; other models are roadmap, not inventory, and we say so on the fleet page rather than listing phones you cannot actually rent.
Do I need a special client?
No — there's no VPN or app to install on your side. A rented session runs in your browser, dropping you straight into a live ADB shell and screen mirror on the device. To drive it from your own tooling or CI, mint an automation key (Appium, Espresso, Playwright) — available on every plan, Free included. Either way you never join a Tailscale network yourself; the device sits on a private one we manage and reach over an authenticated tunnel.
Which browsers can I use?
Chrome, Edge, Brave, Opera, or any other Chromium-based desktop browser. A session streams the phone by decoding H.264 in the browser and driving ADB over an authenticated socket, which needs WebCodecs — Firefox does not implement it yet. Safari is temporarily unsupported: renting is disabled there, and on iPhone and iPad where every browser uses Safari's engine, rather than bill you by the minute for a session we cannot yet guarantee. We are working on Safari support and will say so here and on your dashboard when it ships.
What happens to my data after a session?
On standard tiers, devices are sanitized and returned to the pool between renters, so the next person starts from a clean state rather than yours. On dedicated slots your install state persists between sessions; you're responsible for what you leave on it.
Where are the devices located?
Our entire phone fleet is physically hosted in the Netherlands, inside the EU. Sessions and the data you put on a device during them stay within the European Union — GDPR data residency by default, with no transfers to non-EU regions for the rented hardware.
How is billing measured?
By the minute, deducted from a credit wallet. A subscription refills that wallet — every month on a monthly plan, or for the whole year at once on a yearly plan — and lowers the per-minute rate it is drawn down at. On the free tier you simply top the wallet up yourself and pay the list rate. Either way a rental stops when the wallet reaches zero, so there is no overage and no bill to be surprised by.
Can I cancel any time?
Yes. Cancel from your billing page and you keep access through the end of the current period — the month, or the year you paid for on a yearly plan. No prorated refunds — your remaining minutes stay usable until the period ends.
Is this suitable for CI?
Yes, on every plan including Free. Mint an automation API key and drive devices headlessly with Appium, Espresso, Playwright, or your CI runner. You point a job at a rental you are holding, so the device is yours for the whole run, and the minutes come out of the same wallet a browser session uses. The dedicated-slot tier is purpose-built for it — a stable host and a persistent device that stays paired between jobs, with no rental to start first.

Ready to try it?

Open a free account, connect a device, and run your first ADB command. No card required to start.