Home / Agent API
AI agent VPS hosting · MCP · REST · x402

Buy a VPS or dedicated server with your AI agent — paid in crypto, no KYC.

ServPrivate is built so AI agents can purchase, deploy and manage servers end-to-end without a human in the loop. Three integration paths, one domain, zero KYC, 20 cryptocurrencies including Monero. Compatible with Claude (Desktop / Code / Managed Agents), OpenClaw, ChatGPT, Cursor, Continue, Cline, n8n, and any custom HTTP client.

Claude Desktop Claude Code ChatGPT Cursor Continue OpenClaw curl
No KYC
MCP server
REST + OpenAPI
x402-light
20 cryptos
Test mode

Three integration paths, one domain

Pick the one that fits your stack. They all hit the same backend, the same accounts, the same /api/v1/* logic.

MCP

MCP — for Claude, Cursor, Continue, Cline

Add https://servprivate.com/mcp to your MCP config. Eight tools instantly available: list_plans, list_locations, quote, create_order, payment_status, server_credentials, server_action, agent_help.

REST

REST — for any HTTP client

Plain JSON endpoints under /api/v1/. Bearer auth (auto-issued on first order, no signup). OpenAPI 3.1 spec at /openapi.json. Works from curl, Python, Go, anything that speaks HTTP.

x402-light

x402-light — instant USDC

For agents with their own wallet. Send X-Payment-Mode: x402 to /api/v1/orders → 402 with USDC deposit instructions in one round trip. No facilitator required.

Four product lines, one /api/v1/orders endpoint

Pass `type=vps` / `dedicated` / `rdp` / `gpu` to switch product lines. Same Bearer auth, same crypto checkout, same status endpoints. Locations are restricted by product — the API rejects `type=gpu` in `russia` (NVIDIA export controls) and `type=rdp` in `iceland` / `panama` / `switzerland`.

Product linetypeAvailable locationsFromTypical agent use case
Linux VPS vps 7 (IS · PA · MD · RO · CH · NL · RU) $7.50/mo Linux services (Tor, VPN, mail, scraping bots, web apps).
Dedicated Server dedicated 7 (IS · PA · MD · RO · CH · NL · RU) $48.50/mo Bare-metal isolation (large DBs, dual-socket workloads, hypervisors).
Windows RDP rdp 4 (NL · RO · MD · RU) $11.00/mo Browser automation, multi-account SMM, Forex / MetaTrader, Windows-only apps.
GPU AI Hosting New gpu 4 (IS · NL · RO · MD) $122.00/mo LLM finetuning, image / video generation, model inference behind your own API.
Anonymous Domain Names New domain 26 TLDs (.com .net .org .io .me .ai .app .dev .fr .de …) $4.99/yr One-call live availability + Namecheap-beating prices. Buy via balance; deep-link to /domain-order on the site.

GET /api/v1/catalog returns the live SKU matrix (prices per location, OS options, GPU model, VRAM). The catalogue is open and cacheable for 5 minutes — no auth required.

How it works — 4 calls from discovery to credentials

No SDK to install. No OAuth dance. No email. The first call returns your account token; the next three move the order from pending to active.

1Discover what is available

Read the catalog and the list of jurisdictions. Both endpoints are open (no auth) and cacheable for 5 minutes.

2Create the order

POST your choice. The response contains a fresh per-order payment address, the exact crypto amount, an expiry, and — if you didn't send a Bearer — a fresh account_token. STORE THE TOKEN: it is the only way to manage the server later. We do not have a recovery path.

3Pay and poll

Send the crypto to the address. Then poll the order until status reaches "active" (typically 1–5 minutes for VPS once the deposit is detected).

4Receive the credentials

Once the order is active, fetch the server. The IP address, root password, SSH port and a console URL are returned. SSH in, you're done.

curl — balance-only two-step: topup, then deploy
# Step 1: fund USD balance with crypto (min $30, max $2000; bonus credit applied on confirmation)
curl -X POST https://servprivate.com/api/v1/topup \
  -H 'Content-Type: application/json' \
  -d '{ "amount": 200, "crypto": "XMR" }'

# → 201 Created
{
  "ok": true,
  "payment_id": 12345,
  "amount_usd": 200,
  "crypto": "XMR",
  "amount_crypto": "1.2034",
  "address": "47abc...",
  "bonus_usd": 50,            // free credit on confirmation
  "credited_usd": 250,         // 200 + 50 bonus
  "expires_in": 3600,
  "poll_url": "https://servprivate.com/api/v1/topup/12345",
  "account_token": "AAAA-BBBB-CCCC-DDDD"    // STORE THIS
}

# (send the crypto, poll poll_url until status="confirmed")

# Step 2: deploy the server from the funded balance
curl -X POST https://servprivate.com/api/v1/orders \
  -H 'Authorization: Bearer AAAA-BBBB-CCCC-DDDD' \
  -H 'Content-Type: application/json' \
  -d '{ "type": "vps", "plan": "IS-S", "location": "iceland", "os": "ubuntu-24", "billing": 3 }'

# → 201 Created
{
  "ok": true,
  "server_id": 9876,
  "status": "active",            // active immediately
  "charged_usd": 16.88,
  "new_balance": 233.12,
  "credentials_url": "https://servprivate.com/api/v1/servers/9876"
}

One endpoint, four product lines — copy-paste examples

curl — POST /api/v1/orders for each product
# All examples assume the agent already topped up via POST /api/v1/topup and the Bearer token is set.

# Linux VPS — Iceland, Ubuntu 24, 3-month billing
POST /api/v1/orders {"type":"vps", "plan":"IS-S", "location":"iceland", "os":"ubuntu-24", "billing":3}

# Dedicated bare-metal — Switzerland, AlmaLinux, annual
POST /api/v1/orders {"type":"dedicated", "plan":"CH-3", "location":"switzerland", "os":"alma-9", "billing":12}

# Windows RDP — Netherlands, Win Server 2022, monthly
POST /api/v1/orders {"type":"rdp", "plan":"NL-M", "location":"netherlands", "os":"win-2022", "billing":1}

# GPU AI — H100 SXM5 with vLLM + Llama 3.3 70B pre-downloaded + HF token + SSH key + auto-shutdown after 24h
POST /api/v1/orders {
  "type":"gpu", "plan":"IS-L", "location":"iceland",
  "os":"ubuntu-22-cuda", "billing":1,
  "ai_stacks": ["vllm", "jupyterlab"],
  "pretrained_models": ["llama-3.3-70b", "flux-dev"],
  "hf_token": "hf_...",                     // optional — needed for Llama / Mistral (gated)
  "ssh_public_key": "ssh-ed25519 AAAA...",    // optional — password-less login
  "public_endpoint": true,                  // auto Let's Encrypt + nginx reverse proxy on 443
  "auto_shutdown_hours": 24                   // destroy after 24h to bound cost
}

# GPU AI image-gen — Netherlands, RTX 5090 (32 GB GDDR7), ComfyUI + FLUX.1-dev preinstalled, 3-month billing
POST /api/v1/orders {
  "type":"gpu", "plan":"NL-M", "location":"netherlands",
  "os":"ubuntu-22-cuda", "billing":3,
  "ai_stacks": ["comfyui", "kohya-ss"],
  "pretrained_models": ["flux-dev", "sdxl-base"]
}

# If the balance is short, /orders returns 402 with a topup_required block:
{
  "ok": false, "error": "insufficient_balance",
  "have_usd": 0, "need_usd": 53.5, "deficit_usd": 53.5,
  "topup_required": true,
  "topup": {
    "endpoint": "https://servprivate.com/api/v1/topup",
    "suggested_usd": 54, "suggested_bonus": 0,
    "minimum_usd": 30, "maximum_usd": 2000,
    "bonus_doc": "https://servprivate.com/api/v1/topup/bonus"
  }
}
# → POST /api/v1/topup {"amount": 54, "crypto": "XMR"} → wait for confirm → retry POST /api/v1/orders

# Anonymous domain check — 26 TLDs in one unauthenticated GET, no token required, JSON out, 1h Redis cache
GET /api/v1/domains/check?q=mybrand

# Tip: typing a TLD surfaces it FIRST. "mybrand.fr" returns .fr at index 0, then the rest.
GET /api/v1/domains/check?q=mybrand.fr

# Response (truncated): live availability + Namecheap-beating prices + featured/badge labels
# {"ok":true, "results":[
#   {"domain":"mybrand.com", "available":true, "price_usd":4.99,  "market_usd":15.98, "discount_pct":69, "badge":"BEST DEAL", "featured":true},
#   {"domain":"mybrand.io",  "available":true, "price_usd":24.99, "market_usd":46.98, "discount_pct":47, "badge":"HOT"},
#   {"domain":"mybrand.ai",  "available":true, "price_usd":84.99, "market_usd":109.98,"discount_pct":23, "badge":"HOT"} ...]}

MCP setup (60 seconds)

Add this snippet to your MCP-aware client (Claude Desktop, Claude Code, Cursor, Continue, Cline). After restart, ask: "Buy me an Iceland VPS-S in Ubuntu 24.04, paid in XMR".

~/.claude/mcp_settings.json — Cursor / Continue / Cline equivalent
{
  "mcpServers": {
    "servprivate": {
      "url": "https://servprivate.com/mcp"
    }
  }
}

Tools exposed by the MCP server:

list_plans
list_locations
quote
topup_bonus
topup_create
payment_status
account_balance
create_order
server_credentials
server_action
agent_help
domain_check
domain_quote

Then call agent_help() inside Claude — it returns the canonical 4-call recipe with examples, baked into the tool itself.

x402-light — single round trip with USDC

Send the X-Payment-Mode: x402 header to /api/v1/orders. The server replies HTTP 402 with USDC (ERC-20) deposit instructions both in the X-Payment-Required header and in the JSON body. Send the USDC, poll the URL, get credentials. Note: this is "x402-light" — bit-compatible with x402 clients that detect facilitator: null and fall back to a regular USDC transfer rather than EIP-3009 signing.

x402-light — single round trip with USDC
# With balance-only orders, /api/v1/orders returns 402 insufficient_balance
# when balance is short — the response includes a topup_required block.
# Fund USDC directly via:
curl -X POST https://servprivate.com/api/v1/topup \
  -H 'Content-Type: application/json' \
  -d '{"amount":100,"crypto":"USDCETH"}'

# → 201 returns {payment_id, address, amount_crypto, bonus_usd: 25,
#               credited_usd: 125, poll_url, account_token}.
# Send USDC (ERC-20) to address, poll poll_url until status="confirmed",
# then POST /api/v1/orders with Bearer to deploy from the funded balance.

Test mode (dry-run) — never spend real crypto while integrating

Add ?dry_run=1 (or header X-Dry-Run: 1, or body field dry_run: true) to any /api/v1/* endpoint. The synthetic order auto-confirms after ~60 seconds, returns RFC 5737 IPs, and never touches a real database row or upstream payment processor. Perfect for validating an agent integration before touching mainnet.

dry-run — never spend real crypto
# no real crypto spent, no real server provisioned
curl -X POST 'https://servprivate.com/api/v1/orders?dry_run=1' \
  -H 'Content-Type: application/json' \
  -d '{"type":"vps","plan":"IS-S","location":"iceland","billing":1}'

# For a topup preview:
curl -X POST 'https://servprivate.com/api/v1/topup?dry_run=1' \
  -H 'Content-Type: application/json' \
  -d '{"amount":200,"crypto":"XMR"}'

Use cases — what agents do with ServPrivate

These are the patterns we see (and design for) in agentic infrastructure today.

Spin up a scraper VPS in 30 seconds

A research agent needs a clean IP in a specific jurisdiction. It calls create_order, gets credentials, runs the job, then terminates.

Agent-owned compute supply chain

A long-running autonomous agent (Claude Managed Agent, custom orchestrator) provisions its own infrastructure as it scales horizontally — no human gatekeeper.

BYO compute for sensitive workloads

A user with privacy concerns asks Claude to host an LLM, a Tor relay, a Monero node or a self-hosted VPN — payment, deployment, SSH key handover all happen agent-side.

Disposable infrastructure for security research

Penetration testing tools, malware sandboxes, exit nodes — anything that benefits from being short-lived and unattributable. Agents create, use, and destroy.

On-demand GPU for LLM finetuning + inference

Agents spin up an H100 SXM5 (80 GB HBM3) with PyTorch / CUDA preinstalled in 60 seconds, run a finetune job, deploy the model behind their own vLLM endpoint, then destroy the box. Predictable monthly billing, unlimited bandwidth, no per-token fees.

Multi-region + multi-product deployment from one prompt

One agent loop deploys a Linux VPS in Iceland (control plane), a Windows RDP in the Netherlands (browser-automation worker), and an H100 GPU in Iceland (inference). Same token, same API, same checkout.

Why ServPrivate works for agents

Six properties that make ServPrivate uniquely well-suited to autonomous and assisted purchasing.

Zero KYC

No name, email, phone, ID, captcha. The agent pays and gets the server — that's it.

Instant deployment

VPS live in under 5 minutes. Dedicated typically 15–60 minutes. No queue, no human approval.

20 cryptocurrencies

BTC, XMR, ETH, USDT, USDCETH, XRP, LTC, SOL, TRX, TON, DOGE, POL, BCH, DASH, ZEC, ATOM, ETC (+ USDT on TRC-20/BEP-20/Solana). Same API for all.

7 jurisdictions

Iceland, Panama, Moldova, Romania, Switzerland, Netherlands, Russia. Filter by location.

Test mode

Validate your integration end-to-end without spending. dry_run=1 on every endpoint.

Two flows, one API

Same endpoint serves Claude-with-human-paying and fully autonomous agent-with-own-wallet.

Discover the API in one curl

Or open https://servprivate.com/openapi.json for the full OpenAPI 3.1 spec.

FAQ

Common questions about integrating ServPrivate with AI agents.

Which AI assistants can use this?

Any MCP-aware client: Claude Desktop, Claude Code, Cursor, Continue, Cline, and any client implementing the Model Context Protocol. For agents without MCP support (OpenClaw, ChatGPT plugins, custom Python scripts, n8n workflows, Anthropic Managed Agents), the same functionality is available via plain HTTPS calls to /api/v1/* — exactly the same backend, same auth, same flow.

Do I need an account before placing the first order?

No. POST /api/v1/orders without any Authorization header and the response will include a fresh account_token (16-character string in AAAA-BBBB-CCCC-DDDD format). Store it. That token is the only way to manage your server afterwards — we have no email, no recovery path, nothing else.

Is x402-light compatible with the official Coinbase x402 client?

Partially. We label our 402 responses with x402_light: true and facilitator: null. A spec-compliant x402 client should detect facilitator: null and either fall back to a regular USDC transfer (which we accept normally) or fail gracefully. We accept any USDC ERC-20 transfer to the recipient address returned in the 402 — there is no EIP-3009 signing requirement. We will add a true Coinbase x402 facilitator the first time a real client demands it.

How do I test without spending real crypto?

Add ?dry_run=1 to any /api/v1/* URL (or header X-Dry-Run: 1, or body field dry_run: true). You will get a synthetic order_id starting with "DRY-", a fake payment address, fake credentials (RFC 5737 IPs), and the order auto-progresses pending → confirmed → active over ~60 seconds. No upstream payment-processor call, no real DB row in payments, no real server provisioned. The MCP tools accept the same dry_run argument.