XX-net/XX-Net · warning
no quota
Error message
no quota
What it means
Warning printed by request_balance in x_tunnel when the account's remaining quota (calculated from the quota_list returned by the login/balance API) is less than or equal to zero. It is informational only — the function continues and updates host/plans — but signals that paid traffic for the x_tunnel account is exhausted.
Source
Thrown at code/default/x_tunnel/local/proxy_session.py:1288
}
try:
center_login_process = True
if g.tls_relay_front:
g.tls_relay_front.set_x_tunnel_account(account, password)
if g.seley_front:
g.seley_front.set_x_tunnel_account(account, password)
res, info = call_api(login_path, req_info)
if not res:
return False, info
g.quota_list = info["quota_list"]
g.quota = calculate_quota_left(g.quota_list)
g.paypal_button_id = info["paypal_button_id"]
g.plans = info["plans"]
if g.quota <= 0:
xlog.warn("no quota")
if g.config.server_host:
xlog.info("use server:%s specify in config.", g.config.server_host)
g.server_host = str(g.config.server_host)
elif update_server or not g.server_host:
g.server_host = str(info["host"])
g.server_port = info["port"]
xlog.info("update xt_server %s:%d", g.server_host, g.server_port)
g.selectable = info["selectable"]
if g.config.update_cloudflare_domains:
g.http_client.save_cloudflare_domain(info.get("cloudflare_domains"))
g.promote_code = utils.to_str(info["promote_code"])
g.promoter = info["promoter"]
g.balance = info["balance"]
g.openai_balance = info["openai_balance"]View on GitHub (pinned to cfa5bc17b6)
Solutions
- Log in to the x_tunnel (XX-Net) provider dashboard and check the plan/quota for the account; top up or renew if exhausted.
- Verify g.config.login_account and g.config.login_password match the account with an active plan.
- Wait for quota reset (monthly plans) or switch to a different account.
- If quota should be positive, re-run request_balance — the value may be stale after a server-side grant.
Defensive patterns
Strategy: validation
Validate before calling
from x_tunnel.local import proxy_session as ps
quota = ps.calculate_quota_left(ps.g.quota_list) if ps.g.quota_list else 0
if quota <= 0:
# skip x_tunnel path, fall back to direct or another proxy
use_x_tunnel = False Prevention
- Check quota before routing traffic into x_tunnel.
- Set up monitoring on the account dashboard with quota alerts.
- Renew plans before expiry; keep a fallback proxy configured.
When it happens
Trigger: Calling request_balance (directly or via login_process, update_quota_loop, get_openai_proxy, req_token_login_handler, req_login_handler) when calculate_quota_left(g.quota_list) returns <= 0. This happens with an expired plan, fully consumed quota, or a new/unpaid account.
Common situations: Free-tier accounts after heavy use, subscription lapse, or using the wrong login_account/login_password in the config so the returned account has no active plan.
Related errors
- x_server error:no quota
- login session server is down, try get new server.
- login session fail, status:%r
- login_session time:%d fail, res:%d msg:%s
- login_session %s json error:%r
AI-assisted analysis of XX-net/XX-Net@cfa5bc17b6 (2026-08-27).
Data as JSON: /api/errors/0838d46372017765.
Report an issue: GitHub.