Skip to content

Cloudflare

An alchemy app on Cloudflare is one Worker runtime plus the resources it talks to — databases, object storage, queues, stateful objects — all declared in the same TypeScript program and wired together by typed bindings. Deploy the whole thing with bun alchemy deploy; Alchemy figures out what changed.

New here? Set up your account, then start the tutorial.

  • Workers — the compute runtime; every app has at least one.
  • Durable Objects — globally-unique stateful instances with transactional storage and typed RPC.
  • Containers — long-lived processes and arbitrary runtimes, paired with a Durable Object for typed RPC.
  • Workflows — durable multi-step jobs with checkpointed, replayable steps.
  • Vite — deploy any pure-Vite app (SPAs, TanStack Start, React Router, SolidStart) as a Worker with assets.
  • Static sites — any build command’s static output, including frameworks Vite doesn’t cover yet.
  • D1 — serverless SQLite with migrations managed as part of the deploy.
  • KV — edge key-value storage for config, sessions, and cached lookups.
  • R2 — object storage with read/write-scoped bindings.
  • Hyperdrive — edge connection pooling for external Postgres and MySQL.
  • Queues — at-least-once message delivery between Workers.
  • Domains & DNS — zones, DNS records, and zone settings as resources; adopt the domains you already own.
  • Email — route inbound mail on a zone you own and send from Workers.
  • Secrets & env — bind .env values and secrets into your Workers.
App shapeStack
HTTP APIWorker + D1 — see Effect HTTP API
Call one Worker from another (internal RPC)Worker — see Schemaless RPC and the concept
Typed API for external clientsEffect RPC for Effect clients, Effect HTTP API for plain HTTP
Real-time / WebSocketsDurable Objects — see Accept WebSockets
Full-stack appWorker + a React SPA — see Add a React SPA or Frontend frameworks
Background jobsQueues
Postgres-backed APIHyperdrive + Drizzle
Durable multi-step jobsWorkflows
AI appsAI Gateway, Effect AI, AI Search
App on your own domainDomains & DNS — see Custom domains & routes
Production observabilityShip Worker telemetry to Axiom

For frontends, alchemy is Workers-first: Pages resources exist, but static assets served from a Worker is the recommended path.

The blocks above are what most apps are built from, but coverage goes much further: the zero-trust and zone-security long tail — roughly 60 more services, produced by the resource factory — ships as reference-only documentation in the API reference.