Day 256 of the year: Programmers' Day. 10% off every month for as long as you keep your server. code DAY256. Claim 10% Programmers' Day: 10%: DAY256 Claim 10%
Skip to content
Switching provider

Switching VPS provider without losing a weekend.

First month $1, then the normal monthly price. One per customer.

Same Linux, same Docker, a different bill. Every plan comes with one IPv4, a /64 IPv6 block, unlimited traffic, NVMe RAID10 and full root, in Amsterdam or New York at the same price. Below is the checklist we use when we move a server, and a plan that keeps the old box alive until the new one has proven itself.

Included
IPv4 + /64in every plan
Traffic
Unlimitedno bandwidth bill
Setup fee
Nonecancel monthly
Provisioning
30-60 safter payment
Plan
S-4 for a typical single server
2 vCPU, 4 GB, 60 GB NVMe. Resize in place later, data and IP stay.
Region
Amsterdam or New York
Identical prices. Pick the one closest to your users.
OS
Ubuntu 24.04 or Debian 13
Or the same release you run today, so configs carry over.
Tools
rsync, restic, docker compose
Nothing provider-specific. Database dumps for anything that writes.
Cut-over
Lower DNS TTL a day ahead
One final sync, switch records, keep the old server for a week.
Safety net
30-day performance guarantee
Full refund within 30 days of activation on your first order.

Transparent pricing

Plans and prices

Monthly price, no setup fee
Day 256 of the year: Programmers' Day. 10% off every month for as long as you keep your server.DAY256Start a VPS with this code
1:2 to 1:4Shared vCPU on EPYC Milan, capped at one to four shares per node, with the node headroom left unsold.
PlanvCPUMemoryNVMeTrafficMonthly1 year
Standard
S-2Standard1vCPU2 GBMemory30 GBNVMe RAID10UnlimitedTraffic$7.99/moFirst month $1$7.19/mo on 1 yearStart for $1
S-4Standard2vCPU4 GBMemory60 GBNVMe RAID10UnlimitedTraffic$13.99/moFirst month $1$12.59/mo on 1 yearStart for $1
S-8Standard3vCPU8 GBMemory120 GBNVMe RAID10UnlimitedTraffic$24.99/moFirst month $1$22.49/mo on 1 yearStart for $1
S-16Standard4vCPU16 GBMemory240 GBNVMe RAID10UnlimitedTraffic$44.99/moFirst month $1$40.49/mo on 1 yearStart for $1
S-32Standard8vCPU32 GBMemory480 GBNVMe RAID10UnlimitedTraffic$84.99/moFirst month $1$76.49/mo on 1 yearStart for $1
S-64Standard16vCPU64 GBMemory720 GBNVMe RAID10UnlimitedTraffic$159.99/moFirst month $1$143.99/mo on 1 yearStart for $1
Dedicated CPU
D-4Dedicated1vCPU4 GBMemory45 GBNVMe RAID10UnlimitedTraffic$37.00/moFirst month $1$31.45/mo on 1 yearStart for $1
D-8Dedicated4vCPU8 GBMemory90 GBNVMe RAID10UnlimitedTraffic$69.00/moFirst month $1$58.65/mo on 1 yearStart for $1
D-16Dedicated4vCPU16 GBMemory160 GBNVMe RAID10UnlimitedTraffic$118.00/moFirst month $1$100.30/mo on 1 yearStart for $1
D-32Dedicated6vCPU32 GBMemory220 GBNVMe RAID10UnlimitedTraffic$215.00/mo$182.75/mo on 1 yearDeploy D-32
D-64Dedicated10vCPU64 GBMemory400 GBNVMe RAID10UnlimitedTraffic$377.00/mo$320.45/mo on 1 yearDeploy D-64
High Memory
H-64High Memory8vCPU64 GBMemory480 GBNVMe RAID10UnlimitedTraffic$249.00/mo$211.65/mo on 1 yearDeploy H-64
H-128High Memory16vCPU128 GBMemory960 GBNVMe RAID10UnlimitedTraffic$459.00/mo$390.15/mo on 1 yearDeploy H-128
H-192High Memory24vCPU192 GBMemory1.4 TBNVMe RAID10UnlimitedTraffic$669.00/mo$568.65/mo on 1 yearDeploy H-192
Prices in USD. Code DAY256 gives 10% off every month for as long as you keep your server, on monthly and yearly terms.

What to compare before you move a server.

The headline price is the easy part. These four things decide what a server costs over a year and how it behaves under load.

What is in the plan price

