---
title: MicroVM Checkpoints (public)
description: Checkpoints capture a MicroVM&#39;s memory and disk so you can create new MicroVMs that start from that state.
product: Microvms
url: https://docs.digitalocean.com/products/microvms/concepts/checkpoints/
last_updated: "2026-10-09"
---

> **For AI agents:** The documentation index is at [https://docs.digitalocean.com/llms.txt](https://docs.digitalocean.com/llms.txt). Markdown versions of pages use the same URL with `index.html.md` in place of the HTML page (for example, append `index.html.md` to the directory path instead of opening the HTML document).

# MicroVM Checkpoints (public)

DigitalOcean MicroVMs are lightweight virtual machines that run a container image in an isolated kernel, pause automatically when idle, and resume on the next request with memory, files, and processes intact.

A DigitalOcean MicroVM checkpoint is a copy of a MicroVM’s memory and disk. Use a checkpoint to skip repeated setup: create a checkpoint after a MicroVM loads its dependencies, then create new MicroVMs from that checkpoint, already warmed up. A MicroVM created from a checkpoint usually returns from the create request already `running`.

## How Checkpoints Work

Creating a checkpoint does not change the MicroVM’s state. A running MicroVM stays running, and a paused MicroVM stays paused. The capture runs in the background, and the checkpoint is ready to use when its status is `CHECKPOINT_AVAILABLE`.

Checkpoints are independent of the MicroVM they come from. Deleting a MicroVM does not delete its checkpoints. They remain until you delete them.

Checkpoints stay in the region where you created them.

## Settings a New MicroVM Inherits

A MicroVM created from a checkpoint inherits the following settings from the MicroVM the checkpoint came from:

- **Region and size**: A create request with a different region or size is rejected.
- **Environment variables**: A create request that sets `environment` is rejected.
- **Container image**: The new MicroVM runs the same image.
- **HTTP port and protocol**: These are inherited unless you set them in the create request.

The following settings are not inherited. Set them in the create request, or they use their defaults:

- **Networking**: Defaults to public.
- **Auto-resume**: Defaults to on.
- **Idle timeout**: Defaults to 5 minutes.
- **Tags**: Defaults to none.

## Checkpoint Statuses

A checkpoint has one of the following statuses:

| Status | Meaning |
|---|---|
| `CHECKPOINT_CREATING` | The checkpoint is being captured. You cannot delete it yet. |
| `CHECKPOINT_AVAILABLE` | The checkpoint is ready. You can create MicroVMs from it. |
| `CHECKPOINT_FAILED` | The capture failed. |
| `CHECKPOINT_DELETING` | The checkpoint is being deleted. |
| `CHECKPOINT_DELETED` | The checkpoint is deleted. |

## Checkpoint Storage Billing

Checkpoints are billed as storage at the same rate as MicroVM disk storage, based on the stored size of their memory and disk. There is no separate fee for creating a checkpoint. For rates, see [MicroVMs Pricing](https://docs.digitalocean.com/products/microvms/details/pricing/index.html.md).

For instructions, see [How to Checkpoint a MicroVM](https://docs.digitalocean.com/products/microvms/how-to/checkpoint/index.html.md).