Plenty of automation still only runs on Windows. Trading terminals, desktop tools with no Linux build, macro software, the one bot your community wrote in C# years ago. And plenty of services still decide who to trust by IP: exchange API keys locked to an address, partner endpoints that allowlist you, webhooks that call back to a fixed host.
When both are true, you want a Windows server with its own public IPv4. That's this setup.
What you get
A Windows Server 2022 VPS with a dedicated IPv4. RDP listens on the standard port 3389 at your own address; every port you open in the Windows firewall is reachable from the internet.
Two plans fit:
| Plan | vCPU / RAM / disk | Price |
|---|---|---|
| Windows Small-IP | 4 / 4 GB / 50 GB | $28/mo |
| Windows Medium-IP | 6 / 6 GB / 60 GB | $36/mo |
Small-IP is the right call for one or two bots. Windows eats around 2 GB of RAM at idle, so 4 GB leaves about 2 GB for your software — enough for a terminal or a .NET bot, tight for a Chromium-based automation with many tabs. That's where Medium-IP earns its extra $8.
If nothing needs to reach your server and no one allowlists its address, the NAT Windows plans are cheaper (from $11/mo) and give you RDP on a personal port instead. Don't pay for an IP you don't need.
Licence
The image is Windows Server 2022 with bring-your-own-licence: you activate it with your own key after the first login, and again after a reinstall. Everything about the OS itself — editions, activation, updates — is on the Windows Server page. This page is about keeping a bot running.
Keep the bot alive
Most "my bot stopped overnight" stories on Windows come down to three things.
Signing out instead of disconnecting. Closing the RDP window disconnects the session and leaves your programs running. Choosing Sign out kills them. Get into the habit of closing the window.
Not starting at boot. Windows reboots — for updates, after a reinstall, after maintenance. Make the bot start with the machine. For a console program, a scheduled task triggered At startup and set to Run whether user is logged on or not does it:
$a = New-ScheduledTaskAction -Execute "C:\bots\mybot.exe" -WorkingDirectory "C:\bots"
$t = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask -TaskName "mybot" -Action $a -Trigger $t -User "SYSTEM" -RunLevel Highest
GUI programs that need a desktop are harder: they need a logged-in session. For those, enable auto-logon for a dedicated user and start the program from that user's Startup folder.
Updates at the wrong moment. Set Active hours in Windows Update to cover your bot's busiest period, so a restart doesn't land in the middle of it.
The IP side
Your IPv4 stays the same for the life of the server, including after reinstalls, which is exactly what allowlists need. Put it into your exchange's API key settings and you're done. If a partner needs a matching reverse DNS name, set it yourself in the dashboard. Need a second address for another bot or service? You can add one to the same server for $5 a month — see changing your IP address.
Two limitations to plan around. Windows plans have a 150 Mbit/s port, with no traffic quota — plenty for API bots, see traffic and network speed. And outbound mail ports 25 and 465 are closed by default on every plan, so a bot that sends email should go through a mail provider on port 587.
Paying and getting started
Sign up with an email, pay in USDC, USDT, BTC or other crypto, or buy crypto with a card at checkout. The server is usually ready within minutes of payment, and the Administrator password is shown once in the dashboard. If you ever lose it or lock yourself out with a firewall rule, resetting the password and using the web console gets you back in without a ticket. Connecting over RDP covers the first login, and if your bot trades, Windows VPS for crypto trading goes deeper on terminals and latency.
Comments
No comments yet. Be the first.