Encore
Docs
Pricing
★12K+Sign inGet started
★12k+
Encore

Stay in touch

Product updates and engineering deep-dives.

DiscordGitHubYouTube

© 2026 Encore

Product
Encore PlatformEncore Platform
Encore.tsEncore.ts
Encore.goEncore.go
InstallInstall
PricingPricing
Systems Operational
Customers
Case StudiesCase Studies
ShowcaseShowcase
Book a DemoBook a Demo
Resources
DocsDocs
BlogBlog
Example AppsExample Apps
GuidesGuides
ComparisonsComparisons
ArticlesArticles
GitHub ReleasesGitHub Releases
Company
AboutAbout
Swag ShopSwag Shop
ContactContact
JobsJobs
PressPress
SecuritySecurity
Legal
TermsTerms
Privacy PolicyPrivacy Policy
Data Processing AgreementData Processing Agreement
Enterprise SLAEnterprise SLA

Event-driven backends,
without the plumbing

Building reliable event-driven systems usually means stitching together messaging infrastructure, retries, dead-letter handling, and observability across every environment. With Encore, you define the events and handlers in code, then run locally or deploy with the complete system automatically provisioned and traced.

Start buildingTalk to an engineer→
~/signup — claude
Claude Code
Claude Code v2.1.180Opus 4.8 · Encore MCP connected~/signup
Infra from codereading the code…
SQLDatabaseusers · postgres
Topicdeclared in code
Subscriptiondeclared in code
not running yet

Topics and subscriptions are just code

A topic is a typed variable. Publishing is a method call. A subscription declares its handler. There’s no broker to configure, no queue to create in a console, and no YAML to keep in sync.Event types are checked at compile time, so invalid messages are caught before they reach production.

Pub/Sub documentation→
user/signup.ts
import { Topic, Subscription } from "encore.dev/pubsub";

export interface SignupEvent {
  userID: string;
}

export const signups = new Topic<SignupEvent>("signups", {
  deliveryGuarantee: "at-least-once",
});

// Publish from anywhere in your app.
await signups.publish({ userID: id });

// Subscribe from any service.
new Subscription(signups, "send-welcome-email", {
  handler: async (event) => {
    await sendWelcome(event.userID);
  },
});

Run the whole event flow locally

Encore starts your app with working Pub/Sub infrastructure on your machine, so you can publish an event and watch it move through every subscription before you commit anything.No emulators to configure, no cloud queue to share with your team, and no mocks standing in for the thing you actually need to test.

  • ✓Real queues locally, not in-memory stubs
  • ✓Publish and consume across service boundaries
  • ✓Traces for every event on your machine
  • ✓The same code runs in production unchanged
Running locally
Topicsignups
Subscription3 handlers
SQLDatabasepostgres 16
Bucketobject storage

Started by Encore when you run your app.

Follow an event across every service

Async systems are hard to debug because the story is spread across services. Encore traces the publish, the delivery, and each subscription handler as one request, so a failure three hops downstream is still attached to the event that caused it.Retries and dead-letter events show up in the same view, with the payload and the error that put them there.

Tracing documentation→
trace_8f2c1a04b7POST /orders0msRecording
POST /orders
auth.Verify
SELECT users WHERE id = $1
orders.Create
INSERT INTO orders
SELECT inventory FOR UPDATE
cache.Set order:4821
publish orders.created
payments.Charge
POST api.stripe.com/charges
APIDBPUBSUBHTTPCACHE0 lines of instrumentation

Provisioned in your own cloud account

The same declarations become managed queues in your cloud: GCP Pub/Sub, or Amazon SNS and SQS. Encore provisions them with least-privilege IAM, so only the services that publish or subscribe can reach them.Everything runs in your account, under your billing and compliance boundary, with full console access to every resource.

  • ✓GCP Pub/Sub, or Amazon SNS and SQS
  • ✓Least-privilege IAM per service
  • ✓Per-subscription retry policy and DLQ
  • ✓No proprietary runtime to migrate off
your application code
AWS
RDSSNS + SQSS3Fargate
GCP
Cloud SQLPub/SubCloud StorageCloud Run

Same declarations, provider-native infrastructure on each side.

“What used to take days or weeks of back-and-forth between developers and infra teams is now automated and completed in minutes.”
Josef Sima, Engineering Director at Groupon→
2–3xfaster development speed
90%shorter time to market
// POWERING DEVELOPMENT AT
GrouponPave BankBookshop.orgCoinbasePalletGradient Labs

Start building event-driven

Install Encore, then use your AI agent to build, run, and deploy an event-driven app with real infrastructure in minutes.

Get started

Install the Encore CLI with `brew install encoredev/tap/encore`, then run `encore app create my-app` and follow the prompts to scaffold a new backend and help me explore how to build with encore.

Copy

Paste into your coding agent to install Encore and scaffold an app.