Hyperswitch high availability

Hyperswitch high availability depends on redundant router and scheduler replicas, a PostgreSQL primary and replica, and resilient Redis, planned and tested as one system. This page covers the decisions, build order, effort and verification.

On this page

Why Hyperswitch high availability is harder than adding replicas

High availability for Hyperswitch means that payment authorization keeps working when a node or an availability zone fails, without manual intervention and without losing payments in flight. Running more copies of the Router is only one part of that. The platform is made of several services that fail in different ways, and a deployment is available only when each dependency can fail over without taking the others down with it. The Helm chart that deploys these services does not, by itself, show that any of this works in your environment. The architecture has two application services: the Router, which handles the payment request path, and the Scheduler, which runs in Producer and Consumer roles. The Router and Scheduler are stateless from the application's point of view, but they depend on PostgreSQL, which runs with a primary and a replica, and on Redis, which serves caching and the scheduler queue. These dependencies do not share a failure pattern. A Router pod can be rescheduled in seconds, while a PostgreSQL primary failover involves promotion, connection re-routing and possibly in-flight transaction errors. A Redis outage can degrade caching or stall queued scheduler work, which is a different symptom from a database outage and needs its own alert and runbook. The card vault is a separate Rust service in its own repository, and the architecture docs describe it as built for PCI DSS requirements. That separation changes the availability design. The vault has its own data store, its own network boundary and its own scaling and recovery needs, so it should be planned as a distinct workload rather than as one more replica set. Confirm with your PCI assessor and platform team where the vault runs, which network paths reach it, and whether an outage in the vault blocks tokenized payments or only new card storage. Before you call the design highly available, run failure tests in your own cluster. Drain a node, cordon an availability zone, fail over the PostgreSQL primary, stop Redis and kill Scheduler Consumers during a load test, and record what happens to authorizations, retries and queued work. Decide in advance what your recovery time objective and recovery point objective are for each component, and who approves a manual failover when automation does not fire. The gap between a successful Helm install and a verified failover is where most availability problems are found.

Which Hyperswitch components need redundancy and why

Hyperswitch is split into a router app, a scheduler, a database, a cache and queue, a card vault and an encryption service, and each one fails differently. Loss of one component can stop authorizations outright, delay background work such as retries, or block card reads, so each needs a deliberate replica and failover plan.

Router app service

The router is the Rust core that handles payment API calls, routing, retries and vaulting. If every router replica is lost, new payment requests fail at the front door and merchants see errors at checkout. Run multiple replicas across nodes and zones, and confirm in the Helm values the replica count, pod anti-affinity or topology spread settings, and readiness probes that keep traffic away from unhealthy pods.

Scheduler producer and consumer

The scheduler runs asynchronous work, such as retries and scheduled tasks, through a producer that enqueues jobs and consumers that process them. If the producer is down, new jobs are not created; if consumers are down, queued jobs wait, so payments may be delayed rather than rejected. Confirm with the vendor which jobs are time-sensitive, whether jobs are idempotent on replay, and how many consumer replicas the Helm chart deploys by default.

PostgreSQL primary and replica

PostgreSQL holds payment, merchant and configuration state, and the router writes to the primary during authorization. Losing the primary blocks writes until a promotion completes, and a replica only protects reads and recovery unless failover is automated and tested. Confirm the failover tool, replication mode, recovery point objective and which database connection settings the Helm values expose for the primary and replica endpoints.

Redis for cache and scheduler queue

Redis serves two roles: caching configuration and session data, and holding the scheduler queue. Losing a cache node usually costs latency and load on PostgreSQL, but losing the queue can drop or stall scheduled jobs if they are not persisted. Ask the vendor whether queued jobs survive a Redis restart, whether a managed or clustered Redis is supported, and which Helm values set the Redis host, persistence and TLS options.

Card vault as a separate service

The card vault is a separate Rust service in its own repository, built for PCI DSS requirements, and it stores card data. If it is unavailable, tokenization and card-based payments that need stored card data fail, and the vault is where the PCI scope is concentrated. Plan its replicas and network placement separately from the router, and confirm with the vendor which vault endpoints and database it depends on, and which Helm values control its deployment.

