Short answer
Hatchet is the closest in spirit: Postgres-backed durable tasks, MIT-licensed, with a strong dashboard and four SDK languages. Orch8 differs with JSON-defined sequences, workers in any language over plain HTTP, richer declarative scheduling, and on-device mobile execution.
Side by side
| Dimension | Orch8 | Hatchet |
|---|---|---|
| License | BUSL-1.1, source-available. Production use is allowed except offering it as a competing hosted or embedded product. Each version becomes Apache-2.0 four years after publication. | MIT (hatchet-dev/hatchet) |
| Self-hosting | One Rust server binary plus PostgreSQL (SQLite for development, embedded, and mobile use) | API server, engine (gRPC), PostgreSQL, and dashboard; RabbitMQ optional. Hatchet Lite ships as a single Docker image |
| Authoring | Versioned JSON sequences; code-first builders in the TypeScript, Python, and Go SDKs | Tasks and workflows defined as code |
| Languages | Any language, over REST long-polling (a gRPC worker session is also available) | SDKs for Python, TypeScript, Go, and Ruby |
| Recovery model | State snapshots and checkpoints. A restart continues from the last committed boundary. Orchestration is JSON data, so there is no workflow code to replay deterministically. | Durable tasks checkpoint to a durable event log and replay from the last checkpoint after a crash |
| Cron / schedules | Yes: cron and relative schedules, timezones, business calendars, jitter, send windows | Yes, cron runs |
| On-device mobile | Yes. The same engine runs natively on iOS and Android through UniFFI with local SQLite, offline-first | Not documented |
| Managed cloud | Orch8 Cloud: Starter $49/month, Pro $199/month, execution allowances per plan | Billed per task run: 1M runs/month included with a card, then $30 per million |
"Not documented" means we found no support in the official documentation on the date checked, not that it is impossible.
Similar foundations, different authoring
Both engines are built around PostgreSQL and treat durable execution as a step up from a plain queue. Hatchet defines tasks and workflows in code through its SDKs and offers durable tasks that checkpoint into an event log. Its dashboard for monitoring and debugging is a real strength.
Orch8 moves the workflow definition into versioned JSON and keeps business code in workers that talk plain HTTP, so a worker needs no Orch8 SDK at all. Scheduling concerns such as business calendars, send windows, and weighted resource pools are declared in the sequence.
When to choose Hatchet instead
- You want an MIT-licensed engine.
- You prefer defining workflows in Python, TypeScript, Go, or Ruby code instead of JSON.
- You want a mature built-in dashboard, or a simple managed per-run price.
When Orch8 fits better
- Workers must be SDK-free HTTP services in any language.
- You need declarative calendar-aware scheduling, send windows, and resource pools in the workflow definition.
- Workflows must run offline on mobile devices.
Migrating from Hatchet
The engine migration guide does not have a Hatchet section yet. Follow its common path: map tasks to step handlers, workflows to sequences, and crons to Orch8 cron, then run preflight, contract tests, and a canary.
Orch8 does not emulate another runtime. Migration means translating to a versioned sequence plus external workers, replaying without side effects, then running a canary.
Read the migration guide ↗Sources
Last checked September 2026. Competitor facts come from official documentation, pricing pages, and repository license files. Prices and features change, so verify against the linked page before deciding. Corrections: hello@orch8.io.
- Hatchet LICENSE (MIT) ↗
- Hatchet self-hosting ↗
- Hatchet documentation ↗
- Hatchet durable execution ↗
- Hatchet cron runs ↗
- Hatchet pricing ↗
- Orch8 engine README ↗
- Orch8 LICENSE (BUSL-1.1) ↗
- Orch8 migration guides ↗
Disclosure: Orch8 publishes this comparison and is one of the products discussed. There are no affiliate links on this page.