---
title: Pricing and Limits
product: workflows
url: /docs/workflow/pricing
type: reference
prerequisites:
  - /docs/workflow
related:
  - /docs/pricing
  - /docs/functions/usage-and-pricing
  - /docs/fluid-compute
  - /docs/functions/limitations
  - /docs/queues/pricing
summary: Learn about pricing and limits on Vercel.
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---

# Workflow Pricing and Limits

Workflow pricing is divided into two resources:

- **Workflow Steps**: Individual units of durable work executed inside a workflow, with built-in retries and failure recovery.
- **Workflow Storage**: The amount of data stored in the managed persistence layer for workflow state and event logs.

All resources are billed based on usage with each plan having an [included allotment](/docs/pricing).

| Resource | Hobby Included | On-demand Rates |
| --- | --- | --- |
| Workflow Steps | First 50,000 Steps | $2.50 per 100,000 Steps |
| Workflow Storage | First 720 GB-Hours | $0.00069 per GB-Hour |


Functions invoked by Workflows continue to be charged at the [existing compute
rates](/docs/functions/usage-and-pricing). We encourage you to use [Fluid compute](/docs/fluid-compute) with Workflow.

## Storage retention

Storage for managed persistence is retained based on your team plan:

| Plan       | Retention after run completion |
| ---------- | ------------------------------ |
| Hobby      | 1 day                          |
| Pro        | 7 days                         |
| Enterprise | 30 days                        |

Storage retention is not configurable by default. You can request a custom retention period by contacting support.

## Workflow run limits

The following limits apply to all Workflow runs.

| Limit                                   | Value                                                      | Details                                                                                                                                                                                                              |
| --------------------------------------- | ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Events per run                          | 25,000 limit                                               |                                                                                                                                                         |
| Steps per run                           | 10,000                                                     |                                                                                                                                                         |
| Event creations per run per second      | 200                                                        |                                                                                                                                                          |
| Hook creations per second               | 200                                                        |                                                                                                                                                          |
| Max payload size                        | 50 MB                                                      |                                                  |
| Maximum total entity storage per run    | 2 GB                                                       |                                                                                      |
| Max workflow replay duration            | 240s                                                       |  |
| Maximum run duration                    | No limit                                                   |                                                                                                                                                                                                                      |
| Maximum `sleep` duration                | No limit                                                   |                                                                                                                                                                                                                      |
| Max runtime of individual step          | see [Vercel Functions limits](/docs/functions/limitations) |                                                                                                                                                                                                                      |
| Max stream storage size                 | Unlimited                                                  |                                                                                                                                                                                                                      |
| Max stream chunk size                   | 10 MB                                                      |                                                                                                                                                                                                                      |
| Max stream chunks per second per stream | 1,000                                                      |                                                                                                                                                                                                                      |
| Hook token size                         | 255 bytes                                                  |                                                                                                                                                                                                                      |
| Workflow name                           | 255 bytes                                                  |                                                                                                                              |
| Step name                               | 255 bytes                                                  |                                                                                                                                  |

> **💡 Note:** Runs that exceed 2,000 events or 1 GB of total entity storage have slower replay times. To maintain high performance, we recommend [creating child workflows](https://useworkflow.dev/docs/foundations/starting-workflows) to break long-running workflows into smaller pieces.

### Vercel platform limits

| Limit                     | Value                                                               | Details                                                                                                                                       |
| ------------------------- | ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Concurrency               | 30,000+, see [Vercel Functions limits](/docs/functions/limitations) |                                                                                                                                               |
| Queued runs               | No limit, see [Vercel Queues limits](/docs/queues/pricing#limits)   |                                                                                                                                               |
| Schedules/cron            | No limit                                                            |                                                                                                                                               |
| Projects                  | Unlimited                                                           |                                                                                                                                               |
| Real-time connections     | No limit                                                            |                                                                                                                                               |
| Observability retention   | See [Observability](/docs/observability)                            |  |
| Compute resources         | See [Vercel Functions limits](/docs/functions/limitations)          |                                                                                                                                               |
| Maximum total bundle size | 250MB, see [Vercel Functions limits](/docs/functions/limitations)   |                                                                                                                                               |

### Rate limits

Every event creation, stream write, and run or event read counts as a request. For any request made from your deployment, exceeding the rate limit will automatically re-try with backoff. This means hitting the rate limit will not cause your workflow to fail, but it will slow down the rate at which your workflow runs.

| Plan       | Requests per minute |
| ---------- | ------------------- |
| Hobby      | 10,000              |
| Pro        | 200,000             |
| Enterprise | 1,000,000           |


---

[View full sitemap](/docs/sitemap)
