bnt.st

Methodology

Each provider is probed continuously through its residential gateway, using a regular paid plan. Every provider points at its own random hostname on our server, and every request carries a one-time token.

Success

Our server answers with the IP it saw and a signature over the token. A probe counts as successful only if that signed answer comes back intact. Timeouts, proxy errors and responses we didn't sign — cached pages, injected content — are failures.

Pool size

IPs is the number of distinct exit IPs seen in the last 7 days (IPv6 per /64). Freshness is the share of distinct IPs among the last 1,000 successful probes; it does not depend on probe volume.

Residential share

Each exit IP is mapped to the network (ASN) announcing it. Hosting, cloud, CDN and VPN networks count as datacenter, consumer ISPs as residential, carriers as mobile. Mobile counts towards the residential share. Misclassified networks are corrected by hand.

Shared pools

Shared is the share of a provider's IPs also seen at any other tracked provider. Because we only sample each pool, raw overlap understates the truth: if A's pool sits inside B's, each of A's IPs had only a small chance of also showing up at B. We correct for that using how often each provider's IPs repeat, which tells us roughly what share of its pool we have already seen. Providers are grouped once that exceeds 30% with at least 25 shared IPs. A pool contained in one more than twice its size is marked as a likely reseller.

Score

  • Success rate, 50–100% scale — 30%
  • Residential share, 50–100% scale — 30%
  • Exclusive pool (1 − shared) — 15%
  • Freshness — 15%
  • Latency, 300 ms full marks to 5 s none — 10%

Providers are ranked after 300 probes in the window.