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.

    Free tier accounts can browse the fleet immediately. Paid tiers unlock at the moment Stripe confirms the first payment.

  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 updated every 5 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 issues a short-lived ADB key bound to your account, joins the device to your private network, and returns the host and port to point your local toolchain at.

    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, drive scrcpy, or connect Frida — anything that speaks ADB works, because the device is reached the same way it would be on your desk.

    Sub-second latency over Tailscale on most regions. 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 wiped and returned to the pool, 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.

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.

Tailscale tunnel

Each device joins a private Tailscale network. Your account-bound key authorizes the connection — there is no public ADB port, anywhere.

Real ADB, your tools

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

5-second heartbeats

Devices report status every 5 seconds. Stale units are removed from the fleet immediately so you never reserve hardware that isn't actually online.

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 refills a monthly credit balance. Sessions deduct credits per minute at your tier's rate; unused credits roll forward within the period.

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 — Pixel, Samsung, OnePlus, Xiaomi, with sensors that actually report real values. We never run emulators or device farms-as-emulators on your behalf.
Do I need a special client?
No. You run the same adb command you'd use on a phone plugged into your laptop. The only one-time setup is signing in to Tailscale on your machine.
What happens to my data after a session?
On standard tiers, devices are wiped and returned to the pool, so anything left on the device is destroyed. On dedicated slots your install state persists between sessions; you're responsible for what you leave on it.
How is billing measured?
By the minute, deducted from a monthly credit wallet that refills with your subscription. The free tier has hard usage caps; paid tiers have soft caps with overage rates published on the pricing page.
Can I cancel any time?
Yes. Cancel from your billing page and you keep access through the end of the current period. No prorated refunds — your remaining minutes stay usable until the period ends.
Is this suitable for CI?
The dedicated-slot tier is designed for it: a stable host, a persistent device, and an account-scoped ADB key you can plug into a runner. Standard tiers work too, but you'd reserve a fresh device per job.

Ready to try it?

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