TempVPN
TempVPN sells short, fixed-length VPN sessions that machines can buy and drive over HTTP. Nodes are discovered through a public registry; everything after that happens on the node you select.
Send all API requests to the selected node's api_url. Never send them to tempvpn.xyz — the website only serves the landing page and this documentation.
Workflow
Sessions follow a fixed lifecycle. Six calls take you from discovery to a running, pausable VPN session:
- Discover nodes
List every available node from the public registry.
GET https://registry.tempvpn.xyz/nodes - Select a node
Pick a node from the response. Its api_url is the base for every request below.
api_url - Purchase a session
Buy a fixed-length session on the selected node.
POST /sessions - Activate the session
Bring the VPN tunnel up.
POST /sessions/{session_id}/connect - Pause the session
Hold the session when you don't need the connection.
POST /sessions/{session_id}/pause - Check status
Read the current state of the session at any time.
GET /sessions/{session_id}/status
Endpoints
Session endpoints live on the node. The examples below use {api_url} as the base URL.
Purchase a session
{api_url}/sessions{ "node_id": "node_fra1", "duration_minutes": 60, "payment_token": "ptok_7c3e91" }
Session response
OK{ "session_id": "sess_9f2k41", "api_url": "https://node-fra1.tempvpn.xyz", "expires_at": "2026-08-25T01:00:00Z", "status": "active" }
Pricing
$0.01 per minute; duration must be a whole number of minutes.
Routing
The registry answers exactly one question — which nodes exist: GET https://registry.tempvpn.xyz/nodes. Every other request (purchase, connect, pause, status, and payment) goes to the selected node's api_url. To authenticate, send the session_id from the purchase response as the bearer token: Authorization: Bearer <session_id>. There is no separate API key — the session id is both the identifier and the credential, so keep it secret.
Specs
Machine-readable references for the registry and node APIs: OpenAPI specification and llms.txt.