# NanVPN > VPN with WireGuard, VLESS + Reality and OpenVPN in 54 countries, up to 10 devices, paid with crypto. No account, no email, no API key, no KYC. Pay with XNO, NANUSD, BTC, XMR, USDT (TRX), USDT (BSC), USDT (SOL), USDC (BASE), USDC (SOL) and more via Nanswap Pay. ## Plans - 1 day: `"days":1`, $0.29 - 1 week: `"days":7`, $1.49 - 1 month: `"days":30`, $3.99 - 3 months: `"days":90`, $9.99 - 6 months: `"days":180`, $18.99 - 1 year: `"days":365`, $34.99 ## Protocols (all included) - [WireGuard](https://nanvpn.com/wireguard-vpn/): Fastest. Scan a QR code in the WireGuard app. - [VLESS Reality](https://nanvpn.com/vless-vpn/): Looks like normal HTTPS traffic: for networks that block VPNs. - [OpenVPN](https://nanvpn.com/openvpn/): Works on every device and router, UDP or TCP on many ports. Server locations: https://nanvpn.com/locations/ ## API (for agents) Base URL: https://api.nanvpn.com OpenAPI: https://api.nanvpn.com/openapi.json 1. `GET /catalog` lists `plans[]` (`days`, `priceUsd`), `locations[]` (`iso`, `country`, `cities`, `protocols`) and pay currencies (`payinCurrencies[]` with `minUsd`). 2. `POST /buy` with JSON `{"days":30,"payinCurrency":"XNO"}` returns `token` (nv_..., shown once, keep it secret) and `payment` `{payinAddress, payinAmount, payinCurrency, paymentLink, expireAt}`. 3. Send exactly `payinAmount` `payinCurrency` to `payinAddress` before `expireAt`. 4. Poll `GET /order` with header `Authorization: Bearer ` until `status` is `active`; it has `expiresAt` and `credentials` (`username`, `password`: OpenVPN / IKEv2 login). 5. `GET /servers` lists `servers[]` (WireGuard + OpenVPN), `vlessServers[]` and `ports[]`. Then `GET /order/config?protocol=wireguard&server=` (or `vless` with a vlessServers id, or `openvpn` with optional `port`) returns `{name, content}`: a WireGuard .conf, a vless:// link or an .ovpn file. 6. Renew with `POST /extend` `{"days":30,"payinCurrency":"XNO"}` and the same bearer token, then pay the returned `payment`. Days are added to `expiresAt` (from now if expired). No automatic renewal. 7. Coin minimums: if `minUsd` of the chosen coin is above the price, the invoice is raised to `minUsd` and the difference goes to a prepaid balance (`balanceToken` nb_..., shown once). Pay from it with `"payinCurrency":"BALANCE","balanceToken":"nb_..."`. `GET /balance` with `Authorization: Bearer `. Prefund with `POST /balance/topup`. The balance is shared with NanProxy and NanSMS. ## Docs - [API guide](https://nanvpn.com/developers/) - [Supported cryptocurrencies](https://nanvpn.com/cryptocurrencies/) - Contact: contact@nanvpn.com - [Order page](https://nanvpn.com/order/): open `https://nanvpn.com/order/#` to manage a VPN in a browser.