Encryption service for key management

The encryption service manages the keys that protect stored card data and other sensitive values. If it cannot reach its key store, the vault cannot decrypt data, so card reads and some payment flows stop even when the router and database are healthy. Confirm how the service is deployed and replicated, where keys are held and backed up, how key access is restricted, and how the Helm values reference its endpoint and secrets.

Which high availability topology fits your payment traffic

This table compares four ways to place Hyperswitch router, scheduler, PostgreSQL, Redis and card vault components. Read each row for the failure it protects against, the operational work it adds for your team, and the data placement decision you must settle first. Most payment teams should confirm data residency and vault placement before choosing a topology.

TopologyWhen it fitsOperational costData placement decision
Single cluster, one zoneEarly deployments or lower failure tolerance, where node loss is the main risk to manage.Lowest infrastructure overhead. Node failures are covered, but a zone outage stops router, scheduler and database together.All components, including the PostgreSQL primary, replicas and card vault, stay in one zone and one jurisdiction.
Multi-zone within one regionMost production payment traffic that must survive a zone failure without moving data out of the region.Needs cross-zone latency checks, PostgreSQL replica placement and tested promotion runbooks. Adds duplicate capacity in each zone.Confirm which zones may hold card data and whether vault replicas and backups stay inside the same region.
Second region on standbyRegional outages must be recoverable, and a short interruption with a manual cutover is acceptable to the business.Requires cross-region database replication, traffic switch runbooks and regular failover drills. Standby capacity recurs.Decide where replicated card data and vault keys live, and who approves a failover that moves live payment traffic.
Second region in active useMerchants that need traffic served from two regions at once and have a mature operations team.Needs a plan for writes, scheduler queue ownership and cache state across regions, plus full duplicate capacity and monitoring.Decide per data class which region is authoritative, how vault data is partitioned and where key material is held.

How to build Hyperswitch high availability in order

This sequence takes a self-hosted Hyperswitch deployment from a confirmed Kubernetes and Helm version set to replicated Router and Scheduler services, a PostgreSQL primary and replica, Redis with failover, and an isolated card vault. Each step closes with a check so the team can confirm the payment path survives a node or zone loss before go-live.

  1. Confirm the Kubernetes target and Helm chart version

    Confirm the Kubernetes version your cloud provider or data center supports, and the Hyperswitch Helm chart version you will deploy, using the self-hosting guide and the compatibility matrix on the releases page. Record both in the change ticket, along with the Control Center and client SDK versions that the release pairs with. Confirm that every required dependency for that release is planned before anything is deployed. For example, the v1.124.0 release notes list Superposition as a required configuration dependency, so a service must be running before that upgrade. Done means your platform team and your deployment owner have signed off on one written version set.

  2. Spread Router and Scheduler replicas across zones

    Set replica counts for the Router and for the Scheduler Producer and Consumer, then add pod topology spread constraints or anti-affinity rules so replicas land on different nodes and zones. Use the zone labels your cloud provider sets on nodes, and confirm the cluster has nodes in more than one zone before relying on the rule. Decide whether the Scheduler components share nodes with the Router or run on a separate pool, because that choice changes how a node loss affects retry and scheduled traffic. Check the result with kubectl get pods -o wide and confirm each Deployment has replicas in at least two zones.

  3. Configure PostgreSQL primary and replica with promotion

    Deploy PostgreSQL with one primary and at least one replica in a different zone, using the operator or managed database service your team already supports. Enable automated promotion so a replica takes over when the primary fails, and confirm the Router and Scheduler connect through a write endpoint that follows the promoted primary. Set the replication mode that your recovery objectives require, and document which recent transactions could be lost in a failover under that mode. Check replication health by querying pg_stat_replication on the primary and confirm replica lag stays within the threshold your team agreed. Done means a forced failover test completes and the application reconnects without manual edits.

  4. Add Redis with persistence and failover mode

    Deploy Redis for caching and the scheduler queue, using the persistence setting and failover mode your team chooses, such as replicated nodes with automatic failover or a managed service with multi-zone replication. Document what a Redis failover means for queued scheduler jobs and cached data, and decide how the Router and Scheduler should behave during the failover window. Confirm both services can resolve the Redis endpoint from inside the cluster and that failover is enabled in configuration. Check the setup by stopping the primary Redis pod in a test window, then confirm the replica is promoted and the scheduler queue resumes processing.

  5. Wire Router and Scheduler to shared endpoints

    Point the Router and Scheduler configuration at the PostgreSQL write endpoint, the Redis endpoint, and the service names for the card vault and encryption service. Load credentials from Kubernetes Secrets or your secrets manager, and keep connection pool sizes and timeouts consistent across replicas. Avoid pointing any component at a pod IP, since pod IPs change when pods reschedule. Check the wiring by reviewing the rendered configuration from one replica of each service and calling the health endpoints from inside the cluster. Done means every replica reports healthy and shows live connections to the database and cache.

  6. Isolate card vault and encryption service pools

    Place the card vault and the encryption service on their own node pool, using taints and node selectors so no other workload schedules there. Restrict network policies so only the Router can reach the vault and encryption service ports. Apply the same zone spread used for the Router, and confirm the replica count against the design document your PCI DSS assessor reviews. Confirm your key management approach with the assessor before go-live. Check that taints are applied with kubectl describe nodes, and test from a pod outside the allowed label set to confirm it cannot reach the vault port.

