Vultr DocsLatest Content


How to Provision Vultr VX1™ Cloud Compute Instances

Updated on 21 November, 2025

Provision a high-performance Vultr VX1™ Cloud Compute instance using the Customer Portal or API, with flexible boot options including local NVMe and Block Storage.


Vultr VX1™ Cloud Compute delivers industry-leading price-performance with dedicated CPU resources. VX1™ supports booting from high-performance Vultr Block Storage and can also leverage local NVMe for high-speed scratch storage.

Follow this guide to provision a Vultr VX1™ Cloud Compute instance using the Vultr Customer Portal or Vultr API.

Note
VX1™ is currently available in New Jersey (ewr) with expansion regions coming soon.
  • Vultr Customer Portal
  • Vultr API
  1. Navigate to Products and click Compute.

  2. Click Deploy.

  3. Choose Dedicated CPU, then select VX1.

  4. Select New Jersey (ewr) for the location. Additional regions will be available soon.

  5. Choose a plan:

    • General Purpose (vx1-g-*): These plans provide a balanced combination of vCPUs and memory, making them suitable for most workloads, including web servers, application servers, development environments, container workloads, and moderate database deployments. Choose General Purpose if you need strong overall performance without memory-intensive requirements.

    • Memory Optimized (vx1-m-*): Memory Optimized plans provide a higher memory-to-vCPU ratio and are ideal for workloads that require large in-memory datasets, such as in-memory caching engines, analytics workloads, JVM applications, high-memory web services, and large relational or NoSQL databases. Choose Memory Optimized if your application benefits from substantial RAM capacity.

  6. Configure storage:

    • To boot from local NVMe, select a plan with the -###s suffix (for example, vx1-g-4c-16g-240s). On the next page, under the Boot Disk Settings and select either Local NVMe option.

    • To boot from Block Storage, select any plan with or without local NVMe (for example, vx1-g-4c-16g or vx1-g-4c-16g-240s). On the next page, under Boot Disk Settings and select Bootable Block Volume. If your plan does not include local NVMe, Bootable Block Volume becomes the default boot option.

  7. Select the Operating System for your VX1™ instance.

  8. Select SSH Keys and Firewall Groups under Server Settings.

  9. Enter the Server Hostname and Server Label.

  10. Configure optional features as needed:

    • Public IPv6: Assigns an IPv6 address to the instance.
    • DDoS Protection: Adds protection to maintain performance and availability during Distributed Denial of Service attacks.
    • VPC Network: Attach the instance to an existing VPC in the region. If none exists, Vultr automatically creates a default VPC.
    • Limited User Login: Creates a limited user (linuxuser) instead of the root user. This account has sudo access.
    • Cloud-Init User-Data: Provides advanced configuration using Cloud-Init user-data.
  11. Review the Deploy Summary and click Deploy Now.

Use the examples below as a reference for deploying VX1™ instances using API.

Boot from Local NVMe

In this section, you create a VX1™ instance that boots directly from the high-performance local NVMe device included with -###s plans. You can rely on the default boot configuration or explicitly specify the local NVMe disk as the bootable device, depending on your deployment requirements.

Option A — Basic Local Boot (Default Local NVMe)

Send a POST request to the Create Instance endpoint to create a VX1™ instance using local NVMe as the default boot device.

console
$ curl "https://api.vultr.com/v2/instances" \
    -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${VULTR_API_KEY}" \
    --data '{
        "region": "ewr",
        "plan": "vx1-g-4c-16g-240s",
        "label": "VX1 Local Disk Only",
        "hostname": "vx1-localonly-1",
        "os_id": 2284
    }'

Option B — Explicit Local Boot Configuration

Send a POST request to the Create Instance endpoint to explicitly configure the local NVMe device (block_id: "local") as the boot drive.

console
$ curl "https://api.vultr.com/v2/instances" \
    -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${VULTR_API_KEY}" \
    --data '{
        "region": "ewr",
        "plan": "vx1-g-4c-16g-240s",
        "label": "VX1 Local Disk Only - Bootable",
        "hostname": "vx1-localonly-2",
        "os_id": 2284,
        "block_devices": [
        {
            "block_id": "local",
            "bootable": true
        }
        ]
    }'
