Skip to content
inetGeek

Upstash QStash vs Temporal

SEPT 2026 audit

A comparison of Upstash QStash and Temporal built from values read directly from each provider's own documentation, with the source recorded against every figure.

Updated 18 criteria comparedSources last checked

The short answer

Choose Upstash QStash if…

HTTP-first workloads that want scheduling and delay measured in months rather than a day, without running a consumer process.

Editorial · Palash Bagchi · approved

Choose Temporal if…

Long-running, stateful workflows where losing execution history is the failure that matters — Temporal keeps event history as first-class storage rather than logs that expire.

Editorial · Palash Bagchi · approved

Consider something else if…

  • Upstash QStash: The free plan is capped per day rather than per month, so a single burst can exhaust it while a monthly allowance elsewhere would absorb the same volume.
  • Temporal: Entry is $100 a month before any usage, and the unit is an Action, which does not map onto messages or task runs — budgeting requires modelling your workflows, not counting jobs.

5 sourced criteria separate them — see where, with sources, below.

No affiliate links, sponsored placements or paid rankings appear on this site. Ordering follows the sourced data and the stated criteria.

01.

At a glance.

CriterionUpstash QStashTemporal
Pricing
Free tierYesYes
Pricing modelPer message rather than per operation, metered against a daily ceiling on the free plan and priced at $1 per 100,000 on Pay as You Go, with monthly bandwidth caps alongside — 50 GB on the smaller plans, 1 TB and 5 TB above.Per Action, with storage billed separately and split between open and closed workflows. Plans buy SLA tier and support response rather than volume — Essentials is 99.9% with one business day P0 response, Business adds scale. An open-source self-hosted edition runs the same service on your own infrastructure.
Queues
Included per month1,000 messages a day on the free plan. Pay as You Go is $1 per 100,000 messages with no daily cap; fixed plans run $180 a month for 1M a day and $420 for 10M.1,000,000 Actions a month on Essentials and 2.5 million on Business. An Action is Temporal's own unit — a workflow operation — and is not comparable to a message, an operation or an execution elsewhere in this category.
Maximum message size
1 MB on the free plan, 10 MB on Pay as You Go and 50 MB on the fixed plans.
2 MB maximum payload per request (each Workflow/Activity argument or return value); 4 MB per Event History transaction, non-configurable.
Message retentionDead letter queue retention of 3 days on the free plan, 7 days on Pay as You Go, 30 days and 3 months on the fixed plans.Storage rather than a time window: 1 GB of active storage for open workflows and 40 GB retained for closed ones on Essentials, 2.5 GB active on Business. Temporal keeps workflow event history, so retention is bounded by bytes rather than by days — recorded without a magnitude because it is not the quantity this criterion ranks.
Maximum delay7 days on the free plan; 1 year on Pay as You Go and unlimited on the fixed plans.Timers (durable sleeps) may run up to 100 years in Temporal Cloud.

Only criteria both providers publish appear here; a tinted cell marks a real difference. Criteria only one of them documents are listed below, and an absence there means we found no source — not that the feature is missing. How we source this.

The small bar above a value is inetGeek's own lean toward that side — computed from the same facts shown, never a number the provider published. See the picker below "The short answer" to weigh only the criteria you care about.

02.

Where they differ.

Pricing model

Upstash QStash
Per message rather than per operation, metered against a daily ceiling on the free plan and priced at $1 per 100,000 on Pay as You Go, with monthly bandwidth caps alongside — 50 GB on the smaller plans, 1 TB and 5 TB above.
Temporal
Per Action, with storage billed separately and split between open and closed workflows. Plans buy SLA tier and support response rather than volume — Essentials is 99.9% with one business day P0 response, Business adds scale. An open-source self-hosted edition runs the same service on your own infrastructure.
Sources (2) →
  • QStash Pricing — Upstash ↗

    “$1 per 100K messages [...] Max Messages per Day 1,000 Unlimited 1 M 10 M 100M+ [...] Max Monthly Bandwidth 50 GB 50 GB 1 TB 5 TB Unlimited”

    Read 2026-09-06 · official pricing

  • Pricing — Temporal ↗

    “Cloud platform 99.9% SLA, 99.99% HA options [...] Essentials support with 1 business day P0 response time [...] Host It Yourself Open Source Temporal Self-Hosted [...] Temporal Service Temporal SDKs Temporal CLI Temporal UI Community Support”

    Read 2026-09-06 · official pricing

Included per month

