Sneaker bot proxies: one sticky residential IP per task

Each task should look like one shopper on one home connection, from login to checkout. Here is how to set that up, with the IPs we measured.

6 min readTested on our gateway, Oct 2026
Five bot tasks, each with its own sticky session, keep their own US residential IP across three checks a minute apart.One IP per task, heldUSER-country-us-session-taskN-lifetime-30, checked 3× over two minutes0s 60s 120stask171.104.54.121Freeholdtask224.126.15.21Baltimoretask368.54.123.192Indianapolistask473.86.221.234Chesapeake Beachtask596.18.203.234BiloxiMeasured on our gateway, October 4, 2026

In short

Give every task its own sticky session: same country as the shop, its own session label, a lifetime longer than the release. Put one line per task into your bot’s proxy list. Use a fresh label prefix for each release.

USER-country-us-session-drop1t1-lifetime-30host:port:user:pass

Shops limit what one visitor can do, and the IP address is the cheapest way to tell visitors apart. When ten tasks share one IP, they look like one person entering a raffle ten times or carting the same shoe ten times. Accounts that keep showing up on the same IP can also be linked to each other.

The IP also has to stay put. A task logs in, adds to cart, enters the queue and checks out. If the address changes between those steps, the shop sees a session that jumped to another city mid-checkout. That’s why a plain rotating proxy, with a new IP per connection, is wrong for checkout tasks. And it’s why the address should be residential: release sites are among the first to treat hosting networks with suspicion (how they tell the difference).

A sticky session is a label in the proxy username. Every connection with the same label leaves from the same exit until the lifetime runs out. Different labels get different exits. We gave five tasks their own label and checked each one three times, a minute apart, each time on a new connection, through the sticky port 10000:

Task0 s60 s120 s
task176.98.206.213samesame
task2dropped75.110.104.162same
task324.19.171.64samesame
task4152.55.180.69samesame
task5142.173.160.81droppedsame
Fig. 1 — US exits for USER-country-us-session-drop1tN-lifetime-30, October 14, 2026, looked up on ipinfo.io. Task 2’s first request and task 5’s second dropped; both tasks kept their exit.

Without a label, on the rotating port 9000, the same username gave three different IPs in three requests (Montgomery, New York City, Middletown). Fine for a monitor that only reads product pages. Wrong for a checkout task.

One caveat: an exit is someone’s home connection, not a server. It can go offline before the lifetime ends, and a request can drop, as task 2’s and task 5’s did. Good bots retry failed requests; set the retry count above zero.

Building the username

Everything is set in the username, separated by hyphens. Values contain no hyphens or spaces. Sessions go to the sticky port: 10000 for HTTP, 12000 for SOCKS5.

PartExampleWhat it does
Country-country-usExit in that country. Match the shop’s region.
City-city-chicagoExit in that city, lower case without spaces (newyork).
Session-session-drop1t1Same label, same exit. Letters, digits and underscores.
Lifetime-lifetime-30How long the label holds its exit, in minutes.

Match the shop’s region

A US release wants US addresses, a UK shop UK addresses. Country is the filter that matters; add a city only when you have a reason, because every extra filter leaves fewer exits to choose from. When no exit matches, the gateway refuses the connection with status 465 instead of quietly giving you another country.

Lifetime longer than the release

Pick a lifetime that covers the whole task, queue included. 30 minutes suits most releases; the gateway accepts up to 1440 minutes (24 hours) and refuses anything longer.

No hyphens inside a label

Hyphens separate the parts, so -session-task-1 is read as the session task, and nothing tells you: -session-task-1, -session-task-2 and -session-task-3 were all accepted in our test and left from the same IP, with or without a lifetime after them. task_1 and task_2 got two different IPs. Use task1 or task_1.

Build your proxy list

Choose tasks, country and lifetime, copy the result into a file and import it into your bot.

Your list

one sticky IP per task

Format
txtproxies.txt
via.proxies.vision:10000:USER-country-us-session-drop1t1-lifetime-30:PASS
via.proxies.vision:10000:USER-country-us-session-drop1t2-lifetime-30:PASS
via.proxies.vision:10000:USER-country-us-session-drop1t3-lifetime-30:PASS
via.proxies.vision:10000:USER-country-us-session-drop1t4-lifetime-30:PASS
via.proxies.vision:10000:USER-country-us-session-drop1t5-lifetime-30:PASS
via.proxies.vision:10000:USER-country-us-session-drop1t6-lifetime-30:PASS
via.proxies.vision:10000:USER-country-us-session-drop1t7-lifetime-30:PASS
via.proxies.vision:10000:USER-country-us-session-drop1t8-lifetime-30:PASS
via.proxies.vision:10000:USER-country-us-session-drop1t9-lifetime-30:PASS
via.proxies.vision:10000:USER-country-us-session-drop1t10-lifetime-30:PASS

Replace USER and PASS with the credentials from your dashboard, then import the file into your bot.

  1. 1.New prefix, new list

    Generate the list with a prefix you haven’t used, like drop2t. Every task starts on an exit it has never used.

  2. 2.Test before the drop

    Most bots have a proxy tester. Run it ten minutes before the release: a line that fails points to a typo in the username or a filter with no exits.

  3. 3.One account per task

    A separate IP doesn’t help if every task logs into the same account. Pair each task with its own account and its own line.

  4. 4.Check your traffic afterwards

    Note your remaining GB before and after. That tells you what a release costs with your bot, and how much to top up next time.

Rotating or sticky proxies for sneaker bots?
Sticky, one session per task. A task logs in, carts and checks out, and the shop expects one visitor throughout. A rotating proxy changes the IP between those steps. Use rotating only for monitors that just read product pages.
How many proxies do I need?
One IP per task you run at the same time. With a rotating gateway you don't buy a fixed number of IPs: each session label gets its own exit, so 50 tasks means 50 lines in your list with 50 different labels.
What proxy format do sneaker bots use?
Most bots import host:port:user:pass, one proxy per line. Some take user:pass@host:port. The generator on this page writes both.
Should I use a new session label for every release?
Yes. Labels expire on their own after their lifetime, but a fresh prefix per release (drop2t1, drop2t2, …) makes sure no task starts on an IP it used before.
How much traffic does a release use?
It depends on your bot, the shop and how long tasks run, so measure it: note your remaining GB in the dashboard before a release and after it. Bots that load only the API calls they need use far less than a full browser.

Residential proxies, pay per GB

HTTP and SOCKS5. Country, city and sticky sessions in the username. No subscription.