For operators

Run a VPN node on your server. Your AI agent can set it up.

Give your AI agent the ProofKit MCP server and SSH access to your server. It registers the node, installs it, runs the network's checks and fixes what they find. You set the price per GB and are paid in TON.

Exit price
0.001+ TON/GB
Stake / node
1 TON refundable
You get / GB
0.96 × your price
Server
x86-64 Linux
~/servers · your agent connected
$ claude mcp add --transport http \
    proofkit-operator \
    https://proofkit.org/mcp/operator
> /mcp → sign in → Allow
✓ proofkit-operator · 22 tools

> Put a ProofKit exit on
  [email protected]. It is in Brazil,
  0.003 TON per GB.

▸ get_account  1.2 TON · covered
▸ wanted_locations  exit · BR wanted
▸ server_requirements  x86_64 · 1 GB
▸ ssh … install.sh --check  x86_64 ok
▸ create_node  br-1 · 1 TON staked
▸ ssh … install.sh --mode=docker  online
▸ node_checks  all pass

→ br-1 is in review. ProofKit tells you
  when it is live.
// four ways in

Run it the way you work

All four reach the same nodes. Start in one, switch to another whenever you like.

Install · root

One command

# curl -fsSL https://proofkit.org/install.sh | bash -s -- \
  --mode=docker --type=origin --token=…

The dashboard fills in the token. Run it as root.

Dashboard · web

The dashboard

Every node's checks, users, traffic and earnings on one page. What to fix comes with the command that fixes it.

See the dashboard
REST · OpenAPI

The Operator API

REST with an OpenAPI document, versioned like the Partner API: nothing is removed or renamed within v1. Keys with scopes, and an explorer to try calls.

// wanted

Where the network needs nodes

Kept by the ProofKit team, with no traffic figures. Your agent reads the same list from the API and the MCP server.

GET /api/v1/operator/wanted
NodeWhereWhy it is needed
Entry RURussia Users in Russia connect through an entry inside the country. Entries at more providers keep them connected when one provider is blocked. wanted
Exit BRBrazil The network has no exit in South America. wanted
Exit AUAustralia The network has no exit in Oceania. wanted
Exit anyA country that already has one exit A second exit keeps the country open to users while the first is down or full. wanted
// the path

From sign-up to earning

The network tests your node from outside before it sends anyone to it.

  1. 01

    Deposit

    1 TON per node, from your TON wallet. It becomes the node's stake.

  2. 02

    Register, install

    The address, country and your price, then one command as root. Or your agent does both.

  3. 03

    Checks

    The network tests the node's ports and cover site from outside and reads its disk and agent version from what the agent reports. You see each result and how to fix it.

  4. 04

    Fix

    A failing check comes with the command that fixes it, in the dashboard, the API and your email.

  5. 05

    Review

    ProofKit reviews each public node before it routes users there.

  6. 06

    Live

    Users connect. Earnings show up as their traffic is billed.

The stake keeps the network to people who mean it. It comes back to your balance when you delete the node, less any slash.

// money

What you earn

You set a price per GB for each node: at least 0.001 TON for an exit, while an entry may be free. Users see it with the 20% network fee added, and you receive 0.96 times your price for every GB they move, upload and download both counted.

How much traffic a node gets depends on its country, price, uptime and demand, and the network is young. Do not plan around a fixed income.

Your priceUser pays / GBYou get / GBYou get / 100 GB
0.001 TON0.0012 TON0.00096 TON0.096 TON
0.01 TON0.012 TON0.0096 TON0.96 TON
// keys

What an agent may do

You stay in charge. A sign-in asks at Allow whether the agent may only read or also manage your nodes, and a key's scopes are chosen when it is made. You can end either at once. Some things no key and no sign-in can do.

With the scopes you give it

  • Register nodes and get their install command
  • Read checks, metrics and events
  • Change the price, name, limits, transports and cover site
  • Restart, reinstall or delete a node
  • Link an entry to an exit, and invite people to a private node
  • Read your earnings, your balance and what you can claim

Never, with any key

  • Link or change your wallet
  • Withdraw your deposit
  • Claim a payout: you press Claim yourself
  • Change your password, email or two-factor
  • See who your users are
// server

What the server needs

  • Linux on x86-64 with a public IPv4 address, kernel 5.6 or newer
  • 1 vCPU and 1 GB of RAM at least; 2 vCPU and 2 GB recommended
  • At least 1 GB of free disk to install; keep 2 GB free so updates can download
  • Root access, with port 443 free on TCP and UDP
  • Docker on any distribution, or AlmaLinux / CentOS Stream 10+
  • A TON wallet with TonConnect, such as Tonkeeper, for the stake and payouts

Check a server before you register it. The command reads the machine, changes nothing and says what is missing:

$ curl -fsSL https://proofkit.org/install.sh | bash -s -- --check --type=exit
// faq

Common questions

Do I need an AI agent?

No. The dashboard and the one-line install do the same. The agent saves you the reading: it runs the commands, reads the checks and fixes what it can.

Is the stake refundable?

Yes. Deleting the node releases its 1 TON stake to your balance, minus any slash, and you can withdraw it. Claim the node's earnings first: a node with unclaimed earnings cannot be deleted.

Which agents work?

ChatGPT, Claude, Claude Code, Cursor, Codex and VS Code sign in with your ProofKit account; anything that speaks HTTPS can use a key.

What does an exit expose me to?

Users' traffic leaves from your server's address, so complaints about it reach you and your hosting provider. Torrent Guard blocks BitTorrent, and WARP sends users' TCP traffic out through Cloudflare while WARP answers; UDP, and TCP during a WARP outage, leave from your address.

// next step

Your server, your price.

Register a node in a minute and watch it pass the network's checks.