How the HA build changes by cloud and air-gapped environment

The Hyperswitch docs include a self-hosting guide for AWS, so the Helm chart and Kubernetes objects for router and scheduler replicas follow the upstream pattern. The cloud-specific work sits in the data tier and the storage layer: you decide whether PostgreSQL and Redis run in-cluster or as managed services, and you confirm how the cluster spreads across availability zones.

What to decide and confirm:

  • PostgreSQL: Compare a self-managed primary and replica against a managed PostgreSQL offering. Confirm the managed service supports the PostgreSQL version and replication setup Hyperswitch needs, and that failover behavior meets your recovery targets. Do not assume a specific service is supported until your team tests it.
  • Redis: Confirm whether a managed Redis offering can serve both caching and the scheduler queue, and how it behaves on node or zone loss.
  • Zones: Confirm which availability zones your node groups and managed services use, and whether router and scheduler replicas can be spread across them.
  • Storage class: Confirm the default storage class's volume binding mode and whether volumes are zonal, since zonal volumes can pin a pod to one zone.
  • Helm values: Check which database and Redis connection values the chart expects and map them to your managed endpoints.

Before go-live, test a node drain and a zone failure in a staging account and record which pods reschedule and how long payments take to recover in your own measurements.

What drives high availability effort and cost

This table lists the drivers that change effort for a high availability Hyperswitch deployment, why each one matters and how to keep it contained. Read each row as a question to answer before asking a partner or internal team for a quote. The main takeaway is that environment count, data layer ownership and vault placement usually shape the work more than the number of router or scheduler replicas.

