This is the hands-on companion to the rotating mobile proxies concepts post. We start from a fresh Nodetonet account and finish with a working rotating proxy, three paired phones, a customer-style proxy-client credential, and a five-curl smoke test that proves the rotation actually works. Budget: about ten minutes of clicking.
You need a Nodetonet account with at least a dollar of prepaid credit and three Android phones (any model, any carrier). If you only have one or two phones available for testing, the workflow is identical — you just see less IP diversity in the final step.
Before you start: understand what you are building
A rotating proxy on Nodetonet is a single endpoint that dispatches each connection to a different mobile device in a pool. Every time your tool makes a new connection, it exits from a different phone on a real mobile carrier network — a genuinely fresh 4G/5G IP that websites treat as an ordinary subscriber. To understand why that matters for block-resistance, see what is a mobile proxy.
The building blocks are: tokens (one per phone), a token group (the pool), and a rotating proxy that points at the group. A proxy client is an optional but recommended layer that gives each downstream customer their own credentials, quota, and access controls.
Step 1 — Create three tokens
Open /tokens in the panel. Click + New token three times and label them phone-1, phone-2, phone-3. Each click returns a short token string. Three rows appear, all showing OFFLINE because no device has paired yet. Keep this tab open — you will paste those strings into the agent app in the next step.
If you need a deeper walkthrough of what a token is and how it binds to a device, read your first token and Android pairing.
Step 2 — Pair each phone
On each phone: open /download from the phone's browser, install the Android agent APK, open the app, paste the matching token, and tap Connect. The agent shows Connected within a few seconds and the panel row flips to ONLINE with the device model and Android version filled in.
The agent maintains a persistent WebSocket back to the panel so the panel can push proxy traffic to the phone on demand — no port-forwarding or VPN required on the device. If a phone stays offline, see Android agent troubleshooting and device health: what ONLINE means.
Step 3 — Group the tokens into a pool
Still on /tokens, scroll to Token groups and click + New group. Name it my-pool and select all three tokens. Save. The group card now reads 3 online / 0 offline. A token group is selectable wherever a single token would be, and the panel applies round-robin or least-connection selection automatically. For the full explanation of how groups work, see creating token group pools.
Step 4 — Create the rotating proxy
Head to /proxies and click New Proxy:
- Title —
my-rotating-pool. - Protocol — HTTP for simplicity. SOCKS5 works equally well and is the right choice for non-HTTP traffic.
- Port — type
30000if you want a specific port, or leave it onautoand the panel assigns a free one. - Token — pick
my-pool(the group, not an individual token). - Upstream and advanced settings — leave empty for now. You can chain to an external provider later via upstream residential forwarding.
Click Create. After a few seconds the panel shows the connection string. It will look something like:
http://u8x2:p7q1@sub42.nodetonet.com:30000
That host and port are your single endpoint. The panel routes each new connection to whichever phone in my-pool has handled the fewest recent connections — no client-side changes needed when phones are added or removed.
Step 5 — Add a proxy-client credential
The default u8x2:p7q1 is the proxy's master credential. In production you almost never hand that out directly — instead you create one or more proxy clients, each with their own username, password, quota, thread cap, and IP allowlist. This lets you segment customers cleanly and revoke or limit access without rebuilding the whole proxy.
Open the Proxy Clients tab on the proxy detail page and click + New client:
- Username:
customer-1 - Password: leave blank to auto-generate a strong one
- Quota / threads / ACL: leave as defaults for now (see quota limits per client and per-customer proxy clients)
Save. The proxy now accepts both the master credential and this new one. The audit log tags every connection with the credential used, so you always know which customer generated which traffic.
Rotating vs sticky — choosing the right mode
Before running the smoke test, it is worth knowing when to rotate and when to stay sticky. The table below covers the most common situations:
| Situation | Recommended mode | How to configure |
|---|---|---|
| Crawling / scraping many pages | Rotating (default) | Point at the group — each connection gets a fresh device |
| Login, checkout, or any stateful session | Sticky — same IP for the whole flow | Append -session-XXXX to the proxy username |
| Ad verification at a specific city | Sticky + geo modifier | Add -country-tr or a city tag to the username |
| High-volume parallel requests | Rotating across the full pool | Keep the default; add more phones to the group for more IPs |
For a deeper dive into the sticky mode mechanics read sticky sessions explained.
Step 6 — The five-curl smoke test
Open a terminal and run:
for i in 1 2 3 4 5; do
curl -s -x http://customer-1:<pw>@sub42.nodetonet.com:30000 https://api.ipify.org
echo ""
done
You should see five IPs distributed across your three phones — typically two phones picked twice and one picked once, depending on round-robin state. If you see the same IP every time, your proxy is pointed at a single token instead of the group: that is the single most common misconfiguration. Double-check the Token field on the proxy detail page and make sure it shows the group name, not a token string.
You can also verify in real time using the free What is my IP tool or the proxy checker — paste the connection string and the checker reports the exit IP and its carrier ASN.
If you want the opposite — same device for ten minutes, then a new one — use sticky sessions: append -session-any-string to your proxy username and every request with that suffix exits from the same phone for the duration of the session TTL.
Step 7 — Scale it up and hand it to customers
The pool needs zero changes as phones are added or removed — they join the group and start receiving traffic immediately. To extend what you have built:
- Add more phones — pair a fourth or fifth token and add it to
my-poolwith one click. - Add quota and expiry to customer-1 — set a data cap and an expiry date so the client cannot overspend. See time-limited proxy clients.
- Set up automatic failover — if a phone drops offline, the pool automatically routes to other online devices. Read automatic failover for mobile proxies for the full behaviour.
- Enable geo targeting — add username modifiers for country, city or carrier to let your customers or your scraper pick where traffic exits. See geo-targeting.
- Chain to upstream residential — if you need IPs your own fleet does not cover, point the proxy at an external residential pool as the upstream. See upstream residential forwarding.
For the full platform overview — VPN, HTTP tunnels, reseller white-label, billing — see the Nodetonet pillar quickstart. When you are ready to create your account, register here; the first credit goes straight into the same rotating proxy you just built.
What to read next
- When rotation actually helps — the conceptual companion to this tutorial.
- Sticky sessions explained — pin one client to one device for a configurable TTL.
- Per-customer proxy clients — quota, expiry, IP allowlists, domain restrictions.
- Round-robin device selection — how the panel picks which phone handles each connection.
- Token groups: creating pools — advanced group configuration and failover rules.