- Home
- Migrate from Sequin
Migrating from Sequin? Waltail is hosted Postgres CDC, still running.
Same category of tool: logical-replication change data capture from your Postgres to operational sinks — queues, streams, search indexes and webhooks — hosted, with no Kafka, JVM or ZooKeeper to operate.
What happened to Sequin
Notion acquired the Sequin team in August 2025, and Sequin Cloud shut down on October 23, 2025 — hosted databases were deleted and subscriptions cancelled, per Sequin's own shutdown notice. The MIT-licensed open-source project remains available, with development scaled down to maintenance mode. Sequin was a good tool; this page is for people who relied on the hosted service and need a maintained replacement for it.
Sequin concepts, mapped
The model will feel familiar. Here is where each Sequin concept lands in Waltail:
| Sequin | Waltail |
|---|---|
| Logical replication CDC on your Postgres | Same — replication slot, WAL-based capture |
| Sinks (Kafka, SQS, Redis, webhooks, …) | Sinks — same word, same idea |
| Sequin Stream (HTTP pull + ack) | Native pull stream (HTTP GET + acknowledge) |
| Backfills (full and partial) | Backfills, with a volume estimate and confirmation before they run |
| Filters and transforms | Table selection and filters at capture; transforms at delivery |
| Exactly-once processing via idempotency keys | At-least-once delivery with an idempotency key in every payload |
| Strict ordering by primary key | Per-row ordering key: same row in order, different rows in parallel |
| sequin.yaml config-as-code | YAML pipeline config, exportable at any time (including on cancellation) |
| Web console | Web console with delivery status, backlog, and replay |
Available sinks
Everything a Sequin pipeline could deliver to is here, plus a few Sequin never had. All sink types are on every plan, the free one included.
- Webhooks — any HTTPS endpoint
- Apache Kafka — any Kafka-protocol broker
- Amazon SQS — standard and FIFO queues
- Amazon SNS — fan-out to many subscribers
- Amazon EventBridge — rules, targets, event buses
- Amazon Kinesis — Data Streams, partitioned by row
- Amazon S3 — NDJSON objects, dated prefixes
- Redis Streams — XADD, consumer groups
- Redis cache — SET on change, DEL on delete
- Google Pub/Sub — native ordering keys
- Elasticsearch — bulk upsert and delete
- OpenSearch — bulk upsert and delete
- Typesense — upsert import, id from the primary key
- Meilisearch — documents API, id from the primary key
- NATS JetStream — Nats-Msg-Id dedupe
- RabbitMQ — exchanges, confirms
- Azure Event Hubs — Kafka endpoint, connection string
- Azure Service Bus — sessions, duplicate detection
- Cloudflare Queues — Workers consumers
- Snowflake — Snowpipe Streaming rows
Migration steps
-
Sign up and connect your Postgres source
Free tier, no card. Paste a connection string and press Test — the console checks
wal_levelandreplica_identityfor you. See the connection guide for RDS, Supabase, Neon, Cloud SQL, Azure and self-managed servers. -
Create a pipeline
Pick the tables you were streaming with Sequin and add your sinks.
-
Waltail creates its own replication slot
Your Sequin slot is untouched until you are ready. Both can exist on the same database side by side.
-
Verify delivery on the new pipeline
Payloads carry an idempotency key, so double-delivery during the cutover window is safe for idempotent consumers.
-
Drop the old Sequin replication slot
So WAL stops accumulating on your database. Check what is there first, then drop the slot Sequin was using:
-- Find the old slot and confirm it is no longer active. SELECT slot_name, active, restart_lsn FROM pg_replication_slots; SELECT pg_drop_replication_slot('slot_name');
Payload shapes differ from Sequin's — the fields are the same idea (op,
data, old, idempotency key), but the envelope is not
byte-for-byte identical, so consumers may need small adjustments. See the
message format reference.
Pricing
Egress is the only meter: the gigabytes delivered to your sinks. Capture, sinks, pipelines, tables and seats are free and unlimited on every plan, and the free tier includes all sink types. The surviving alternatives in this category mostly price for data teams — entry plans in the hundreds of dollars, per-connector fees, warehouse-first destinations. See pricing for the model-by-model comparison.
| Plan | Price | Included egress |
|---|---|---|
| Free | $0 | 1 GB / month, no credit card |
| Pro | $29 / month | 100 GB / month, then $0.50 / GB |
| Scale | $199 / month | 800 GB / month, then $0.50 / GB |
Questions a Sequin user actually has
Sequin was open source. Waltail is not. Why should I trust it?
That concern is fair, and it cannot be argued away — only reduced. Your pipeline configuration exports as YAML at any time, including on cancellation, so what you built is never trapped. Row data is not retained beyond your plan's replay window. The message format is documented, so consumers are portable. Annual plans lock the price for the term, and the enterprise tier deploys on-premise in your own infrastructure. Deleting a pipeline drops the replication slot and publication Waltail created on your database, so nothing is left behind.
Can I keep self-hosting the Sequin open-source project?
Yes. The repository is MIT-licensed and still available, and if self-hosting fits your team, that is a perfectly reasonable path. Waltail is for people who specifically wanted the hosted service — the part that shut down — with someone else on call for the replication slot.
Is delivery exactly-once?
At-least-once, with a unique idempotency key in every payload for consumer-side deduplication. That is the same practical guarantee Sequin gave: exactly-once processing built on idempotency keys, not an exactly-once network.
What about my Sequin backfill and replay history?
It is gone — Sequin Cloud data was deleted at shutdown, and nothing can import it. A
Waltail backfill instead reads the current rows of your
tables from your database and delivers them through your sinks as read
events, rebuilding downstream state from the source of truth.