Monitoring

VPN monitoringUptime monitoringIntegrations

Platform

AI assistantsAPI and CLISecurity

More

PricingFree testerDocsBlog Log in

Know when yourWireGuardserver goes down.

We run the real protocol handshake, not a ping. 11 VPN protocols, alerts the moment a server is confirmed down.

Every plan is free for 14 days. Cancel before day 15 and you pay nothing.

The TunnelHQ dashboard on a phone: two monitors unreachable, monitor counts, and the monitor status table

Every check runs the real handshake for these protocols

  • WireGuard
  • OpenVPN
  • IKEv2
  • OpenConnect
  • VLESS / VMess
  • Shadowsocks
  • AmneziaWG
  • Trojan
  • Hysteria2
  • TUIC

Multi-protocol engine

A port ping calls a VPN server healthy when nobody can connect. TunnelHQ checks at the protocol layer: wrong keys, expired preshared secrets, SNI blocks, REALITY misconfig, UDP shaping.

Instant alerts

Team workspaces

Uptime monitoring

Websites, APIs, hosts and cron jobs, in the same projects and alert channels as your tunnels. Uptime checks are free during the beta.

Developer API

$ curl https://app.tunnelhq.com/api/v1/check \
    -H "X-API-Key: thk_••••••••" \
    -d '{"protocol": "wireguard", "config": "[Interface]…"}'

{
  "status": "healthy",
  "protocol": "wireguard",
  "connect_ms": 142,
  "latency_ms": 24,
  "exit_ip": "176.61.144.46"
}

REST API

34 endpoints for tunnels, tests, incidents and usage, with an OpenAPI file.

Connect Claude to TunnelHQ: the TunnelHQ rabbit beside the Claude mark, workspace Sam Rivera's Workspace, all projects, and Read and write chosen over Read only.

MCP for AI assistants

Claude, ChatGPT, Cursor and VS Code connect by signing in. You choose the project and the access.

The four checks an assistant added from one prompt, in the Uptime list: larkspurvpn.com resolves (DNS, 22 ms), Account API health (Website, 46 ms), Larkspur docs (Keyword, 112 ms) and Larkspur site (Website, 108 ms), all Healthy.

Set up by your AI assistant

One prompt finds the sites, APIs and jobs in your project, asks before adding them, and tests each one.

POST /hooks/tunnelhq
X-TunnelHQ-Event: monitor.down
X-TunnelHQ-Signature: sha256=9f2c…

{
  "event": "monitor.down",
  "data": {
    "monitor_name": "Seoul 1",
    "message": "Tunnel unreachable",
    "failed_stage": "connect"
  }
}

Signed webhooks

Down, degraded and up, plus incident opened and resolved, each signed with HMAC-SHA256.

sam — -zsh — 80×24
sam@Sams-MacBook-Pro ~ % thq test ./lisbon-1.conf

◆ Instant Test
  Source:   lisbon-1.conf (wireguard)
  Protocol: wireguard
  Endpoint: lisbon-1.larkspurvpn.com:51820

✔ Reachable — 240ms

  test_id:    chk_q4tn81xk55302h7bdf
  tested_at:  2026-10-19T09:41:07.512Z
  assigned_ip: 10.66.0.2

sam@Sams-MacBook-Pro ~ % thq servers create ./lisbon-1.conf --name "Lisbon 1"
✔ Created Lisbon 1 (srv_4821)

  id:         srv_4821
  protocol:   wireguard
  interval:   180s
  status:     unknown

sam@Sams-MacBook-Pro ~ % 

thq CLI

Test a config, link or subscription from your terminal, or add a tunnel. It saves nothing on a test and exits 1 on a failure, so CI can stop a bad config.

Pricing

Every plan runs the real handshake on all 11 protocols. Start with 14 days free.

Save up to 42% yearly

Starter

For a small VPN service or a side project.

$12per month

Billed monthly

Start 14-day trial
VPN tunnels
20
Tunnel checks
Every 5 min
Tested from
Any checker
Uptime checks
Free in beta
History
90 days

Includes:

  • 3 team members, 3 projects
  • 5 alert channels
  • 3 subscription URLs
  • 50 on-demand tests a month
  • REST API, CLI and MCP server

Pro

Most popular

For a VPN service with users in many countries.

$39per month

Billed monthly

Start 14-day trial
VPN tunnels
100
Tunnel checks
Every 2 min
Tested from
Up to 5 countries
Uptime checks
Free in beta
History
1 year

Everything in Starter, plus:

  • Pick the countries a tunnel is tested from
  • Unlimited alert channels
  • 10 team members, 10 projects
  • 10 subscription URLs
  • 500 on-demand tests a month

