Refer a friend: you earn 15% of every order, they get 10% off
HomeDocumentationRotating and sticky sessions

Rotating and sticky sessions

Rotation is the default. A session identifier turns it off for as long as you ask, up to one hour.

Rotating

Leave the session suffix off and each new connection is matched to a different exit device. This suits work where every request stands alone: search results, product listings, price checks.

The unit of rotation is the connection, not the request. A client that reuses a pooled connection keeps the address it started with until that connection closes, which is why a scraper can report one address for minutes at a time.

Rotating

login:password@proxy.sotaproxy.com:10000
login_c_DE:password@proxy.sotaproxy.com:10000

Sticky

Add a session identifier and the exit holds for the lifetime you set. Three lifetimes are available and the choice should follow the task rather than habit.

Thirty seconds covers a login and its redirect. Fifteen minutes covers a checkout or a multi-step form. One hour covers account warming and anything where a mid-session address change logs you out.

Lifetimes are ceilings rather than guarantees. Residential exits are real household devices and can drop earlier, so handle reconnects instead of assuming the full hour.

Sticky, three lifetimes

login_c_US_s_42_ttl_30s
login_c_US_s_42_ttl_15m
login_c_US_s_42_ttl_1h

Running many sessions at once

The identifier is yours to choose and costs nothing. Give every worker, profile or account its own number and they hold separate addresses in parallel.

Two workers sharing an identifier share an exit, and their behaviour merges from the destination point of view. That is the most common cause of accounts being linked despite a correct proxy setup.

A fleet of parallel sessions

worker 1   login_c_US_s_1_ttl_15m
worker 2   login_c_US_s_2_ttl_15m
...
worker 200 login_c_US_s_200_ttl_15m

Choosing between them by task

The decision is rarely about preference. Each task either survives an address change midway or it does not, and that answers the question.

Anything with a cart, a login, a multi-step form or a queue needs stickiness for its whole duration. Anything where each request stands alone should rotate, because rotation is what keeps rate limits away.

A routing table worth copying

Search results, listings, price checks   -> rotating, no _s_
Login plus redirect                      -> _ttl_30s
Checkout, multi-step form                -> _ttl_15m
Account warming, long sessions           -> _ttl_1h
Account that must never change address   -> ISP proxy, not sticky