← Back to blog
QUOTA nodetonet.com

Quota limits per Proxy Client — capping bandwidth per customer

N Nodetonet Team
April 12, 2026 7 min read

Proxy Clients are the per-customer credentials you hand out in front of a tunnel — each with its own username, password, ACLs, and limits. Among those limits, the one that virtually every reseller eventually reaches for is a byte quota: a hard cap on how much traffic a given customer can push through before the door slams shut. Get it right and you can sell metered bandwidth plans with confidence; ignore it and a single high-volume customer can quietly eat into everyone else's capacity.

This guide explains exactly where the quota field lives, what counts toward it, how the enforcement engine works under the hood, and how to reset or top up a client without interrupting other customers. If you haven't issued any Proxy Clients yet, start with per-customer proxy clients first.

What is a bandwidth quota on a Proxy Client?

A quota is a cumulative byte ceiling attached to one Proxy Client. Unlike a speed cap (which throttles throughput), a quota is a lifetime or periodic total. The moment the running byte count crosses the ceiling the client stops working entirely — no graceful slowdown, just a hard cutoff. That distinction matters when you're designing a reseller plan: you're selling a bucket of bytes, not a rate.

Quotas are optional. Leave the field empty and that client is unlimited. Set a number and you control exactly how much data that customer can move before they need to top up or renew. This is the foundation of any pay-as-you-go pricing model.

Where the quota lives

Open any proxy from your panel's /proxies page, scroll to the Proxy Clients section, and create or edit a client. You will see a Quota field. The unit is bytes. Leave it empty for unlimited access, or enter an integer for a hard cap. The panel displays the human-readable equivalent alongside the raw input so you never have to count zeroes:

Using bytes as the base unit is intentional. Some customers buy in fractional gigabytes, some in terabytes; one unit eliminates conversion ambiguity at the database level.

What counts toward the quota

Both upload and download count. Every byte the client sends to the target, and every byte the target returns, are added to the same running total. That reflects true cost — a customer streaming video through your tunnel generates mostly downstream traffic, and ignoring it would significantly undercount real resource usage.

What is not counted: protocol framing — TLS handshakes, the SOCKS5 greeting sequence, HTTP CONNECT preamble. Only the payload bytes flowing between the two ends of the tunnel once the connection is established are metered.

The 10-second flush window — and what it means for precision

Counting every byte synchronously would require a database write on every packet, which is impractical at proxy throughput. Instead the edge node buffers usage in memory and flushes the accumulated total to the database every 10 seconds. Enforcement runs immediately after each flush. Here is what that means in practice:

For rotating proxy pools with multiple devices, each edge node flushes independently. The sum reaches the panel on every cycle, so aggregate usage is still accurate within the same 10-second window.

What "quota exhausted" looks like to the end user

Two things happen simultaneously the moment a client is deactivated by quota enforcement:

  1. Every open tunnel for that client closes. Mid-request, mid-stream — the sockets receive a clean TCP FIN. A scraper will see a connection reset on its next read; a browser will show a connection error. There is no warning before the cut.
  2. New connections are refused with a protocol-appropriate error. HTTP tunnels return 407 Proxy Authentication Required; SOCKS5 connections receive an authentication-failure reply. The error continues until you take action — raise the cap, reset usage, or reactivate the client manually.

This is intentionally a hard cutoff, not a soft warning. If you want graceful degradation — for example notifying your customer at 80% — monitor the usage field via the Nodetonet API and send your own alert before the ceiling is hit. The API is documented in your first REST API call.

Quota vs other per-client limits — a quick comparison

Limit typeControlsEnforcementWhen to use
Quota (bytes)Total lifetime dataHard cutoff at flushMetered data plans, reselling by GB
Thread limitConcurrent connectionsImmediate, per-connectPreventing one client from hogging capacity
Expiry dateAccess durationHard cutoff at clock timeTrial periods, time-boxed plans
IP / domain allow-denyAllowed destinationsImmediate, per-connectRestricting client to approved sites

Quotas and expiry dates compose cleanly. You can sell a plan that reads "5 GB or 30 days, whichever comes first" by setting both fields on the same client. See time-limited Proxy Clients for the expiry side of that combination.

Resetting and topping up

Edit the client in your panel and choose one of two actions:

Either action takes effect the moment you save — there is no propagation delay. The next connection attempt from that client will succeed. For high-volume reseller setups, consider automating both actions via the REST API so renewals happen without manual intervention. See your first REST API call for the endpoint reference.

Building a metered reseller plan around quotas

Nodetonet's reseller and white-label system lets you issue credentials to end-customers without them ever seeing your panel. Quotas are the key pricing lever: you set the byte ceiling per Proxy Client, collect payment (prepaid credit, no Nodetonet monthly subscription), and reset or top up when the customer pays again. Combine with:

You can verify any client's effective IP at any time with the proxy checker tool, or hand customers the what is my IP link so they can self-serve that check.

What's next

Frequently asked questions

What happens when a Proxy Client hits its quota?
The client is immediately deactivated. All open tunnels for that client close with a TCP FIN, and new connection attempts receive a 407 error (HTTP) or an auth failure (SOCKS5). The client stays inactive until you raise the quota, reset usage, or reactivate it manually.
Does the quota count both upload and download?
Yes. Every byte the client sends to the target and every byte the target returns are added to the same running total. Protocol overhead such as TLS handshakes is not counted — only payload bytes after the tunnel is established.
Can a client slightly exceed its quota before being cut off?
Yes, by a small amount. Usage is flushed to the database every 10 seconds, so a client very close to its limit can overshoot by a few hundred kilobytes during that window. Enforcement runs immediately after each flush, so the overshoot is bounded and by design.
How do I top up a client that has run out of quota?
Edit the client in your panel and either raise the quota ceiling (usage carries over) or reset the usage counter to zero (same cap, fresh slate). Either change takes effect immediately with no propagation delay. You can also automate this via the REST API. See our guide on the REST API.
Can I set both a quota and an expiry date on the same Proxy Client?
Yes. Both limits apply independently — whichever is hit first deactivates the client. This lets you sell "5 GB or 30 days, whichever comes first" plans. See the guide on time-limited Proxy Clients for details on the expiry side.
Is there a way to warn customers before their quota runs out?
Not automatically built in, but you can monitor the usage field via the Nodetonet REST API and send your own alert at 80% or any threshold you choose. The panel itself only enforces the hard cutoff; proactive warnings are your responsibility to build into your reseller workflow.
N

Nodetonet Team

Building Nodetonet — a prepaid proxy + tunneling platform that replaces ngrok, Cloudflared and a residential proxy provider with a single panel.