Business

For large fleets that need every minute covered.

$99per month

Billed monthly

Start 14-day trial
VPN tunnels
500
Tunnel checks
Every minute
Tested from
Up to 12 countries
Uptime checks
Free in beta
History
2 years

Everything in Pro, plus:

  • Unlimited team members and projects
  • Unlimited subscription URLs
  • Unlimited on-demand tests
  • 120 API requests a minute

Enterprise

For fleets bigger than Business.

Custom

Talk to sales for a quote

Talk to sales
VPN tunnels
Talk to us
Tunnel checks
Every minute
Tested from
Any number
Uptime checks
Free in beta
History
2 years

Everything in Business, plus:

  • Any number of test countries per tunnel

Every plan includes

  • Real handshakes on 11 protocols
  • 20 alert channels
  • Uptime checks, free in beta
  • REST API, CLI and MCP
  • Encrypted credentials

14 days free on every plan. Your card is charged on day 15, and you can cancel any time before. Compare every plan

Questions

What VPN protocols does TunnelHQ support?

All 11: WireGuard, AmneziaWG, OpenVPN, OpenConnect, IKEv2, VLESS, VMess, Trojan, Shadowsocks, Hysteria2, and TUIC — including V2Ray/Xray share links and subscription JSON. URI-based protocols auto-detect from the scheme; config-based protocols take the full config (with credentials where needed).

Do you actually do the VPN handshake, or just ping the port?

We do the real handshake. For WireGuard we run a key exchange against the peer. For OpenVPN we negotiate TLS and auth-user-pass. For VLESS / VMess / Trojan / SS / Hy2 / TUIC we open the real transport and complete the protocol handshake. A reachable UDP port is not enough. A dead peer with an open firewall port still fails for us and alerts you.

Do I need to give you my WireGuard private key?

Yes. That's the only way to run a real handshake. Credentials are encrypted at rest with AES-256-GCM and never logged. Best practice: use a dedicated monitoring peer with its own keypair, separate from your production client keys.

How fast are the alerts?

Each tunnel can be checked as often as every 5, 2 or 1 minutes, depending on the plan (Starter, Pro, Business). The first failed check opens an incident straight away. With the default 2 retries, the next failed check confirms the tunnel down, and the alert goes out at once: email, Slack, Telegram, Discord or any of the 20 channels.

What are the API rate limits?

30 req/min on Starter, 60 on Pro, 120 on Business. The same API covers instant checks, batch testing, server CRUD, incident management, and usage analytics. We also run an MCP server: Claude, ChatGPT, Cursor and VS Code connect by signing in, and can manage your fleet directly.

Is there a free plan?

Not for new signups — instead, every plan now starts with a 14-day free trial: full plan features, all 11 protocols. You add a card at checkout, right after you create your account, and it isn't charged until day 15, and you can cancel anytime before that. Existing free workspaces keep their plan. Paid plans start at $12/mo.

How is your /test/ page different from paid monitoring?

The free tester runs one real handshake against a config you paste and keeps nothing. Monitoring runs that handshake as often as every 5, 2 or 1 minutes, depending on your plan, keeps the history, opens incidents, sends alerts, and works through the REST API, the CLI and AI assistants.

Can I test Shadowsocks or VLESS behind a censor-friendly transport?

Yes. Our checker supports REALITY, XTLS-Vision, WebSocket + TLS, gRPC, and uTLS fingerprints for the URI-based protocols. Full handshake runs through whatever transport the URI specifies.

Can TunnelHQ also monitor my website, API or cron jobs?

Yes, with Uptime checks. Website checks alert when a URL goes down or returns an unexpected status code, keyword checks when a page loses or gains a word, and ping, TCP port and DNS checks watch hosts and name servers. For a cron job or backup, a heartbeat alerts when the job stops checking in. Uptime checks sit in the same projects as your tunnels, alert through the same channels, and are free during the beta, without counting toward your tunnels.

What happens when I hit my tunnel limit?

Adding a tunnel past your plan's limit is refused, with a link to upgrade. The tunnels you have keep running. Uptime checks don't count toward it during the beta.

Can I self-host TunnelHQ?

No. TunnelHQ is a managed service. If you need self-hosting, open-source monitoring tools exist, but none checks VPN protocols out of the box.

How do I migrate from UptimeRobot or Better Stack?

Use Bulk import: paste share links and configs, or upload .ovpn and .conf files, and each server becomes a tunnel. A V2Ray or Xray subscription URL brings in a whole fleet and keeps it in sync. You can also create tunnels through the REST API.