EU VPS floor (2 vCPU / 4 GB)
Not covered yet: Contabo. Contabo: blocks automated access. Methodology
The EU VPS floor (2 vCPU / 4 GB) is EUR 4.49 per month on 2026-10-27 (n=8 providers), set by vps/ovhcloud/vps-2027-model1. Definition: The lowest monthly list price, in EUR excluding VAT, for a VPS with at least 2 vCPU and at least 4 GB RAM, sold in an EU datacentre, across the providers whose price APIs we read.
Computed from the SKU state at the end of each UTC day (latest value: 2026-10-27; today's value is recomputed until the day ends). The constituents of the latest value are listed below; each shows when it was verified and links to its source.
Change over this window: 0.0% from 2026-10-19 to 2026-10-27 (like for like, on the constituents both days share).
Dashed lines with a diamond mark days on which the set of constituents (n) changed; a jump on such a day can be coverage, not a price move.
Download this chart: SVG · PNG · CSV · JSON
Constituents of the latest value
| SKU | EUR per month | Detail | Last verified | Source |
|---|---|---|---|---|
| vps/ovhcloud/vps-2027-model1 | 4.49 | 2026-10-26 23:10 UTC | source (first-party) | |
| vps/netcup/vps-500 | 7.98 | 2026-10-27 01:27 UTC | source (first-party) | |
| vps/scaleway/dev1-m | 14.74 | 2026-10-26 23:10 UTC | source (first-party) | |
| vps/vultr/vc2-2c-4gb | 17.94 | 2026-10-26 23:10 UTC | source (first-party) | |
| vps/hetzner/cpx22 | 19.99 | 2026-10-27 12:45 UTC | source (first-party) | |
| vps/transip/v3 | 20.00 | 2026-10-27 01:27 UTC | source (first-party) | |
| vps/linode/g6-standard-2 | 21.52 | 2026-10-26 23:25 UTC | source (first-party) | |
| vps/azure/standard_b2ls_v2 | 31.43 | 2026-10-27 13:31 UTC | source (first-party) |
Details of the latest value
- Region
- eu
- VCPU min
- 2
- RAM GB min
- 4
- Min coverage
- 3
- SKU ID
- vps/ovhcloud/vps-2027-model1
- Provider
- ovhcloud
- stale constituents left out
- 0
- coverage changed
- no
All fields (raw JSON)
{
"chain": {
"broken": false,
"change_pct": 0.0,
"index": 100.0,
"matched": 8,
"prev_day": "2026-10-26",
"ratio": 1.0
},
"constituents": {
"azure|vps/azure/standard_a2_v2": 56.370404,
"azure|vps/azure/standard_b2as_v2": 56.566816,
"azure|vps/azure/standard_b2ls_v2": 31.426009,
"azure|vps/azure/standard_b2s": 31.426009,
"azure|vps/azure/standard_b2s_v2": 62.852018,
"azure|vps/azure/standard_d2as_v5": 68.089686,
"azure|vps/azure/standard_d2ls_v5": 63.506726,
"azure|vps/azure/standard_d2s_v3": 78.565022,
"azure|vps/azure/standard_d2s_v5": 75.29148,
"azure|vps/azure/standard_f2s_v2": 63.506726,
"hetzner|vps/hetzner/ccx13": 43.49,
"hetzner|vps/hetzner/ccx23": 86.49,
"hetzner|vps/hetzner/ccx33": 138.99,
"hetzner|vps/hetzner/ccx43": 276.49,
"hetzner|vps/hetzner/ccx53": 533.99,
"hetzner|vps/hetzner/ccx63": 853.99,
"hetzner|vps/hetzner/cpx22": 19.99,
"hetzner|vps/hetzner/cpx32": 35.99,
"hetzner|vps/hetzner/cpx42": 69.99,
"hetzner|vps/hetzner/cpx52": 100.99,
"hetzner|vps/hetzner/cpx62": 130.49,
"linode|vps/linode/g6-dedicated-2": 32.286996,
"linode|vps/linode/g6-dedicated-4": 64.573991,
"linode|vps/linode/g6-dedicated-8": 129.147982,
"linode|vps/linode/g6-standard-2": 21.524664,
"linode|vps/linode/g6-standard-4": 43.049327,
"linode|vps/linode/g6-standard-6": 86.098655,
"linode|vps/linode/g7-dedicated-4-2": 38.565022,
"linode|vps/linode/g7-dedicated-8-4": 77.130045,
"linode|vps/linode/g7-highmem-1": 53.811659,
"linode|vps/linode/g7-highmem-2": 107.623318,
"linode|vps/linode/g7-premium-2": 38.565022,
"linode|vps/linode/g7-premium-4": 77.130045,
"netcup|vps/netcup/vps-1000": 14.016807,
"netcup|vps/netcup/vps-2000": 26.016807,
"netcup|vps/netcup/vps-4000": 43.831933,
"netcup|vps/netcup/vps-500": 7.983193,
"netcup|vps/netcup/vps-8000": 64.840336,
"ovhcloud|vps/ovhcloud-publiccloud/b2-7": 51.757,
"ovhcloud|vps/ovhcloud-publiccloud/b3-8": 37.376,
"ovhcloud|vps/ovhcloud-publiccloud/c2-7": 74.314,
"ovhcloud|vps/ovhcloud-publiccloud/c3-4": 33.361,
"ovhcloud|vps/ovhcloud-publiccloud/c3-8": 66.649,
"ovhcloud|vps/ovhcloud-publiccloud/d2-4": 15.038,
"ovhcloud|vps/ovhcloud-publiccloud/d2-8": 27.156,
"ovhcloud|vps/ovhcloud-publiccloud/r3-16": 48.399,
"ovhcloud|vps/ovhcloud/vps-2027-model1": 4.49,
"ovhcloud|vps/ovhcloud/vps-2027-model2": 8.49,
"ovhcloud|vps/ovhcloud/vps-2027-model3": 12.24,
"ovhcloud|vps/ovhcloud/vps-2027-model4": 23.49,
"scaleway|vps/scaleway/basic2-a2c-4g": 16.79,
"scaleway|vps/scaleway/basic2-a2c-4g-nl-ams-1": 16.79,
"scaleway|vps/scaleway/basic2-a2c-8g": 25.185,
"scaleway|vps/scaleway/basic2-a2c-8g-nl-ams-1": 25.185,
"scaleway|vps/scaleway/basic3-x2c-4g": 28.79777,
"scaleway|vps/scaleway/basic3-x2c-4g-nl-ams-1": 28.79777,
"scaleway|vps/scaleway/dev1-m": 14.74308,
"scaleway|vps/scaleway/dev1-m-nl-ams-1": 14.74308,
"scaleway|vps/scaleway/dev1-m-pl-waw-1": 14.74308,
"scaleway|vps/scaleway/play2-nano": 20.1042,
"scaleway|vps/scaleway/play2-nano-nl-ams-1": 20.1042,
"scaleway|vps/scaleway/play2-nano-pl-waw-1": 20.1042,
"transip|vps/transip/v3": 20.0,
"transip|vps/transip/v4": 50.0,
"transip|vps/transip/v5": 100.0,
"vultr|vps/vultr/vc2-2c-4gb": 17.93722,
"vultr|vps/vultr/vc2-4c-8gb": 35.874439,
"vultr|vps/vultr/vhf-2c-4gb": 21.524664,
"vultr|vps/vultr/vhf-3c-8gb": 43.049327,
"vultr|vps/vultr/vhp-2c-4gb-amd": 21.524664,
"vultr|vps/vultr/vhp-2c-4gb-intel": 21.524664,
"vultr|vps/vultr/vhp-4c-8gb-amd": 43.049327,
"vultr|vps/vultr/vhp-4c-8gb-intel": 43.049327,
"vultr|vps/vultr/voc-c-2c-4gb-50s-amd": 35.874439,
"vultr|vps/vultr/voc-c-2c-4gb-75s-amd": 40.358744,
"vultr|vps/vultr/vx1-g-2c-8g": 39.282511,
"vultr|vps/vultr/vx1-g-2c-8g-120s": 49.757848
},
"converted_hourly": [
"vps/azure/standard_b2ls_v2"
],
"not_listed": {
"catalog_only": {
"n": 177,
"providers": {
"azure": 124,
"hetzner": 8,
"ovhcloud": 38,
"vultr": 5,
"vultr-metal": 2
}
},
"vanished": {
"n": 1,
"providers": {
"vultr": 1
}
}
},
"skipped": {
"commitment_unknown": 0,
"no_fx": 0,
"non_list": 1709,
"unmapped_spec": 1752,
"vat_included": 0
},
"unmapped": [
"vps/azure/standard_a1_v2",
"vps/azure/standard_a2m_v2",
"vps/azure/standard_a4_v2",
"vps/azure/standard_a4m_v2",
"vps/azure/standard_a8_v2",
"vps/azure/standard_a8m_v2",
"vps/azure/standard_b12ms",
"vps/azure/standard_b16als_v2",
"vps/azure/standard_b16as_v2",
"vps/azure/standard_b16ls_v2",
"vps/azure/standard_b16ms",
"vps/azure/standard_b16pls_v2",
"vps/azure/standard_b16ps_v2",
"vps/azure/standard_b16s_v2",
"vps/azure/standard_b1ls",
"vps/azure/standard_b1ms",
"vps/azure/standard_b1s",
"vps/azure/standard_b20ms",
"vps/azure/standard_b2als_v2",
"vps/azure/standard_b2ats_v2",
"vps/azure/standard_b2ms",
"vps/azure/standard_b2pls_v2",
"vps/azure/standard_b2ps_v2",
"vps/azure/standard_b2pts_v2",
"vps/azure/standard_b2ts_v2",
"vps/azure/standard_b32als_v2",
"vps/azure/standard_b32as_v2",
"vps/azure/standard_b32ls_v2",
"vps/azure/standard_b32s_v2",
"vps/azure/standard_b4als_v2",
"vps/azure/standard_b4as_v2",
"vps/azure/standard_b4ls_v2",
"vps/azure/standard_b4ms",
"vps/azure/standard_b4pls_v2",
"vps/azure/standard_b4ps_v2",
"vps/azure/standard_b4s_v2",
"vps/azure/standard_b8als_v2",
"vps/azure/standard_b8as_v2",
"vps/azure/standard_b8ls_v2",
"vps/azure/standard_b8ms",
"vps/azure/standard_b8pls_v2",
"vps/azure/standard_b8ps_v2",
"vps/azure/standard_b8s_v2",
"vps/azure/standard_d1",
"vps/azure/standard_d11",
"vps/azure/standard_d11_v2",
"vps/azure/standard_d12",
"vps/azure/standard_d128ads_v7",
"vps/azure/standard_d128alds_v7",
"vps/azure/standard_d128als_v7"
],
"vat_converted": [
"vps/netcup/vps-500"
]
}Definition
The lowest monthly list price, in EUR excluding VAT, for a VPS with at least 2 vCPU and at least 4 GB RAM, sold in an EU datacentre, across the providers whose price APIs we read.
Inclusion rule
category vps; deployable in the EU (sku.eu); vCPU >= 2 and RAM >= 4 GB; no GPU, not bare metal; price > 0 and excluding VAT. Per provider the cheapest qualifying plan is its value (ovhcloud-publiccloud counts as ovhcloud); the series is the minimum of provider values. Hourly-priced plans (Azure westeurope Linux) are converted hourly x 730. USD prices convert to EUR at the ECB rate stored for that day (rate and its date are in the metadata). Shared/dedicated and ARM/x86 both count. All series are excluding VAT: SKUs flagged vat_included are skipped.
When it cannot be computed: Not computed: that day shows no number and states the reason; the last full value stays shown with its date. A source whose last confirmed snapshot is older than 3x its cadence (6h sources 18 h, 12h sources 36 h, 1d sources 72 h) drops out; below minimum coverage the series is not computed and says 'not verified: <source> stale since <date>'.
Minimum coverage: 3 providers. Below that the series is not computed and says so instead of showing a number.
Sources feeding it
vultr, linode, scaleway-instances, ovh-catalog-vps, azure-retail-vm-westeurope, ovhcloud-publiccloud, hetzner-cloud-regular-performance, hetzner-cloud-general-purpose, hetzner-cloud-cost-optimized
Deliberately excluded
- hetzner-cloud (overview page: only 'from' prices; the three product-page sources are used instead)
- digitalocean-droplets
- netcup-vps
- contabo-vps (blocked from our IP: shown as a gap)
- any plan not deployable in the EU
What can break it
- a provider renames or retires a plan (the floor jumps; the SKU delisting is the cause)
- a spec map goes stale (OVH planCode -> vCPU/RAM)
- a USD-priced provider sets the floor and the FX rate moves it
- Hetzner joins and lowers the floor (a dated basis change, not a market move)
- regional prices differ inside one provider (Linode, Scaleway zones)
- Linode EU availability is inferred from the base price, not stated by its API
Daily values, last 90 days
Days with a value since 2026-10-19 (days without one are left out of the data files): CSV · JSON.
| Day (UTC) | Value | n | Floor SKU / note |
|---|---|---|---|
| 2026-10-27 | 4.49 | 8 | vps/ovhcloud/vps-2027-model1 |
| 2026-10-26 | 4.49 | 8 | vps/ovhcloud/vps-2027-model1 n changed n 7 → 8; joined: hetzner |
| 2026-10-25 | 4.49 | 7 | vps/ovhcloud/vps-2027-model1 |
| 2026-10-24 | 4.49 | 7 | vps/ovhcloud/vps-2027-model1 |
| 2026-10-23 | 4.49 | 7 | vps/ovhcloud/vps-2027-model1 |
| 2026-10-22 | 4.49 | 7 | vps/ovhcloud/vps-2027-model1 |
| 2026-10-21 | 4.49 | 7 | vps/ovhcloud/vps-2027-model1 |
| 2026-10-20 | 4.49 | 7 | vps/ovhcloud/vps-2027-model1 n changed n 5 → 7; joined: netcup, transip |
| 2026-10-19 | 4.49 | 5 | vps/ovhcloud/vps-2027-model1 |
Cite this
Free to reuse under CC BY 4.0 with this credit. The numbers are list prices, not transacted prices.
InfraRabbit (2026). EU VPS floor (2 vCPU / 4 GB) [data as of 2026-10-27]. https://infrarabbit.com/prices/index/eu-vps-floor-2c4g (accessed 2026-10-27). List prices, not transacted prices. CC BY 4.0.
BibTeX
@misc{infrarabbit_index_eu_vps_floor_2c4g_2026,
author = {InfraRabbit},
title = {EU VPS floor (2 vCPU / 4 GB)},
year = {2026},
howpublished = {\url{https://infrarabbit.com/prices/index/eu-vps-floor-2c4g}},
note = {Data as of 2026-10-27; accessed 2026-10-27; list prices, not transacted prices; CC BY 4.0}
}