DriverWhy it changes effortHow to keep it downWhat to ask for in a quote
Environments (dev, staging, production, DR)Each environment needs its own router, scheduler, PostgreSQL, Redis and vault configuration, and failover must be rehearsed in DR.Generate all environments from the same Helm values, and run smaller footprints outside production.Which environments run high availability, how many DR failover tests are included, and who runs them.
Zones and regionsSpreading router and scheduler replicas across zones adds cross-zone database and Redis traffic and networking cost.Start with multiple zones in one region, and add a second region only if a regional outage is in scope.Zone count per cluster, expected cross-zone traffic, and the failover target for a regional event.
Database and Redis operating modelSelf-managed PostgreSQL primary and replica, or self-managed Redis, means your team owns failover, backups, patching and upgrades.Use a managed service where your cloud and policy allow it, and test replica promotion on a schedule.Failover mechanism, recovery point and recovery time targets, backup retention, and the on-call owner for database events.
Connectors and traffic volumeMore connectors and higher transaction volume widen the load test matrix, the retry and routing paths to verify, and the sizing of Redis and the scheduler queue.Enable only the connectors planned for go-live, and load test the paths that carry most expected volume first.Connector list with per-connector test cases, peak transaction profile, and the load test scope in writing.
Vault placement and PCI DSS scopeWith the native in-house vault, the merchant is fully responsible for PCI DSS certification and data handling. External or SaaS vault models move part of that scope.Choose the vault model before cluster design, and isolate the vault and encryption service on separate network and node pools.Who holds PCI DSS responsibility under each vault model, segmentation evidence, and the assessor's scope boundary.
Kubernetes maturityTeams new to Kubernetes need more time for Helm values, disruption budgets, autoscaling, cluster upgrades and incident response.Standardize on the Helm charts, manage configuration through GitOps, and keep one runbook for node and zone loss.Chart version pinned, cluster upgrade policy, who operates the cluster, and whether training is included.
Release cadence and required dependenciesMonthly minor releases and new required services, such as Superposition, add upgrade and rollback work to every high availability environment.Upgrade through a staging path that mirrors production topology, and check the compatibility matrix at each release.Upgrade cadence in any retainer, rollback test evidence, and how dependency changes are scheduled into maintenance windows.

How the scheduler queue and Redis behave during a failover

Plan on scheduled work being possibly repeated or possibly late after any restart, because the architecture documentation does not give you a delivery guarantee you can design around without confirmation. In Hyperswitch, the Scheduler Producer identifies work that is due and places it on the scheduler queue, and the Scheduler Consumer takes items from that queue and runs them. If either process restarts while it holds an item, the item may be left claimed but unfinished, or it may be finished but not marked as done. Your job is to find out which of these outcomes the current release can produce, and what it does next in each case.

When the Redis node that serves the scheduler queue fails, the main questions are what was in memory, what was persisted, and how the application reconnects. Redis is used for both caching and the scheduler queue, so the failure affects two kinds of state with different tolerance for loss. Ask your team to confirm the persistence mode configured for the queue, whether a replica is promoted automatically, and how the Hyperswitch services handle a dropped connection during promotion. Do not assume that queued entries survive a node loss unless your own test shows that they do.

When PostgreSQL promotes a replica, scheduled records committed on the old primary may not have reached the new primary if replication is asynchronous. In that case, a scheduled action can disappear, or it can be recreated by a retry path and run twice. A second risk is a split period in which the old primary still accepts writes because it was not fenced. Confirm the replication mode, the synchronous commit settings your database team has chosen, how the connection string or database endpoint moves to the new primary, and whether your connection pooler holds stale connections after promotion.

The practical risk is that a duplicate or delayed scheduled action touches money. Examples of sensitive actions include captures, voids and refunds sent to a processor. Before go-live, ask the Hyperswitch maintainers whether processor calls carry idempotency keys, whether a task checks the current payment state before it acts, and what the retry policy is after a consumer crash. Monitor queue depth, the age of the oldest queued task and retry counts so that a stuck queue shows up as an alert rather than as a customer complaint.

Test these behaviors in staging before relying on them. A reasonable test set, labeled here as illustrative, is to stop a Scheduler Consumer while it holds a task, fail the Redis primary during a busy period, and promote the PostgreSQL replica while scheduled payments are pending. For each run, record which tasks ran zero times, once and more than once, and how long each delayed task waited. Use the results, together with written answers from the Hyperswitch maintainers on delivery and retry semantics, to decide which failover scenarios you accept and which need compensating controls.

Access and isolation controls that protect the HA paths

High availability adds failover paths, and each one is a way into the payment data plane. The controls below limit who can trigger promotion and failover, which credentials and network routes can reach PostgreSQL and Redis, and how the card vault's failover path stays inside its own segment. Vault-specific isolation and general hardening are covered in their own topics.

Restrict who can trigger failover

