# Layerbeat > Prepaid cloud servers (VPS) for people and AI agents, in 11 regions. Pay up front from prepaid credit in USD or IDR; there are no usage bills afterwards. Layerbeat sells Linux and Windows virtual private servers with root or Administrator access, paid for 1, 3 or 12 months in advance from your own Layerbeat credit. Everything in the console is also available through a REST API with scoped API keys, so an agent can quote, buy and manage servers by itself. ## Products - **VPS, General**: the lowest-priced servers, with a monthly transfer allowance. Past the allowance, bandwidth may be reduced or outbound traffic paused until it resets; traffic is never billed afterwards. - **VPS, Fast**: higher bandwidth, unlimited transfer and larger sizes. - **Windows Server** (English 2016, 2019, 2022, 2025): Windows-only plans with the Windows licence included in the price. Log in as `Administrator` over Remote Desktop with a generated or custom password; SSH keys are not used. - **Disks**: extra block storage priced per GB-month, attached to a server in the same zone and mounted at `/mnt/` (Linux) or `C:\mnt\` (Windows). A disk keeps its data when detached or when its server ends. - **Templates**: install ready-made software on a running Linux server. List them at `/v1/templates`. ## Prices - [Full price list](https://layerbeat.com/pricing.md): every region, plan ID, specification and 1/3/12-month price in USD; add `?region=sgp` for one region or `?currency=IDR` for rupiah. - Launch prices run until 31 October 2026, 23:59 UTC+8. After that date, new purchases cost the regular price shown next to each launch price. - A server bought at a launch price renews at that same price. - The price shown is the total for the term. Each term is paid in advance from one balance (USD or IDR, never mixed or converted). - A term is not refunded if a server is deleted early. - Live JSON: `GET /v1/regions`, `GET /v1/plans?region=`, `GET /v1/images?region=`, `GET /v1/disk-prices`. No authentication; cached for 60 seconds. ## Regions - `bkk`: Bangkok (Asia) - `fra`: Frankfurt (Europe) - `gru`: São Paulo (South America) - `hkg`: Hong Kong (Asia) - `iad`: Virginia (North America) - `icn`: Seoul (Asia) - `jhb`: Johor Bahru (Asia) - `jkt`: Jakarta (Asia) - `nrt`: Tokyo (Asia) - `sgp`: Singapore (Asia) - `sjc`: Silicon Valley (North America) ## Paying Purchases spend existing personal credit; a payment never buys a server by itself. Each person has separate USD and IDR balances, and a workspace has no credit of its own. An API key spends its creator's credit. - USDC on Solana adds USD credit (`POST /v1/billing/top-ups`). - An agent can pay a USDC top-up itself over HTTP 402 with x402 or MPP (see Adding credit as an agent). - Indonesian Rupiah through Doit (QRIS or bank virtual account) adds IDR credit. ## Buying a server with the API 1. Create an account at https://layerbeat.com/console/, verify the email, and create an API key under **Access & keys** with `vm:read`, `vm:write` and `ssh_key:write` (add `billing:read`/`billing:write` to read or fund credit). Send it as `Authorization: Bearer `. 2. Choose a region, a plan ID and a compatible image ID from `/pricing.md` or the catalog endpoints. Windows images need Windows plans; Linux images need Linux plans. 3. Linux with SSH: register a key with `POST /v1/ssh-keys` `{"name","public_key"}`. Windows, or Linux with a password: use `"auth": "random_password"` and read it once with `POST /v1/vms/{id}/password/reveal`. 4. Quote: `POST /v1/quotes` `{"region","plan","image","term_months","currency"}`. Check `available`, `total` and `wallet.shortfall`. Quotes last 10 minutes. 5. Buy: `POST /v1/vms` with `name`, `region`, `plan`, `image`, `term_months`, `currency`, `quote_id`, `auth` and `ssh_key_ids`, plus a unique `Idempotency-Key` header. Save it: retry a timed-out request with the same key and body, never a new one, or you may buy twice. 6. The response is `202` with `vm.id` and `operation.id`. Poll `GET /v1/operations/{id}` until `succeeded` or `failed`, then read `ipv4` from `GET /v1/vms/{id}`. 7. Disk: `POST /v1/volumes` `{"name","vm_id","type","size_gb","term_months","currency"}` with an `Idempotency-Key`; sizes below the minimum in `/pricing.md` are refused. Errors use `{"error":{"code","message","request_id"}}`. Do not retry `400`, `402` (not enough credit), `403` or `409 out_of_stock`; back off on `429`. ## Adding credit as an agent An agent can add USD credit from its own wallet over HTTP 402, without a person paying. The key needs `billing:write`; the credit goes to the key's creator and buys nothing by itself. - **x402** (Solana, USDC): `POST /v1/billing/top-ups/x402`. Pay with pay.sh (`pay curl …`), an x402 SDK, or `layerbeat topup 5 --pay x402`. - **MPP** (Tempo, USDC.e): `POST /v1/billing/top-ups/mpp`. Pay with mppx, pympp, or `layerbeat topup 5 --pay mpp`; the credential goes in `Payment-Authorization`. 1. `POST` the endpoint with `{"amount":"5.00"}`, `Authorization: Bearer ` and an `Idempotency-Key`. The answer is `402` with the exact amount (a few micro-units above the round figure identify the payment and are kept as credit). 2. Pay it with the client and send the same request again, with the same `Idempotency-Key`; the payment goes in its own header, so the API key stays in `Authorization`. 3. `201` means credited once. `202` or `503 payment_not_final` means the transfer is not final yet: repeat the same request and never pay again. From $5 to $1,000 per top-up; at most 5 unpaid top-ups at once and 20 started per day. [Agent payments guide](https://docs.layerbeat.com/guides/agent-payments) with tested code. ## Command line and MCP - Install the `layerbeat` CLI: `curl -fsSL https://layerbeat.com/install.sh | sh`. Set `LAYERBEAT_API_KEY`, then for example `layerbeat plans --region sgp` or `layerbeat quote --region sgp --plan SG-B224 --image "Ubuntu 24.04"`. `layerbeat new` always takes `--max-price`; outside a terminal, spending also needs `--yes`. - MCP tools for Claude Code, Cursor or Codex: `claude mcp add layerbeat -- layerbeat mcp serve`. Buying and top-ups need `--allow-spend`; deleting needs `--allow-delete`. ## Documentation - [API documentation](https://docs.layerbeat.com/llms.txt): guides and the endpoint reference, in the same format. - [Build for AI agents](https://docs.layerbeat.com/guides/agents): narrow keys, spending limits, safe retries. - [Command line](https://docs.layerbeat.com/cli): every `layerbeat` command. - [OpenAPI document](https://layerbeat.com/openapi.yaml): the complete public contract. - [Terms](https://layerbeat.com/terms) and [Privacy](https://layerbeat.com/privacy). - Support: support@layerbeat.com