# Hatchet vs Upstash QStash

Canonical: https://inetgeek.com/compare/hatchet-vs-qstash/

Every value below is read from Hatchet's and Upstash QStash's own documentation. See https://inetgeek.com/methodology/ for how.

## At a glance

| Criterion | Hatchet | Upstash QStash |
| --- | --- | --- |
| Free tier | Yes | Yes |
| Pricing model | Usage-first: every plan is "free + usage" or "$N/mo + usage" at $10 per million task runs, with the plan fee buying users, tenants, retention and throughput rather than volume. Self-hosting is offered with support on the enterprise tier. | 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. |
| Included per month | 100,000 task runs included free, then $10 per million. The cleanest per-unit rate in this category — Hatchet counts task runs where Cloudflare counts 64 KB operations and Inngest counts steps. | 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. |
| Message retention | 3 days on the Team plan, stated alongside a 500 requests-per-second throughput ceiling. | 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. |

## Where they differ

### Pricing model

- Hatchet: Usage-first: every plan is "free + usage" or "$N/mo + usage" at $10 per million task runs, with the plan fee buying users, tenants, retention and throughput rather than volume. Self-hosting is offered with support on the enterprise tier. ([source](https://hatchet.run/pricing))
- 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. ([source](https://upstash.com/pricing/qstash))

### Included per month

- Hatchet: 100,000 task runs included free, then $10 per million. The cleanest per-unit rate in this category — Hatchet counts task runs where Cloudflare counts 64 KB operations and Inngest counts steps. ([source](https://hatchet.run/pricing))
- 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. ([source](https://upstash.com/pricing/qstash))

### Message retention

- Hatchet: 3 days on the Team plan, stated alongside a 500 requests-per-second throughput ceiling. ([source](https://hatchet.run/pricing))
- 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. ([source](https://upstash.com/pricing/qstash))

## Which should you choose?

Pick Hatchet if Task workloads that want a countable unit — 100,000 runs free and $10 per million is the least ambiguous pricing in this category.

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

Consider something else: Hatchet — The jump from free to the first paid tier is $500 a month, which buys retention and throughput rather than volume, so a small production workload pays a lot for features it may not need.

Consider something else: 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.

## Documented by only one

- Entry paid plan: Hatchet: $500/month for Team, which adds users, tenants, retention and throughput on top of usage. Scale is $1,000/month.
- Regions: Hatchet: 3 live AWS regions (Oregon, N. Virginia, Ireland) plus Sydney in private beta; control plane in aws-us-west-2.
- 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.
- Maximum delay: Upstash QStash: 7 days on the free plan; 1 year on Pay as You Go and unlimited on the fixed plans.
- Concurrency: Hatchet: 500 requests per second of throughput on Team; higher tiers are not published as a number.
- Dead letter queue: Upstash QStash: Supported
- SOC 2: Hatchet: SOC 2 Type II compliant; reports available through the Hatchet Trust Center.
- HIPAA: Hatchet: HIPAA compliant per the security docs; the Scale plan ($1,000/mo) lists audit logs and HIPAA.
- GDPR / data residency: Hatchet: GDPR compliant per the security docs; EU data plane available in aws-eu-west-1 (Ireland).
- Encryption at rest: Hatchet: Data stored in Hatchet Cloud is encrypted at rest; API and worker traffic encrypted with TLS in transit.
- Role-based access control: Hatchet: Hierarchical tenant roles OWNER, ADMIN, MEMBER, VIEWER plus organization roles; payload visibility can be restricted per member.
- Dedicated infrastructure: Hatchet: Bring-your-own-cloud and self-host support on the Enterprise plan (contact sales).

## Questions this comparison answers

**Should I choose Hatchet or Upstash QStash?**

Pick Hatchet if Task workloads that want a countable unit — 100,000 runs free and $10 per million is the least ambiguous pricing in this category.
Pick Upstash QStash if HTTP-first workloads that want scheduling and delay measured in months rather than a day, without running a consumer process.