Ask what the monthly figure includes. Ours includes one IPv4 address, a /64 IPv6 block, unlimited traffic and NVMe RAID10 storage, with no setup fee. An extra IPv4 is an add-on at €5.00 a month ($5.00) plus a $10 setup.

What happens at renewal

We bill monthly and the price does not change at renewal. You can cancel at any time and the billing ends at the end of the cycle. If you prefer to pay ahead, annual billing takes 10% off Standard plans and 15% off Dedicated and High Memory; two-year billing takes 15% and 20%. Details are on the billing page.

What the hardware actually does

Do not compare vCPU counts, compare measurements. We publish 5-run medians on the benchmarks page: Geekbench 6 multi-core 6,414, fio 4K random read 122,959 IOPS, pgbench 7,364 TPS. Run the same tools on your current server first.

What it costs to be in the US

Amsterdam and New York cost the same, so a customer in Boston or Toronto gets 5-15 ms latency at the same monthly price as one in Frankfurt or London. See both locations for measured latencies.

Which plan replaces which server.

Match on RAM and disk first. CPU is easy to add later.

What you run today Plan Why
A single site, a bot, a WireGuard node, Uptime Kuma S-2 Enough for one service. The 30 GB disk is the limit to watch.
A typical 2 vCPU, 4 GB cloud instance S-4 Same shape, 60 GB NVMe, room for Docker and a small database.
A Docker host with several apps, or builds on the same box S-8 120 GB disk covers images, volumes and CI caches.
A database or game server that needs steady CPU D-4 or D-8 Cores pinned 1:1 to physical EPYC Genoa cores, no noisy neighbours.
Memory-heavy stacks, several databases, a k3s node S-16 or S-32 16 GB or 32 GB with 240 GB or 480 GB NVMe.

The Standard line runs shared vCPU at a 1:4 ratio on EPYC Milan with DDR4 ECC memory: S-2 (1 vCPU, 2 GB, 30 GB NVMe) at €6.99 a month ($7.99), S-4 (2 vCPU, 4 GB, 60 GB) at €11.99 ($13.99), S-8 (3 vCPU, 8 GB, 120 GB) at €21.99 ($24.99). The Dedicated line starts at D-4 (1 vCPU, 4 GB, 45 GB) for €34.00 a month ($37.00). Every node keeps unsold headroom by design; we do not oversell.

One honest limit: disk is the first thing people run out of on S-2 and S-4, so check df -h on the old server before you pick. If you need more space than the plan holds, the +100 GB NVMe add-on at €11.00 a month on Standard is cheaper than a bigger plan. If the first pick is wrong, resize in place: RAM and vCPU change with one short reboot, data and IP stay.

A migration plan that does not depend on luck.

Step 1: Inventory the old server

Most failed migrations fail on the thing nobody wrote down. Spend twenty minutes listing what runs, what listens on which port, and what cron does at night.

ss -tulpn
systemctl list-units --type=service --state=running
docker ps --format '{{.Names}}  {{.Image}}  {{.Ports}}'
crontab -l; ls /etc/cron.d
df -h; du -sh /srv /var/lib/docker /home 2>/dev/null

Note every environment file, certificate, SSH key, firewall rule and DNS record, and which services hold state (databases, uploads, queues).

Step 2: Order the new server and harden it

Pick the OS release you run today, so packages and config paths match. The VPS is online 30-60 seconds after payment. Add your SSH key via cloud-init, then do the basics.

apt update && apt upgrade -y
apt install -y ufw rsync restic
ufw allow OpenSSH && ufw allow 80,443/tcp && ufw enable
curl -fsSL https://get.docker.com | sh

Step 3: Move the files with rsync or restic

For a first pass while the old server is still live, rsync is the simplest tool. Preserve ownership, ACLs and extended attributes, and use numeric IDs so users that do not exist yet on the new host map correctly.

rsync -aHAX --numeric-ids --info=progress2 -e ssh \
  root@OLD_IP:/srv/ /srv/
rsync -aHAX --numeric-ids -e ssh root@OLD_IP:/etc/nginx/ /etc/nginx/
rsync -aHAX --numeric-ids -e ssh root@OLD_IP:/etc/letsencrypt/ /etc/letsencrypt/

If you already back up with restic, restoring the latest snapshot on the new server is a clean alternative and proves the backups work.

export RESTIC_REPOSITORY=sftp:backup@BACKUP_HOST:/repo
restic snapshots
restic restore latest --target / --include /srv --include /etc/nginx

Step 4: Move databases with dumps, not file copies

Never rsync a running database directory. Dump on the old host, import on the new one.