Database promotion of a PostgreSQL replica and any Redis failover action change which node serves live Router and Scheduler traffic. Limit these operations to a named group of operators, route them through change control, and require a second approver for production. Confirm which promotion method your PostgreSQL operator or cloud service exposes, and who holds the permissions to call it, before the first game day.

Separate replication and application credentials

Replication and monitoring accounts should not be the same accounts the Router and Scheduler use to read and write payment data. Give replication its own role with only the privileges it needs, give each application service its own database user, and rotate each credential independently. Check that the Hyperswitch Helm values and secrets store reference these separate identities, and that no shared superuser is embedded in either service.

Keep data stores off public networks

PostgreSQL and Redis endpoints should be reachable only from private subnets or the cluster's internal network, including the replica endpoints used for failover. Verify that no public load balancer, NodePort or public IP exposes either port, and that managed service settings disable public access. Test from outside the cluster and from a debug pod in a non-application namespace to confirm the result.

Network policies for Router and Scheduler

Kubernetes network policies should allow only the Router and Scheduler pods, including Producer and Consumer workloads, to open connections to PostgreSQL and Redis. Other workloads, including the Control Center and monitoring agents, should receive explicit, narrower rules. Confirm that your cluster's network plugin enforces policies, since a policy object that the plugin ignores gives no protection. Review the rules after each Helm upgrade, because chart changes can add or rename pod labels.

Confine the vault failover path to its segment

If the card vault runs in your environment, its replica and failover traffic should stay inside its own network segment and never share a route with general application traffic. Allow only the components that must reach it, and block the vault's failover path from the broader cluster network. Scope of the vault and its key material is covered in the card vault deployment and PCI DSS scope topic, so check that segment boundaries match the in-scope systems listed there.

How to prove failover works before payments depend on it

Drain one Kubernetes node that runs Router and Scheduler pods while test payments are in flight. The goal is to confirm that pods reschedule, that in-flight requests either complete or fail in a way the client can retry, and that no scheduled action runs twice when Scheduler Producer or Consumer pods restart.

  • Expected behavior: Router replicas on the remaining nodes keep accepting requests. Scheduler work claimed by an evicted pod should become available to another pod once the claim expires or is released. Confirm the claim behavior in your own deployment before the test.
  • Signals to record: Ingress 5xx and timeout counts, client retry counts, latency percentiles during the drain, and duplicate scheduled actions, such as a second retry or status sync for the same payment ID.
  • Pass criteria: Your team sets them in advance with payment operations. A typical set requires zero duplicate scheduled actions, no payment left in an unknown state after reconciliation, and error rates within a threshold that operations has signed off.
  • Fails safely: Requests return errors, clients retry with the same idempotency key, and the payment resolves to a known state.
  • Fails incorrectly: A payment is captured twice, a scheduled action runs twice, or a payment stays pending with no later status update.

Confirm that your PodDisruptionBudget and replica counts match the drain scenario, because a drain that the cluster blocks shows nothing about the application.

What to monitor, back up and document after go-live