Upstash QStash
1,000 messages a day on the free plan. Pay as You Go is $1 per 100,000 messages with no daily cap; fixed plans run $180 a month for 1M a day and $420 for 10M.
Temporal
1,000,000 Actions a month on Essentials and 2.5 million on Business. An Action is Temporal's own unit — a workflow operation — and is not comparable to a message, an operation or an execution elsewhere in this category.
Sources (2) →
  • QStash Pricing — Upstash ↗

    “Free $0 [...] Messages per Day 1,000 [...] Pay as You Go $1 per 100K messages [...] Messages per Day Unlimited [...] $180 / month [...] 1M [...] $420 [...] 10M”

    Read 2026-09-06 · official pricing

  • Pricing — Temporal ↗

    “Essentials Starting at $100/mo. [...] 1 M Actions 1 GB Active Storage 40 GB Retained Storage [...] Business [...] 2.5 M Actions 2.5 GB Active Storage”

    Read 2026-09-06 · official pricing

Maximum message size

Upstash QStash

1 MB on the free plan, 10 MB on Pay as You Go and 50 MB on the fixed plans.

Temporal

2 MB maximum payload per request (each Workflow/Activity argument or return value); 4 MB per Event History transaction, non-configurable.

Sources (2) →

Message retention

Upstash QStash
Dead letter queue retention of 3 days on the free plan, 7 days on Pay as You Go, 30 days and 3 months on the fixed plans.
Temporal
Storage rather than a time window: 1 GB of active storage for open workflows and 40 GB retained for closed ones on Essentials, 2.5 GB active on Business. Temporal keeps workflow event history, so retention is bounded by bytes rather than by days — recorded without a magnitude because it is not the quantity this criterion ranks.
Sources (2) →
  • QStash Pricing — Upstash ↗

    “Max DLQ Retention 3 days 7 days 30 days 3 months Custom”

    Read 2026-09-06 · official pricing

  • Pricing — Temporal ↗

    “EVENT HISTORY AND RETENTION Storage Temporal stores workflow event history as Active storage for open workflows and Retained Storage for closed workflows [...] 1 GB Active Storage 40 GB Retained Storage”

    Read 2026-09-06 · official pricing

Maximum delay

Upstash QStash
7 days on the free plan; 1 year on Pay as You Go and unlimited on the fixed plans.
Temporal
Timers (durable sleeps) may run up to 100 years in Temporal Cloud.
Sources (2) →

When these numbers change, hear about it. Sources are re-checked monthly; a repricing goes out as a short note.

Confirm by email; unsubscribe from any issue. Your address goes to Kit and nowhere else — what we do with it.

03.

Documented by only one.

These criteria are published by one provider and not the other. An absence here means we have not found a source, not that the feature is missing.

Entry paid planTemporal: $100/month for Essentials, including 1 million Actions, 1 GB active storage and 40 GB retained storage. Business starts at $500/month with 2.5 million Actions.
Startup credit programTemporal: Temporal Cloud startup credits: $6,000, for funded startups that have raised $30M or less.
RegionsTemporal: 20 regions for Temporal Cloud Namespaces: 14 AWS regions and 6 Google Cloud regions, each with a PrivateLink or Private Service Connect endpoint.
ConcurrencyTemporal: 500 Actions per second per Namespace by default, auto-scaling above that with On-Demand Capacity; 20,000 Activity and 20,000 Workflow Task pollers per Namespace.
Dead letter queueUpstash QStash: Supported
SOC 2Temporal: SOC 2 Type II certified; trust center lists SOC 2 Type 2, GDPR, HIPAA and CCPA badges.
HIPAATemporal: Temporal Cloud is stated to be compliant with HIPAA regulations; HIPAA listed among trust-center certifications.
GDPR / data residencyTemporal: GDPR compliant with a DPA reflecting GDPR; Namespaces do not share data processing or storage across regional boundaries.
Encryption at restTemporal: Persistence layer and Elasticsearch index encrypted at rest with AES-256-GCM; TLS 1.3 in transit.
Customer-managed keysTemporal: Client-side Data Converter encrypts payloads with your keys on your Workers before they reach Temporal Cloud, which cannot decrypt them; no server-side KMS option stated.
Role-based access controlTemporal: Account-level roles (administrator, developer, read-only) plus Namespace-level permissions; custom roles, SAML and SCIM documented.
Private networking / VPCTemporal: AWS PrivateLink or GCP Private Service Connect to Namespaces, alongside the default public endpoints.
04.

Questions this comparison answers.

Should I choose Upstash QStash or Temporal?

Pick Upstash QStash if HTTP-first workloads that want scheduling and delay measured in months rather than a day, without running a consumer process.

Pick Temporal if Long-running, stateful workflows where losing execution history is the failure that matters — Temporal keeps event history as first-class storage rather than logs that expire.

Provider pages

Related comparisons

Every page here is sourced and dated.