How to plan a Hyperswitch upgrade to v1.124.0 before anything else
Your self-hosted Hyperswitch stack needs a running Superposition service before the router moves to v1.124.0, because that release makes Superposition a required configuration dependency. Treat this ordering as the first decision in the plan, not a step to fit in later. Show Superposition healthy in every environment before any router image changes, and make that check a gate that the cutover cannot pass without.
Plan the work as four ordered stages: dependency, data migration, test and cutover. The dependency stage puts Superposition in place, connects it to the router's configuration path and confirms it answers requests. The data migration stage uses the v1.124.0 release package, superposition_migration.zip, which contains a script that seeds the required dimensions, a script that moves supported database configurations into Superposition as overrides, and the SQL query used to find those configurations. Read config/superposition_seed.toml in the repository before running anything, so you know which configs will change and who must review them.
Before you set dates or assign owners, confirm two things. First, confirm your current running version, because the upgrade path starts there, and check the release notes for every version between yours and v1.124.0. Second, read the full v1.124.0 release notes. The Superposition change is documented in detail, but the rest of the release may contain changes that affect your deployment. Also confirm which router image you intend to use. v1.124.0 is published with AWS SES support and as a standalone image without it, so the choice changes your email setup.
Plan the test stage against a copy of production configuration, with Superposition running as it will in production. Record who signs off on migrated configs and who can halt the cutover. Define the rollback path before the change window opens. If the migration alters configuration values, the rollback needs a database snapshot taken before the migration and a restore procedure your team has rehearsed. Agree in writing which environment is the last gate before production, so the team does not discover ordering problems during the live window.
What changes in v1.124.0 and what each change requires from you
This table lists what v1.124.0 changes, what each change means for a self-hosted deployment, and the action your team needs to take before or during the upgrade. Read it top to bottom, because the Superposition service and its migration package come first and the router depends on them. Check the later minor release compatibility matrices and the full release notes before you choose a target version.
| Change | Impact | Action needed |
|---|---|---|
| Superposition becomes a required configuration dependency | Deployments must have an active Superposition service running before the upgrade to v1.124.0, according to the v1.124.0 release notes. | Deploy and verify Superposition in your environment before you change the router image. |
| superposition_migration.zip package | Contains a script to seed the required dimensions, a script to migrate supported database configurations into Superposition as overrides, and the SQL query that finds those configurations. | Extract the package, review each script and the query, and run them first against a restored copy of your database. |
| Seed list in config/superposition_seed.toml | Lists the configurations migrated to Superposition in the Hyperswitch repository. | Compare the list with your own database configurations and confirm each migrated value in Superposition matches what you expect. |
| Router image variants on docker.juspay.io | v1.124.0 includes AWS SES support. v1.124.0-standalone does not. Both are published on docker.juspay.io. | Choose the variant that matches your email delivery design and pin the exact image tag in your deployment manifests. |
| Later minor releases v1.126.0, v1.127.0 and v1.128.0 | The GitHub releases page lists these on August 24, 2026, September 28, 2026 and October 16, 2026. Each has a Control Center and web client compatibility matrix. | Check each matrix against your Control Center and SDK versions, and plan those components together with the router. |
| Breaking changes and deprecations beyond Superposition | This table does not cover every breaking change or deprecation in v1.124.0. Confirm the full list before scheduling. | Read the full v1.124.0 release notes and every intermediate release, and record any change that affects your configuration or integrations. |
What must run before the Hyperswitch router starts on v1.124.0
Before you change the Hyperswitch router to v1.124.0, a working Superposition service must already be running and reachable in that environment. The v1.124.0 release notes make Superposition a required configuration dependency, and deployments must have an active Superposition service before upgrading. Treat it as a prerequisite change with its own deployment, verification and rollback steps, not as a detail inside the router rollout. Dev, staging and production each need it in place ahead of the router change, and staging should follow the same ordering you will use in production so the sequence you test is the sequence you run.
Several ordering questions must be answered before the first deployment. Decide where Superposition runs: in the same cluster and namespace as the router, or in a separate environment owned by the platform team. Establish how the router reaches it, including the service name, DNS entry, port, and any network policies, load balancer rules or firewall paths that must allow that traffic. List the secrets it needs, who creates them, and where they are stored. Confirm which database it uses, whether that database is separate from the PostgreSQL instance behind the router, and who provisions, backs up and restores it. Check each of these against the v1.124.0 release notes and the Hyperswitch self-hosting documentation rather than assuming they match your earlier deployment.
Use health checks to hold the router rollout until Superposition is ready. In a Kubernetes rollout or a pipeline, add a gate that calls the Superposition health endpoint and confirms that it can read its database before the router deployment starts. The gate should fail closed, so an unhealthy Superposition stops the pipeline instead of letting the router roll forward. Confirm the health endpoint path, the expected response and any readiness conditions in the release notes or the Hyperswitch docs. Then decide how the router's own readiness probe behaves if it cannot reach Superposition, and test that behavior in staging so you know whether a failure shows up as a blocked rollout or as a router that starts and then misbehaves.
Plan for failure after the change as well as during it. If Superposition becomes unavailable once the router is running, configuration handling may be affected, so assign a named owner for the Superposition service with its own alerts, capacity plan and on-call path. Write the rollback order into the runbook before the production window. In most cases, you will need to decide whether the router is rolled back first and whether any Superposition changes can be reversed safely, and that decision depends on what the migration package has already written. Ask the Hyperswitch maintainers or the release documentation which Superposition versions are tested with v1.124.0, and record the answer with the environment inventory.
Preparing the environment before you touch production
Before you run the migration package, put the environment in a state you can roll back and measure. The four cards below cover backups, a configuration inventory, a staging rehearsal and version pinning, and each one feeds the next: the inventory shows what the migration will touch, and staging shows what it actually changes.
Back up state and configuration
Take a backup of PostgreSQL and Redis state, the configuration files, and the Helm values and secrets your deployment uses. PostgreSQL holds the configuration rows that the migration SQL changes, and Redis holds cache and scheduler queue state, so both need a known restore point. A backup you have not restored is an assumption. Run a restore into a separate namespace or environment and confirm that the router starts and reads the restored data before you treat the backup as usable. Record where each secret lives so rollback does not depend on someone's memory.
Inventory configs and customizations
List every database configuration and customization that the migration SQL will find, and compare that list with the query shipped in superposition_migration.zip. Do not rely on memory of what was changed by hand. Include connector settings for each processor, along with the Control Center settings that hold dashboard and merchant configuration. Check each item against config/superposition_seed.toml to see which configs move into Superposition as overrides. Anything the query misses, or matches unexpectedly, goes on a review list before the change window.
Rehearse in staging
Build a staging environment that mirrors production data and topology: a copy of the production database, the same PostgreSQL and Redis layout, and the same Helm chart values. Deploy Superposition in staging the same way you deploy it in production, including its database, network path and secrets, so the migration runs against the same dependency. Run the seed script, the configuration migration and a full payment test path through the Control Center. Confirm how the data copy is refreshed and masked, because stale or unmanaged data hides problems and creates privacy exposure.
Pin image and Control Center versions
Record the current image tags for the router and scheduler, and the target tags for v1.124.0. Note which router variant is in use: v1.124.0 includes AWS SES support, while v1.124.0-standalone does not, so an environment that sends mail through SES needs the first. Pair the target router tag with the Control Center version listed in the matching compatibility matrix on the releases page. Store the pinned values in version control so the rollback target is exact and reviewable.
How the superposition_migration.zip package moves database configs
The superposition_migration.zip package that ships with Hyperswitch v1.124.0 contains three parts: a script that seeds the dimensions Superposition needs, a script that migrates supported database configurations into Superposition as overrides, and the SQL query that identifies those configurations. Treat the SQL query as the first step, not the last. Its output tells your team which configurations exist in your database, which ones the package is designed to move, and which ones it will leave behind. Before running either script, extract the zip, read both scripts end to end, and confirm from the v1.124.0 release notes what each one writes and in what order it must run. Record the file names, runtime requirements and any prerequisites in your upgrade runbook so the staging and production runs follow the same sequence.
Run the SQL query against a read-only copy of your production database and export the full result set. Each row is a configuration your platform currently reads from its database. The file config/superposition_seed.toml in the Hyperswitch repository lists the configurations the migration covers, so compare your export against that list key by key. Sort every row into one of two groups: configurations inside the supported set, which the migration script should move, and configurations outside it, which it will not move. Confirm the exact matching rule with the release notes, since a key that appears in the seed file under a slightly different name or scope may still fall outside what the script handles. Keep the export and the comparison in your change record as the inventory the team signs off on.
Your team must decide how to handle every configuration outside the supported set. The release notes supplied for this topic do not describe what happens to an unmigrated database configuration after the upgrade, so confirm this with Hyperswitch maintainers or in the release documentation before you plan. Possible handling includes leaving the value in the database if the v1.124.0 code still reads it there, recreating it manually as a Superposition override, or retiring it after confirming nothing depends on it. Assign an owner to each item, and give priority to any configuration that affects payment behavior, such as routing or connector settings. A configuration that stops applying without an error is the most likely source of a production incident after this upgrade, so each decision should name the test that proves the behavior is unchanged.
Verify the scripts against the v1.124.0 release notes and a staging copy before anything runs in production. Restore a recent production database snapshot into staging, start the Superposition service the release requires, and run the seed script followed by the migration script exactly as your runbook states. For each migrated key, compare the value in Superposition with the value in the original database. Then run a set of test payments that exercise the routing and connector settings you identified in the inventory, and confirm the Control Center displays the expected configuration. Check whether the scripts can run more than once without duplicating or overwriting overrides, and test a rerun on the staging copy. Keep the original database values unchanged until production sign-off is complete, so a rollback has a known source.
Upgrade sequence for v1.124.0 with checks and rollback points
This sequence moves a self-hosted Hyperswitch stack to v1.124.0 with Superposition running as the required configuration service. Each step names the check that passes it and the point you can return to, so the team knows which changes an image revert undoes and which need a restored backup.
Take backups and confirm restore
Your platform team takes a full backup of every PostgreSQL database the stack writes to, along with the Helm values, secrets references and config files for the router and Control Center. Record the router image tag currently running, since that tag is your image rollback point. Restore the backup into a scratch environment and start the stack there. The step is complete when the restored environment starts, the router reports healthy, and a known historical payment and its configuration load correctly. Until that restore succeeds, do not run any migration.
Deploy and health check Superposition
Deploy a running Superposition service in staging before touching the Hyperswitch router, because v1.124.0 requires an active Superposition service before it starts. Give it its own database, network path from the router, and the secrets it needs. The check that passes this step is a healthy status from the service's health endpoint, and a successful connection from a router pod or container to Superposition. Rollback at this point is simple: remove the Superposition deployment. Nothing in the Hyperswitch data has changed yet.
Run seed and migration scripts in staging
Extract superposition_migration.zip from the v1.124.0 release. Run the seed script first so the required dimensions exist in Superposition, then run the migration script, which moves supported database configurations into Superposition as overrides. Keep the full console output. The check is a clean run with no unhandled errors, and a list of migrated items that matches the entries in config/superposition_seed.toml. Database writes made here are not reversible without the backup from the first step, so treat staging as the place to learn what the scripts change.
Compare migrated overrides with pre-upgrade values
Run the SQL query included in the migration package to list the configurations it identified, then compare that list with the configuration values you exported before the upgrade. Check each migrated key for its value, scope and status in Superposition. The step passes only when every supported configuration appears once with the expected value, and every difference is explained and accepted by the owner of that setting. Any unexplained mismatch stops the sequence. Restore the staging database from the backup, fix the cause, and rerun the scripts.
Deploy the matching v1.124.0 router image
Choose the router image variant that matches your email needs. The v1.124.0 image includes AWS SES support, and the v1.124.0-standalone image does not, so confirm with the team that owns outbound email whether SES is required before you choose. Both are published on docker.juspay.io. Deploy the chosen image to staging and confirm the router starts, passes health checks and reports the v1.124.0 version. Rollback means redeploying the image tag recorded in the first step. If the migration already wrote data the older router cannot read, you also need to restore the database backup.
Verify payments, refunds and config reads
Run test payments and refunds through the sandbox processor connections configured in staging, then confirm each one completes and appears correctly in the Control Center and your records. Read configuration through the API and confirm routing rules and connector settings return the migrated values from Superposition. The check passes when the test payments and refunds settle as expected, and every configuration read matches the comparison from the previous step. If any check fails, roll back the router image first, then restore the database only if the migration changed data the older version depends on.
Repeat the upgrade in production
Schedule the production change during an agreed change window. Restore a fresh production backup into a scratch environment before the window, then run the same sequence in the same order, using the scripts and comparison checks that passed in staging. Record the production image tag and backup identifier before any change. The step is complete when the production router is healthy, the verification checks pass and the operations owner signs off. Agree the rollback decision and its owner before the window opens, so that reverting an image or restoring data does not depend on a judgment made under pressure.
Confirm Control Center compatibility
Check the compatibility matrix on the Hyperswitch releases page to confirm which Control Center and web client versions work with v1.124.0, then deploy the paired versions. Sign in as an invited user, open the dashboard, the payments and refunds lists, and the connector and routing screens. The check passes when every screen loads, shows v1.124.0 data and allows the usual actions for your roles. If a screen fails, revert the Control Center to the version previously paired with your router image, since the router rollback alone does not restore that screen.
How to test the migration in staging and roll back safely
Staging is the only place where the v1.124.0 migration can show its effect on payments before customers see it. Build the staging environment from a copy of production configuration: the same router and Scheduler settings, the same PostgreSQL and Redis versions and topology, the same secrets handling, and a Superposition service running as it will in production. Connector credentials should point to sandbox or test accounts. Then run the migration dry run against a restored copy of the production database, using the superposition_migration.zip package. Save the output of the seeding script, the migration script and the SQL query that finds supported configurations as evidence, and attach it to the change record. Confirm which Hyperswitch image tag you are testing, since v1.124.0 and v1.124.0-standalone differ in AWS SES support.
Reconciliation shows whether the migration moved what you expected. Use config/superposition_seed.toml to list the configurations that should now exist as overrides, then compare each migrated value with its source value from the pre-upgrade database. Record every mismatch, every missing item and every configuration that the migration skipped, and decide for each one whether it is acceptable. Next, run end-to-end test payments through sandbox or test connectors. Cover the routing rules and fallback routing your business depends on, refunds, webhook delivery, and any saved-card or vault flow in use. Compare the routing outcomes with the outcomes you recorded before the upgrade. Ask each connector vendor which test cases their sandbox supports, because gaps there will not show up in your results.
Failure tests check how the platform behaves when the new dependency is not healthy. Stop the Superposition service and start the router, then record whether the router refuses to start, which is what the v1.124.0 release notes require before upgrading. Test a Superposition outage during live test traffic and note which payment operations fail, which are retried and which degrade silently. Run the migration script a second time to confirm it does not duplicate overrides. Restore the database backup into a clean environment and time the restore, so that you know how long recovery takes if the production migration corrupts data. Write down each failure, the expected result and the observed result, and assign an owner to every gap before the production window.
Rollback has two levels, and the team must know which one applies before starting. Redeploying the previous router image reverts application code and the way the router reads configuration. That is enough only if the previous version still runs correctly against the database and Superposition state left behind by the migration, which your staging rollback test must prove. Changes written to PostgreSQL, including migrated configuration rows and any payment or scheduler records created under v1.124.0, require a database restore or a documented reverse procedure. Set a decision point in the runbook. Before that point, rollback is an image redeploy. After it, where new payments have been processed and recorded, rollback becomes a data recovery exercise that must reconcile transactions. Agree the go or no-go criteria, the rollback triggers and the sign-off roles with the business owners before the production window, and record them in writing.
What makes a Hyperswitch upgrade take longer
This table compares the drivers that determine how much work a Hyperswitch v1.124.0 upgrade takes and where each one tends to add effort. Read each row as a question to answer in your own environment before you agree on a plan. The main takeaway is that database config scope, the number of environments and the Superposition service readiness usually shape the effort more than the upgrade steps themselves.
| Driver | Why it matters | What to check |
|---|---|---|
| Superposition service readiness | v1.124.0 requires an active Superposition service before the upgrade, so it must be deployed, reachable and healthy first. | Confirm Superposition runs in every environment, and that the router can reach it before you start the upgrade. |
| Database configs inside and outside the supported set | Configs in the supported migration set move into Superposition as overrides. Configs outside it need manual handling. | Run the SQL query from the release package against a production copy and list configs outside the supported set. |
| Custom connectors, routing rules and vault settings | These sit outside the seed file and must be reconciled after migration so payment behavior stays the same. | Compare each routing strategy in use and the vault model settings before and after the upgrade in staging. |
| Deployment model and environment count | Helm on Kubernetes and Docker differ in rollout steps, and each environment repeats the full upgrade and test cycle. | Identify your deployment model, the router image variant with or without AWS SES, and every environment to upgrade. |
| Control Center and SDK integrations on the same release | The dashboard and client SDKs depend on compatible versions, so each consumer must be checked against the target release. | Check the compatibility matrix in the release notes and list every SDK and Control Center version in use. |
| Data volume and backup and restore tests | Restores must be proven on realistic data before production. Larger PostgreSQL and Redis footprints extend test time. | Measure backup size and restore time in a non-production copy, and record the results for the change record. |
| Approval and change windows in regulated settings | Changes to payment systems in scope for PCI DSS often need sign-off, evidence and fixed change windows. | Confirm your change board rules, the evidence it expects, and whether your vault model is self-hosted in-house PCI. |
Questions teams ask before upgrading Hyperswitch to v1.124.0
Can our team upgrade Hyperswitch to v1.124.0 without an outside partner?
Yes, if your team has Kubernetes or Docker operations experience and has run PostgreSQL and Redis in production. The v1.124.0 release notes make Superposition a required configuration service, so the first task is confirming that an active Superposition service runs before the router is upgraded. The release also ships superposition_migration.zip, which contains a script to seed the required dimensions, a script that moves supported database configurations into Superposition as overrides, and the SQL query used to find them. Teams without a member who has handled stateful services in production should weigh that gap honestly against the work. Start by checking your current versions against the release notes.
What drives the cost of an outside Hyperswitch upgrade, and what goes in the scope?
Cost follows the written scope. DeployOpen does not publish a price list, and a quote is built from the scope you agree. The main drivers are the number of environments, the deployment model (Helm on Kubernetes, Docker, cloud or an air-gapped network), the volume of database configuration to migrate, any custom connectors or Control Center changes, and the number of test cycles. Ask for a written scope that lists the systems in scope, the deliverables (a tested migration runbook, a rollback plan, evidence of test results), the environments covered, who performs each step, what you must provide, and what is excluded. Fixed-scope work is agreed in writing before it starts. Ongoing support is a separate, recurring retainer.
How long does a Hyperswitch v1.124.0 upgrade take?
The duration depends on environment size, customizations and test scope, so no single figure applies to every deployment. A non-production stack with standard configuration and a small set of configs to migrate is a very different job from a multi-region production estate with custom routing rules and several test cycles. Ask for a timeline in writing, whether the work is done by your team or a partner. It should show the stages: deploying Superposition, seeding dimensions, migrating configurations in a copy of production, testing payment flows and the Control Center, cutover, and post-cutover checks. Ask which dates depend on your decisions or on approvals, and what assumptions the timeline makes about change windows.
What do we need to provide for a Hyperswitch upgrade engagement?
The work needs access, environments, people and a change window. Access: credentials or read and admin paths to the Kubernetes or Docker hosts, PostgreSQL, Redis and the secrets store in each environment in scope. Environment: current Helm values or compose files, and a non-production environment close enough to production to test the migration. People: named data owners who can confirm which configurations must move, and test merchants or test users who can run payments in staging. Time: an approved change window and a named decision maker for rollback. Confirm access paths and approval steps early, because they often set the pace of the project more than the technical steps do.
Can a Hyperswitch v1.124.0 migration be reversed if cutover fails?
It depends on how cutover is planned, and you should confirm the rollback path against the release notes and your own tests before production. Practical controls include a verified PostgreSQL backup taken before the change, a record of the pre-upgrade configuration state, the previous router image and Helm values kept ready, and a tested database restore in staging. Because the migration writes configurations into Superposition, the rollback plan must cover both the application version and the configuration store. Confirm whether the Superposition overrides can be removed and how the earlier router version behaves when they are present. DeployOpen includes rollback planning and documentation in scope, but whether a given change can be reversed depends on your environment and data.
Can DeployOpen handle later Hyperswitch minor releases under a retainer?
Yes. DeployOpen offers ongoing support, upgrades and continuous testing as retainers. Hyperswitch ships roughly monthly minor releases, and the GitHub releases page lists v1.126.0, v1.127.0 and v1.128.0, each with a compatibility matrix for Control Center and web client versions. A retainer can cover reviewing release notes and compatibility matrices, testing each release in your non-production environments, planning and running upgrades, and documenting what changed. The retainer's scope, release cadence and included environments are agreed in writing. Before you sign, ask how breaking dependency changes are handled, how urgent patches are triaged, and what you must approve before each upgrade goes to production.
How DeployOpen scopes, delivers and supports a Hyperswitch upgrade
DeployOpen approaches the Hyperswitch v1.124 upgrade as a planned change to a self-hosted payments stack, starting with the Superposition service that v1.124.0 requires to be running before the upgrade. Work runs in your own infrastructure, with the database configuration migration tested in a non-production environment before any production change. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts.
How we scope
- The written scope names your current Hyperswitch version, target version and each Superposition deployment to be added.
- It lists which database configurations move into Superposition and which stay in place, based on your deployment's configuration.
- Terms are fixed-scope, covering deliverables, test environments and handover, with ongoing support available as a retainer.
How we build
- Stand up Superposition in a staging copy of your stack and confirm it runs before the router changes.
- Apply the seed script for required dimensions from the v1.124.0 migration package, then run the config migration script.
- Review the migrated overrides against config/superposition_seed.toml and the SQL query the release provides, then test in staging.
How we hand over
- Deliver the migration scripts, SQL queries and a record of each override moved, with the run order documented.
- Provide a rollback procedure covering the router image, database state and Superposition service for each step.
- Walk your platform and operations team through the Superposition dependency so they can run and monitor it after go-live.
How we support
- Keep Superposition, router and Control Center versions aligned as Hyperswitch moves through later minor releases.
- Check each upcoming release's compatibility matrix for Control Center and web client versions before scheduling an upgrade.
- Retainer support can cover repeat test runs, upgrade planning and the operating changes that later releases require.