The high availability design only holds if someone watches it after go-live. Start with four signals: replica health and replication lag between the PostgreSQL primary and its replica, Redis failover events, restart counts for Router and Scheduler pods, and error rates broken down by processor. A replica that falls behind quietly turns a failover into a data question, and a Redis failover that nobody sees can leave the scheduler queue in a state that looks healthy from the outside. Alert on the trend as well as the threshold, and set the alert owners before the first incident rather than during it. Error rates by processor deserve their own dashboard. A healthy Router pod can still hide a single connector returning timeouts, and that pattern often looks like an availability problem when it is really a processor problem. Pair per-processor error rates with the routing configuration so the on-call engineer can tell whether a fallback is working as designed. Confirm with your platform team which metrics and logs the Hyperswitch deployment exposes in your chosen Kubernetes setup, and which of them your existing observability stack can ingest without custom work. Backups need the same scrutiny as the failover path. Replica promotion only helps if the promoted database is current and consistent, and backups are the fallback when replication has carried a bad write to every copy. Schedule regular restore tests into a separate environment, time them, and check that the restored database starts and reconciles against recent payment records. Treat each restore test as a rehearsal of the same steps a promotion would need. Confirm backup retention periods, encryption of backup media, restore procedures and recovery point and recovery time objectives against your own compliance requirements and your payments risk appetite. Those values are yours to set, not a default to inherit. A written failover runbook with named owners is the document most likely to be missing and most likely to be needed. It should name who declares a failover, who promotes the PostgreSQL replica, who verifies Redis and the scheduler queue, who decides when to route traffic back, and who informs finance and operations teams about payments that were in flight. Each step needs a command or console action, an expected result and a rollback. Keep the runbook outside the cluster it describes, and rehearse it on a schedule so the people named can perform it under pressure. Finally, each monthly Hyperswitch release changes what the HA test plan must cover. Check the release notes and compatibility matrix for changes to required services, database migrations, Redis usage or configuration dependencies, and rerun the failover tests against the new version in a staging environment before it reaches production. Record which tests changed, who approved the new baseline and what evidence was kept. That record becomes the link between your operations work and any later compliance assessment, which an independent auditor will test rather than accept on description.

Questions buyers ask before hiring help with Hyperswitch high availability

What drives the cost of Hyperswitch high availability work?

The cost depends on how much of the topology needs redundancy and how much of it you already run. The main components are the Router and Scheduler services, PostgreSQL with a primary and replica, Redis, the card vault and the encryption service, plus the Kubernetes and cloud layers under them. One-time costs include design, build, configuration, failover testing and runbooks, paid to whoever delivers the work. Recurring costs include duplicate cloud capacity, managed database and Redis fees, monitoring, on-call and upgrades. Costs rise with the number of environments, zones and regions, the vault model and the depth of failover testing required. Ask any provider for a quote that separates labor, infrastructure you will pay directly, and recurring support, with each line tied to a written scope.

How long does Hyperswitch high availability implementation take?

The duration depends mainly on the state of your environment, not on the Hyperswitch software alone. Teams with mature Kubernetes clusters, existing PostgreSQL replication and tested Redis operations usually move faster than teams building those layers at the same time. Other factors include the number of availability zones, whether the card vault is in scope for change control, the number of change windows you can use for failover tests, and how many approval steps your organization requires. Hyperswitch publishes Helm-based self-hosting guides for AWS, GCP and Azure, but no general duration applies to every deployment. Ask for a phased timeline with dependencies, named client decisions and the environments each phase covers.

What must our internal team provide before high availability work starts?

The partner or internal team needs working access before any design or build begins. Expect to provide cluster access with the permissions to deploy Helm charts and manage node pools, cloud accounts with IAM roles scoped to the target networks, and network paths between Router, Scheduler, database, Redis and the vault. Ownership decisions matter as much as access: name who operates PostgreSQL and Redis day to day, who runs backups and restores, and who approves failover actions. You also need a named on-call rota covering payment traffic, a change approval process and a secrets management standard. Ask the provider for a responsibility matrix that assigns each of these items to a named role before the scope is signed.

Can our platform team build Hyperswitch high availability without an outside partner?

Yes, a platform team can build it internally if it already has the skills and time to do so safely. The work requires experience with Kubernetes scheduling and disruption handling, PostgreSQL replication and promotion, Redis failover and load balancing for payment-facing services. Your team also needs to understand how the Router and Scheduler producer and consumer roles behave during a node or zone loss. Teams should check the Hyperswitch architecture documentation and the self-hosting guides against their own platform standards. Release planning matters too: Hyperswitch ships roughly monthly minor releases, and v1.124.0 made Superposition a required dependency, so an internal team must keep the high availability design current through upgrades. Confirm capacity for testing and on-call before deciding.

Does high availability change our PCI DSS scope for Hyperswitch?

