> ## Documentation Index
> Fetch the complete documentation index at: https://upstash-worktree-docs-descriptions.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Pricing

> Understand Upstash Workflow's pay-as-you-go pricing, based on QStash messages per workflow run, and how each step contributes to cost.

Upstash Workflow is based on QStash and uses a "pay-as-you-go" pricing model. You only incur costs when your app receives traffic, meaning there's no charge when it's not in use. Click [here](https://upstash.com/pricing/workflow) to view the pricing.

A workflow run consists of several QStash messages, with the total cost determined by the number of messages used.

You can track your current message usage and associated costs in the [Overview tab of the console](https://console.upstash.com/qstash?tab=details).

<Frame>
  <img src="https://mintcdn.com/upstash-worktree-docs-descriptions/lLYd6ZaG7R_lJHL1/img/qstash/message_cost.png?fit=max&auto=format&n=lLYd6ZaG7R_lJHL1&q=85&s=8abd1e2782b2dc5aa4c9ef256b9a78b6" width="1962" height="956" data-path="img/qstash/message_cost.png" />
</Frame>

For detailed pricing information based on different plans, visit our [Workflow pricing page](https://upstash.com/pricing/workflow).

### Message Usage per Workflow Run

* [context.run](/workflow/basics/context#context-run), [context.sleep](/workflow/basics/context#context-sleep), [context.sleepUntil](/workflow/basics/context#context-sleepuntil), or [context.waitForEvent](/workflow/basics/context#context-waitforevent) commands generate a single message.
* The [context.call](/workflow/basics/context#context-call) command generates two messages.
* Each step in a [parallel run](/workflow/howto/parallel-runs) costs 1 extra message.
* If the workflow endpoint or URL in [context.call](/workflow/basics/context#context-call) returns an error or is unreachable, the workflow SDK will retry the call (up to 3 times by default). Each retry counts as a new message.