Important
Select a plan with the -###s suffix (for example, vx1-g-4c-16g-240s) to include local NVMe storage.

Boot from Block Storage

In this section, you create a VX1™ instance that boots from a high-performance block storage volume. You can either provision a bootable block device first and attach it to a new instance or create a VX1™ instance that includes a newly provisioned bootable block volume during deployment.

Option A - Create a Bootable Block Volume and VX1™ Instance

  1. Send a POST request to the Create Block Storage endpoint to create a bootable block device.

    console
    $ curl "https://api.vultr.com/v2/blocks" \
        -X POST \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer ${VULTR_API_KEY}" \
        --data '{
            "region": "ewr",
            "size_gb": 50,
            "label": "Bootable Block",
            "block_type": "high_perf",
            "os_id": 2284,
            "bootable": true
        }'
    
  2. Send a POST request to the Create Instance endpoint to create the VX1™ instance using the previously created bootable block volume.

    console
    $ curl "https://api.vultr.com/v2/instances" \
        -X POST \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer ${VULTR_API_KEY}" \
        --data '{
            "region": "ewr",
            "plan": "vx1-g-4c-16g",
            "label": "vx1-blockonly-existing-boot-block-1",
            "hostname": "vx1-blockonly-existing-boot-block-1",
            "os_id": 2284,
            "block_devices": [
            {
                "block_id": "BLOCK_UUID",
                "bootable": true
            }
            ]
        }'
    

    Replace BLOCK_UUID with the UUID of your bootable block.

Option B — Create a VX1™ Instance with a New Bootable Block

Send a POST request to the Create Instance endpoint to create the VX1™ instance and provision a new bootable block device at the same time.

console
$ curl "https://api.vultr.com/v2/instances" \
    -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${VULTR_API_KEY}" \
    --data '{
        "region": "ewr",
        "plan": "vx1-g-4c-16g",
        "label": "vx1-blockonly-new-boot-block-1",
        "hostname": "vx1-blockonly-new-boot-block-1",
        "os_id": 2284,
        "block_devices": [
        {
            "disk_size": 50,
            "label": "New Bootable Block",
            "bootable": true
        }
        ]
    }'

Replace BLOCK_UUID with the UUID of your bootable block device.

Boot from Local NVMe and Block Storage

In this section, you deploy a VX1™ instance that boots from a block storage device while also attaching the high-performance local NVMe disk for additional data storage. You can create a new bootable block volume during deployment or boot from an existing bootable block device.

Option A — New Bootable Block + Local Storage

Send a POST request to the Create Instance endpoint to create a VX1™ instance that boots from a new bootable block device and includes local NVMe for additional data storage.

console
$ curl "https://api.vultr.com/v2/instances" \
    -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${VULTR_API_KEY}" \
    --data '{
        "region": "ewr",
        "plan": "vx1-g-4c-16g-240s",
        "label": "vx1-new-boot-block-plus-local-1",
        "hostname": "vx1-new-boot-block-plus-local-1",
        "os_id": 2284,
        "block_devices": [
        {
            "disk_size": 50,
            "label": "New Bootable Block",
            "bootable": true
        },
        {
            "block_id": "local"
        }
    ]
    }'

Option B — Existing Bootable Block + Local Storage

Send a POST request to the Create Instance endpoint to create a VX1™ instance that boots from an existing bootable block device and includes local NVMe.

console
$ curl "https://api.vultr.com/v2/instances" \
    -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${VULTR_API_KEY}" \
    --data '{
        "region": "ewr",
        "plan": "vx1-g-4c-16g-240s",
        "label": "vx1-existing-boot-block-plus-local-1",
        "hostname": "vx1-existing-boot-block-plus-local-1",
        "os_id": 2284,
        "block_devices": [
        {
            "block_id": "local"
        },
        {
            "block_id": "BLOCK_UUID",
            "bootable": true
        }
    ]
    }'

Replace BLOCK_UUID with the UUID of your bootable block device.

Note
After deployment, format and mount the local NVMe disk inside your operating system if you plan to use it for data storage.

Additional Notes

  • Automated Backups are currently disabled for VX1™ instances.
  • Windows operating systems are not available for VX1™ instances.
  • When creating bootable block devices, you must set block_type to high_perf.

Comments