Redundancy does not remove systems from PCI DSS scope. Scope is set by where cardholder data is stored, processed or transmitted, so every replica, backup and failover path that touches that data stays in scope. The vault model matters most. In the self-hosted, in-house PCI model, the Hyperswitch documentation states that the merchant is fully responsible for PCI DSS certification and data handling, which means high availability design, database replicas holding card-related data and any cross-zone or cross-region copies all need to be documented. With an external PCI vault or the SaaS vault, the responsibility split changes. Confirm the scope boundary with your qualified security assessor before you finalize the architecture, because only the assessor and the certification body can determine compliance status.

What should a fixed-scope quote for Hyperswitch high availability include?

A fixed-scope quote should describe the work in enough detail that both sides can tell when it is finished. Look for a list of components in scope, including Router, Scheduler, PostgreSQL, Redis, the card vault and the encryption service, along with the Kubernetes environments and cloud accounts involved. It should include the target topology, the failover test plan with the failure modes covered, the runbooks and handover materials, and the acceptance criteria. It should also name the exclusions, such as PCI DSS assessment work, connector development, upgrades after go-live and ongoing support. Check the client responsibilities section, the milestones and the change control process. DeployOpen agrees scope, deliverables and timelines in writing before work starts, so the quote follows from that written scope.

How do we test Hyperswitch failover without putting live payments at risk?

Test in a non-production environment that mirrors the production topology, including the same number of zones, replica configuration and Redis layout. Start with controlled failures: drain or cordon a node, delete a Router pod, stop a Scheduler consumer, then simulate loss of a zone. For the database, test a planned failover and an unplanned promotion, and confirm that the application reconnects correctly. Verify that in-flight payments and scheduler queue items are not lost or duplicated, and check that monitoring and alerts fire as expected. Record the observed recovery behavior and compare it with the target you agreed for your service. Repeat the tests after every Hyperswitch upgrade and after any change to the vault or network path. Run production tests only in an approved change window with a rollback plan.

Which Hyperswitch components must survive node and zone failures?

Every component on the payment path needs a defined failure behavior, not just the application pods. The Router and Scheduler services need multiple replicas spread across nodes and zones, with the Scheduler producer and consumer roles tested separately. PostgreSQL needs a primary and replica setup with a documented promotion process, and Redis, which handles caching and the scheduler queue, needs its own failover design. The card vault and encryption service need the same attention, along with ingress, load balancers, DNS and outbound connectivity to each payment processor. Each component should have a named owner, a recovery target agreed with the business, and a test. Check the Hyperswitch architecture documentation for the current component relationships, then confirm each one against your own topology before you finalize the design.

How DeployOpen works on this

DeployOpen plans, implements, hardens, documents and supports self-hosted Hyperswitch inside your own cloud accounts, data centers or air-gapped networks. For high availability, the work covers Router and Scheduler replicas on Kubernetes, the PostgreSQL primary and replica pair, Redis resilience and isolation of the card vault. Engagements are fixed-scope, so the written scope sets what is built, tested and handed over before work starts.

How we scope

  • Written scope lists which components run as replicas, and where each one is placed across nodes and zones.
  • Scope records the PostgreSQL primary and replica topology, failover ownership and the Redis setup for cache and scheduler queue.
  • Card vault isolation, the encryption service and the chosen vault model are fixed in scope before any build starts.

How we build

  • Deploy Router and Scheduler replicas from Hyperswitch Helm charts on Kubernetes, with pods spread across nodes and zones.
  • Configure PostgreSQL primary and replica, Redis failover behavior and vault network isolation, then test each failure path.
  • Run node, zone and dependency failure tests in staging and record pass or fail results for each path.

How we hand over

  • Deliver runbooks for failover, PostgreSQL promotion, Redis recovery and card vault restart, written for your operations team.
  • Provide architecture diagrams, configuration records and evidence of test results to support your internal and PCI DSS reviews.
  • Walk your platform and security staff through the failover design and confirm ownership before the engagement closes.

How we support

  • Ongoing support and upgrades are available as a retainer, covering monthly Hyperswitch releases and their compatibility checks.
  • Re-run failover tests after each upgrade, including changes to the Superposition service that v1.124.0 made required.
  • Continuous security testing is available as a retainer, and testing results feed back into the runbooks and scope.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.