# old server
pg_dumpall -U postgres | gzip > /root/pg-all.sql.gz
mysqldump --all-databases --single-transaction | gzip > /root/mysql-all.sql.gz
# new server
zcat pg-all.sql.gz | psql -U postgres
zcat mysql-all.sql.gz | mysql

For Docker stacks, copy the compose files and named volumes, then start them and check that every container is healthy before you touch DNS.

cd /srv/app && docker compose pull && docker compose up -d
docker compose ps
docker compose logs --tail=50

Step 5: Lower the DNS TTL, do a final sync, cut over

A day before the switch, lower the TTL on the records you will change to 300 seconds. On the day: stop the writing services on the old box, rsync once more with --delete, import the final database dump, start everything on the new server, then point the A and AAAA records at the new IPv4 and IPv6.

rsync -aHAX --numeric-ids --delete -e ssh root@OLD_IP:/srv/ /srv/
dig +short example.com A

Test with the new IP in your hosts file first, so the first public request is not your first test.

Step 6: Keep the old server for a week

Do not cancel on cut-over day. Leave the old server running, read-only if possible, for seven days and watch the logs on the new box for a path, cron job or environment variable you missed. When the week is quiet, cancel the old one.

Coming from Hetzner Cloud, DigitalOcean or Contabo.

The steps above are the same whatever you are leaving. A few practical differences are worth knowing before you order.

IPv4 is part of the plan

Every BuyVPS server ships with one public IPv4 and a /64 IPv6 block, both in the plan price. You do not choose between an IPv6-only server and a surcharge. More IPv4 is a €5.00 add-on per address.

Monthly billing, no contract

We bill per month, not per hour, and there is no minimum term. Cancel any time and the service ends at the end of the cycle. For a short experiment, the first month for €1 covers exactly that: try it, cancel if it does not fit.

No US location fee

Amsterdam and New York cost the same. A team that serves both continents runs one server in each region on the same plan. Inter-region latency is 75-90 ms, fine for replication and backups.

The same tools work

Cloud-init runs at first boot, there is a REST API, a VNC console for when SSH is down, nested virtualisation and custom ISO upload. Our KVM page lists what the hypervisor exposes.

Pitfalls we see, and how to avoid them.

Forgetting the things outside /srv

Cron jobs, systemd units, firewall rules, environment files in home directories, certificates and the SSH keys of deploy bots. Grep the old server for its own IP address too; it hides in config files.

Cutting over with a long TTL

If the TTL is still 86400 when you switch, some users hit the old server for a day. Lower it a day before, not an hour before, because resolvers cache the old TTL too.

Copying a live database with rsync

It looks like it worked until the first write. Use a dump, or stop the database for the final copy. For Docker, stop the container before copying the volume.

Cancelling the old server on day one

The week of overlap costs one extra monthly fee and saves the migration that would otherwise go wrong at 23:00 on a Friday.

Pick the region closest to your users.

From Amsterdam we measure 9.0 ms to London and 8.5 ms to Frankfurt. From New York, Boston is 5-8 ms and Washington DC 7-12 ms. Same plans, same prices, both regions.

Amsterdam, for Europe
New York, for North America
See all locations

Questions about switching VPS provider.

Can I keep my current IP address when I move?

No. IP addresses belong to the network they are announced from, so your new server gets a new IPv4 and a /64 IPv6 block from us. Lower the DNS TTL a day ahead so the switch is quick.

Is IPv4 really included, or is it a surcharge?

One IPv4 address is included in every plan, together with a /64 IPv6 block. Only additional IPv4 addresses are an add-on, at €5.00 a month plus a $10 setup per address.

Do you charge for traffic or bandwidth?

No. Traffic is unlimited on every plan and there is no bandwidth bill. Our measured iperf3 throughput in Amsterdam is 9.40 Gbit/s send and 17.1 Gbit/s receive.

Can I test performance before I migrate anything?

Yes. The first month costs €1 including VAT on S-2 through S-64 and on D-4, D-8 and D-16, once per customer, paid by card or iDEAL. Run your own benchmarks on it before you move any data.

What if the new server does not perform as expected?

Your first order is covered by a 30-day performance guarantee: a full refund within 30 days of activation, no administrative fee, once per customer. That is the safety net for the migration itself.

Can I move to a bigger or smaller plan later?

Yes. RAM and vCPU are resized in place, usually with one short reboot, and your data and IP stay. You can do this from the panel or through the REST API.

Ready to deploy

Deploy a measured VPS

From $6.79/mo on a 2-year term. KVM on AMD EPYC, NVMe RAID10, ECC memory. No setup fee, cancel monthly.

30-day performance guarantee. Not satisfied? Full refund, no admin fee. How it works