Skip to content

Polecat

Open source · Critter Stack

Polecat

Event store and document database on SQL Server 2025

The Critter Stack programming model for teams that run SQL Server.

Polecat brings Marten's decade of event sourcing lessons to SQL Server 2025. Write models, projections, the Wolverine aggregate handler workflow, and the integration tests all look the same as they do on PostgreSQL, so a team that must stay on SQL Server gets a first-class event store rather than a port.

It is built on SQL Server 2025's native JSON support with an append path designed around how SQL Server actually locks and indexes, and CritterWatch monitors it alongside your Marten and Wolverine services.

What Polecat Gives You

Same API as Marten

Streams, projections, snapshots, and write models with the same attributes and the same Wolverine integration.

Designed for SQL Server 2025

Native JSON columns, QuickAppend as the one append mode, and application locks for coordination.

Document database

Store, query, and patch documents on SQL Server with the same LINQ provider style as Marten.

Projections and the async daemon

Inline and asynchronous projections with the same rebuild and recovery story.

Multi-tenancy

Conjoined and database-per-tenant models for SQL Server shops.

Store-agnostic code

Write handlers once against the shared abstractions and run them on Polecat, Marten, or Fisher.

Start Here

New to Polecat? These 4 posts are the ones to read first, in order.

  1. 1Event Sourcing on SQL Server with PolecatIf your shop runs on SQL Server and you've been eyeing Event Sourcing, Polecat is the most full featured event store you can get for SQL Server in .NET. It's built on the same shared infrastructure and a decade of production lessons from Marten, it has a first class Wolverine integration for CQRS, CritterWatch can monitor it, and JasperFx Software supports it. Here's the tour.
  2. 2Polecat: A SQL Server-Native Event Store and Document DatabasePolecat is an event store and lightweight document database for .NET, backed by SQL Server 2025. It brings the proven Marten development model — same IDocumentStore API, projections, and async daemon — to SQL Server shops without a database migration.
  3. 3Event Sourcing Without the Eventual Consistency Tax: Strong Consistency Options in Marten and PolecatMost event sourcing stacks make eventual consistency mandatory: events in one database, read models in another, and a subscription in between. Marten and Polecat keep events and read models in one database, which unlocks a dial no one else offers — projections snapshotted in the same transaction as the events, FetchLatest reads that are accurate even with async projections, wait-for-non-stale queries, and test automation that makes asynchronous projections actually testable.
  4. 4Change Documents Without Loading Them: The Patching API in Marten, Polecat, and FisherThe Critter Stack's Patching API lets you modify persisted JSON documents in place -- no deserialize, mutate, re-serialize round trip. Here's the shared API across Marten, Polecat, and Fisher, what each database does underneath, and where the three genuinely differ.

Latest on Polecat

28 posts from the JasperFx blog cover Polecat. Here are the most recent.

Critter Stack AI Skills 1.18: Caught Up With CritterWatch 1.2Critter Stack AI Skills 1.18: Caught Up With CritterWatch 1.2AI Skills 1.18 brings every CritterWatch skill up to the 1.2 MCP tools, checked tool by tool against the source: a new sagas skill, the get_command_outcome tool, dead letters ranged by failure time, event queries over bodies and metadata, and six corrections to advice that had gone wrong, including the Prometheus series names every Grafana example used.CritterWatch 1.2: See Inside Your Event Store, Documents, Sagas and SchedulesCritterWatch 1.2: See Inside Your Event Store, Documents, Sagas and SchedulesCritterWatch 1.2 turns the console into a real explorer for what your Critter Stack services hold: an overview of every event store, a Step Through tab for projections, a Document Store Explorer that checks your documents still deserialize, saga instances with their state and pending timeouts, a Schedule Explorer that tells you what a schedule is actually doing, and an Event Model you can drill into.Critter Stack in Review: October 12th to 30thCritter Stack in Review: October 12th to 30thThree weeks, 72 tagged releases, and 57 pull requests from 18 people outside JasperFx. The big themes were not losing messages, with a durable inbox and outbox hardening pass that closed a dozen community-reported ways a message could go missing; performance, from SQL Server index seeks to a thread pool thread the run command was quietly eating; shutting down cleanly; an async daemon that heals itself; and multi-tenancy at a scale we'd never tested before. Plus Marten's hard stream delete, Aspire parity in Wolverine, NServiceBus XML interop, and the upgrade notes you should read first.Failure Groups: Handle a Dead Letter Incident as One ThingFailure Groups: Handle a Dead Letter Incident as One ThingCritterWatch 1.1 groups dead letters by the failure that caused them, across every service and database, and lets you replay, archive, restore or discard the whole group as one tracked operation with a reason attached. Your AI agent gets the same loop over MCP, and still has to show you the preview before it deletes anything.CritterWatch 1.1, Bobcat 1.0, AI Skills 1.17, and a First Look at StoatCritterWatch 1.1, Bobcat 1.0, AI Skills 1.17, and a First Look at StoatOne release wave, four products: CritterWatch 1.1 with 83 MCP tools, cron schedules, a Document Explorer and a long list of scalability fixes earned on real systems; Bobcat 1.0, the successor to Storyteller and our answer for spec-driven development; AI Skills 1.17; and the first public preview of Stoat.Critter Stack AI Skills 1.17: One Month of Releases, Checked Against the SourceCritter Stack AI Skills 1.17: One Month of Releases, Checked Against the SourceAI Skills 1.17 is the result of a review of everything Wolverine, Marten, CritterWatch, Bobcat and Stoat shipped in the last month, checked against the product source rather than the changelogs. Thirty-six skill changes, seven of them correcting advice that had quietly gone wrong, and the CritterWatch 1.1 paired updates that were waiting in 1.16.

Get help with Polecat

JasperFx builds and maintains Polecat. A support plan gives your team direct access to us; consulting and workshops get a project moving.

The Rest of the Stack