Skip to content
  • Bitcoin accepted
  • MMonero accepted
  • DMCA-resilient
  • Anonymous signup
  • ΞEthereum accepted
  • No KYC
  • 99.99% uptime
  • 24/7 support
  • 7-day money-back
  • Provisioned in < 5 min
  • Iceland · Switzerland · Netherlands
  • USDT accepted
Bitcoin accepted. Monero accepted. DMCA-resilient. Anonymous signup. Ethereum accepted. No KYC. 99.99% uptime. 24/7 support. 7-day money-back. Provisioned in under 5 minutes. Iceland, Switzerland, Netherlands. USDT accepted.
SilentHosts
Get started
v1 · Public beta

Build with the SilentHosts API.

A REST API over HTTPS, JSON in / JSON out, bearer-token authentication. Provision VPS, manage services, list plans, ingest webhooks. Designed to be ergonomic from a Bash one-liner or any modern HTTP client.

Base URL

https://api.silenthosts.io/v1
60 seconds in

Quickstart

Provision your first VPS via API in 4 lines of curl.

01

Generate an API key in your client panel

Open /client/settings → API keys → Generate. Keys are shown once; store securely.

02

List available plans

curl https://api.silenthosts.io/v1/plans \
  -H "Authorization: Bearer sh_live_••••••••"
03

Provision a VPS-2 in Iceland

curl -X POST https://api.silenthosts.io/v1/services \
  -H "Authorization: Bearer sh_live_••••••••" \
  -H "Content-Type: application/json" \
  -d '{
    "plan": "vps-2",
    "location": "iceland",
    "billing_cycle": "monthly",
    "addons": ["ddos-premium", "backup"],
    "payment_method": "crypto"
  }'
04

Pay the invoice and receive credentials by webhook

{
  "id": "srv_3a8f2d6e",
  "status": "pending_payment",
  "invoice": "inv_91f7cb01",
  "pay_url": "https://oxapay.com/pay/12345",
  "webhook_event": "service.provisioned"
}
Auth

Authentication

Bearer tokens scoped per key. No OAuth, no JWT shenanigans, no signing dance.

API key format

Keys are 48-character random strings prefixed with sh_live_ for production and sh_test_ for sandbox. Pass via Authorization: Bearer ... header.

Scopes

Each key carries one or more scopes: services:read, services:write, billing:read, billing:write, tickets:write. Generate least-privileged keys for CI / Terraform / scripts.

Rate limits

What happens at scale

Default limit: 60 requests/minute per API key on read endpoints, 20/minute on write endpoints. Burst capacity is 2× steady-state.

Headers on every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. When you hit the limit, the API returns 429 Too Many Requests with a Retry-After header indicating seconds to wait.

Higher limits are available for verified production use cases — reseller dashboards, CI fleets, monitoring tooling. Email sales@silenthosts.io with your expected RPS and the rationale.

Errors

Error envelope

Every non-2xx response has the same shape so client libraries can branch cleanly.

{
  "error": {
    "code": "service_not_found",
    "message": "Service srv_3a8f2d6e does not exist or is not owned by this account.",
    "param": "id",
    "request_id": "req_8c9c11ef"
  }
}

Common codes: invalid_request, authentication_failed, forbidden, not_found, rate_limit_exceeded, insufficient_funds, plan_unavailable, location_unavailable, internal_error. Always include request_id when contacting support — it's the fastest way for support@silenthosts.io to find the matching log entry.

Endpoints

Services API

Provision, list, update, cancel, reboot, snapshot, migrate.

services

GET
/v1/services

List all services owned by the authenticated account.

POST
/v1/services

Provision a new VPS / RDP / dedicated server.

GET
/v1/services/{id}

Retrieve a single service by id.

PATCH
/v1/services/{id}

Update a service (rename, change autoreneval, attach addons).

DELETE
/v1/services/{id}

Cancel and tear down a service. Refund applies if within the 7-day window.

POST
/v1/services/{id}/reboot

Hard or soft reboot a running service.

POST
/v1/services/{id}/snapshot

Create a manual snapshot. Returns the snapshot id.

POST
/v1/services/{id}/migrate

Migrate a service to a different jurisdiction. Live-migrate where supported.

Endpoints

Locations API

Read-only — list the 8 jurisdictions, get capacity per location.

GET
/v1/locations

List the 8 datacenter jurisdictions and their current capacity.

GET
/v1/locations/{slug}

Detail for one jurisdiction: legal posture, carriers, certifications, real-time ping from your IP.

Endpoints

Plans API

The full 35-plan catalog. Pricing, specs, and addon compatibility.

GET
/v1/plans

List all 35 plans across the 11 product categories.

GET
/v1/plans/{slug}

Detail for one plan: full specs, pricing per cycle, per-location availability, recommended addons.

GET
/v1/categories

List the 11 product categories with summary metadata.

Endpoints

Billing & invoices API

List invoices, retrieve PDFs, pay open invoices via Card2Crypto or OxaPay.

GET
/v1/invoices

List all invoices for the authenticated account.

GET
/v1/invoices/{id}

Retrieve a single invoice with line items.

POST
/v1/invoices/{id}/pay

Initiate payment for an open invoice. Returns a payment URL (Card2Crypto or OxaPay).

GET
/v1/invoices/{id}/pdf

Download the invoice PDF for accounting.

Webhooks

Subscribe to lifecycle events

Configure a webhook URL once; receive HMAC-SHA256-signed POSTs for every relevant event.

Verifying signatures

Every webhook carries an X-SilentHosts-Signature header — HMAC-SHA256 of the raw request body using your webhook secret. Verify before processing.

import crypto from "node:crypto";

function verify(rawBody, signature, secret) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(rawBody)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(expected, "hex"),
    Buffer.from(signature, "hex"),
  );
}

Events

  • service.provisioned

    Fires when a service finishes provisioning and credentials are sent.

  • service.suspended

    Fires on suspension (non-payment, AUP violation, customer request).

  • service.cancelled

    Fires on hard cancellation. Service is torn down within 60 seconds.

  • invoice.created

    Fires when a new invoice is generated (typically on renewal).

  • invoice.paid

    Fires on successful payment. Includes payment_method (card / crypto) and txid.

  • invoice.failed

    Fires when a payment attempt fails or expires.

  • ticket.replied

    Fires when a support team member replies to one of your tickets.

  • incident.published

    Fires when a status-page incident affecting your services is published.

Tooling

SDKs and CLI

The API is plain HTTP — any client works. We also publish a Node SDK, a Go SDK, and a hostctl CLI.

@silenthosts/sdk (Node.js)

npm install @silenthosts/sdk · TypeScript-first, fully typed responses, Zod-validated payloads.

v1.4.2

silenthosts-go (Go)

go get github.com/silenthosts/go · Context-aware, generics-typed, no extra dependencies.

v1.2.0

hostctl (CLI)

brew install silenthosts/tap/hostctl · Deploy, inspect, reboot, migrate from your terminal.

v0.9.1

Terraform provider — coming Q3 2026

The official silenthosts/silenthosts Terraform provider is on the roadmap. Sign up for early access.

Request early access

Public beta

The API is in public beta as of Q2 2026

Endpoints documented above are stable and won't break within the v1 namespace. Breaking changes ship as v2 with a minimum 6-month deprecation window. Found a bug? Open a ticket from /client/tickets/new with the request_id from the failing response.

Deploy your first offshore server in 60 seconds.

Anonymous signup. Bitcoin & Monero accepted. Provisioned across 8 jurisdictions.

No credit card required · 7-day money-back guarantee