← Back to blog
TOKEN TYPES nodetonet.com

Personal API keys vs customer tokens — picking the right credential

N Nodetonet Team
April 25, 2026 7 min read

The word "token" gets overloaded in Nodetonet. There is the device-pairing token you paste into the Android app, and then there are two flavours of API credential that look similar in the panel but do wildly different things. This post is about those two — the ones that authenticate against Nodetonet's REST endpoints.

Getting them mixed up is the most common cause of "why is this customer seeing every proxy I own?" support tickets. The rule is one sentence: personal keys are for you, customer tokens are for your customers. The rest is detail — and the security implications of ignoring that detail are serious.

The two credentials at a glance

Before going deep, here is a side-by-side summary:

Property Personal API Key Customer API Token
Issued to Your own account One downstream customer record
Scope Full account access Only that customer's assigned proxies
Can create proxies? Yes No
Can read billing? Yes No
Can see other customers? Yes No
Thread / quota limits? None (full account) Set by you when creating the customer
Can be time-limited? No (permanent until rotated) Yes (expiry date on creation)
Blast radius if leaked Entire account One customer's quota only

Personal API Key — your account, full access

Every Nodetonet account has exactly one personal API key, visible at the top of the dashboard. Think of it as a long-lived bearer token that authenticates as you, with every permission your account holds.

It can do everything the panel UI can do, and a few things the UI doesn't expose directly:

The header format for every authenticated call is the same:

curl -H "Authorization: Bearer npk_live_8x2q...z9w7"   https://nodetonet.com/api/v1/proxies

If this key leaks, treat it exactly like a database root password leak. Rotate it immediately from the dashboard card — the old key is invalidated the moment you click rotate, every running script using it stops, and you re-deploy with the new value. There is no two-key grace period by design.

When to use the personal key

Never embed the personal key in client-side code, browser extensions, mobile apps, or anything that ships outside your own servers. If third-party eyes could ever reach it, use a customer token instead.

Customer API Token — scoped to one downstream customer

If you are running Nodetonet as a reseller or white-label backend — selling proxies to your own end users under your own brand — you create one customer record per buyer and Nodetonet issues a customer token bound to that record. The token is tightly scoped: it can only see and use proxies you have explicitly assigned to that customer, within the limits you configured (thread count, quota, expiry date, IP whitelist).

From the customer's perspective, the token is an opaque string they paste into your product or call from their code. But the auth surface the token exposes is dramatically smaller:

Customer tokens share the same Authorization: Bearer header format — the backend reads the token prefix to determine which scope and limits apply.

Guardrails you control

When you create a customer record, you set the limits that apply to their token. These include:

Personal keys have none of these guardrails. They are permanent until you rotate them and have no thread cap, no quota, and no IP restriction.

The decision tree — which credential do I use?

Answer these questions in order:

  1. Is this code running on infrastructure I personally own and control? If yes, a personal key is acceptable.
  2. Will a third party ever see, receive, or touch this credential — even indirectly? If yes, always use a customer token.
  3. Does this script need to provision new proxies, manage billing, or rotate other tokens? Only personal keys can. Build a backend that uses your personal key to provision, then hands the customer their scoped token.

Security implications and blast radius

The entire reason these two types exist is to limit damage from a credential leak.

A leaked personal key gives an attacker everything: they can spin up proxies to drain your prepaid balance, dump your customer list, delete all your HTTP tunnels, and rotate credentials to lock you out. Recovery requires a key rotation and an audit of everything touched during the exposure window.

A leaked customer token gives an attacker access to one customer's quota — capped at the thread limit and expiry you set. They cannot reach your panel, other customers, or your billing. You can invalidate the token by rotating it from the customer management screen without affecting any other part of your operation.

The pattern to follow: your personal key never leaves your server. Your server uses it to provision customers. Each customer receives only their own scoped token. Think of it as the same separation you'd apply to a database — root password stays on the server, application users get only what they need.

Rotating credentials safely

Both credential types can be rotated, but the process and impact differ significantly:

For a full rotation playbook see when and why to rotate tokens.

Common mistakes to avoid

What's next

Frequently asked questions

What is the difference between a personal API key and a customer token in Nodetonet?
A personal API key authenticates as your own account and has full access — it can create proxies, read billing, and manage all customers. A customer token is scoped to a single customer record and can only see the proxies you have assigned to them. Use the personal key for your own scripts; give customer tokens to your buyers.
Can a customer token create or delete proxies?
No. Customer tokens are read-and-use only: they can list the proxies assigned to that customer and fetch usage statistics, but they cannot create, modify, or delete resources. Only a personal API key can provision proxy resources.
What happens if a customer API token is leaked?
The blast radius is limited to one customer's quota. The attacker can only use the proxies assigned to that customer, capped at the thread limit and expiry you set. They cannot reach your panel, billing, or other customers. Rotate the token immediately from the customer management screen.
Should I set an expiry date on customer tokens?
Yes, for any paying customer with a fixed subscription period. Setting an expiry ensures access ends automatically when a billing period closes, without you needing to remember to revoke it manually. You can always extend the expiry if the customer renews. See our guide on time-limited proxy clients for details.
How do I provision a customer with their own token and proxies?
Use your personal API key from your own server to call the Nodetonet API: create a customer record, assign the proxy resources you want them to have, then pass the resulting customer token to your buyer. Your backend handles provisioning; the customer only ever sees their scoped token.
Is the device-pairing token in the Android app the same as an API token?
No, they are different credentials. The device-pairing token (entered into the Android agent app) identifies a proxy resource and lets the app register your phone as a mobile proxy exit node. The personal API key and customer tokens authenticate API callers. See your first token and Android pairing for how the pairing token works.
N

Nodetonet Team

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

Related posts