Hyperswitch network tokenisation: what it changes for a self-hosted card flow
If your team runs a self-hosted Hyperswitch stack and wants card network tokens in place of stored card numbers for saved cards, this section explains what that change touches in the card flow. According to the Hyperswitch docs, network tokenisation is a feature that lets a saved card be processed through a network token obtained from a network tokenisation service, instead of depending only on the card number held in the vault. Teams usually look at it when they want to reduce how often card numbers move through their own stack and when their processors support network tokens for the cards they accept. Confirm the exact behaviour for your Hyperswitch version in the current network tokenisation docs before you plan around it.
The feature is off by default. The Hyperswitch setting is_network_tokenization_enabled defaults to false, and it is enabled per profile, so each business profile in your deployment needs its own decision. Turning it on is not enough on its own. The profile also needs a configured network tokenisation service. If a call reaches the flow without that service configured, Hyperswitch rejects it with the error NetworkTokenizationServiceNotConfigured. Before go-live, list every profile, record which ones should enable the feature, and confirm in a non-production environment that each enabled profile has the service configured and that a test call succeeds.
Network tokenisation does not replace the card vault in your design. The Hyperswitch docs say a card should stay in the vault for fallback. The saved-card path can still use the card when the network token cannot be fetched, or when the connector is not enabled for network tokens. Your architecture therefore keeps the vault, its PCI DSS scope and its key management in place, and adds a second path on top. Plan for the fallback as a normal operating case, not an error path you hope to avoid. Write down which failure conditions move a payment to the vault path, and test each one, including a token fetch failure and a connector that is not enabled for network tokens.
The repository's example configuration sets allow lists that control where the feature applies. It lists Visa, American Express and Mastercard as card networks, and Adyen, Cybersource, Peach Payments and TrustPay as network token connectors. The docs note that operators can change these lists. Treat these names as an example from the repository, not as your settings. Decide which card networks your business accepts and which connectors your processors support for network tokens, then set both lists to match. Check each connector's network token support with the connector's own documentation, because a connector on the list still needs to be enabled for network tokens on your side.
Which network tokenization settings to decide before you enable it
This table compares the five settings you decide before enabling network tokenization in a self-hosted Hyperswitch profile, plus the operator-editable lists. Read each row as two questions: when the setting fits your profile, and what happens to payments if it is set wrongly. The main takeaway is that the saved card in the vault is your fallback, so keep it in place while you test network tokens.
| Setting | When it fits | What changes if it is set wrongly |
|---|---|---|
| Per-profile enable flag (is_network_tokenization_enabled) | Turn on per profile only after the token service is configured and tested on that profile | Default is false. Enabling it before the service is configured causes calls to be rejected with NetworkTokenizationServiceNotConfigured. |
| Network tokenization service configuration | Complete before enabling anything. Confirm the required fields with your service setup and vendor | Without it, calls are rejected with NetworkTokenizationServiceNotConfigured, so checkout errors appear for affected profiles. |
| Card network allow list | Keep the networks your customers' cards use. The example lists Visa, American Express and Mastercard | Cards on networks left off the list do not receive network tokens, so they cannot benefit from token-based payments. |
| Network-token connector allow list | Include only connectors you have confirmed accept network tokens. The example lists Adyen, Cybersource, Peach Payments and TrustPay | A payment routed to a connector not on the list does not use a network token and falls back to the saved card. |
| Vault fallback | Keep the card in the vault for every saved card you may need to charge later | The docs say the saved card is used when a token cannot be fetched or the connector is not enabled. Removing it breaks that fallback. |
| Operator changes to the lists | Review both lists when you add a card network or connector to your processing mix | The docs note operators can change the lists. Record each change and retest affected profiles before it reaches production. |
How the profile flag, token service and allow lists work together
Network tokenisation in Hyperswitch is gated in layers, and a payment only uses a network token when every layer agrees. The first layer is the profile. Network tokenisation must be enabled for the profile that handles the payment, through the is_network_tokenization_enabled setting. The documented default is false, so a profile that was created without changing it will not request network tokens, even if the rest of the stack is ready. Treat this flag as an explicit, reviewed change per profile, and record which profiles have it on so that finance, risk and the platform team can see the same picture.
The second layer is the network tokenisation service. The profile flag alone is not enough. A network tokenisation service must be configured in the deployment, and it must be reachable from the router. If the profile is enabled but no service is configured, the call is rejected with the error NetworkTokenizationServiceNotConfigured. Test this path deliberately in a non-production environment: enable the flag on a test profile without the service and confirm that the rejection surfaces where your integration team expects it. Also confirm how your application handles that error, because a rejection here should not be mistaken for a card decline.
The third layer is the pair of allow lists. The card network list determines which card brands can be tokenised at all. The repository example configuration allows Visa, American Express and Mastercard. The network-token connector list determines which connectors may request and use those tokens. The example lists Adyen, Cybersource, Peach Payments and TrustPay. Operators can change both lists, so the lists in your deployment are the ones that matter, not the example. A card brand missing from the network list, or a connector missing from the connector list, will not receive a token even when every other setting is correct. Review both lists together whenever you add a processor or a card brand.
Because the allow lists narrow the path, some payments will take the non-tokenised route by design. That is why the vault matters. The Hyperswitch docs advise keeping the card in the vault as a fallback, since the saved-card path can still complete a payment when the token cannot be fetched or when the chosen connector is not enabled for network tokens. Decide before go-live whether your business accepts that fallback for each card brand and connector, and confirm how it affects your PCI DSS scope and your customers' expectations about updated card details.
Before relying on this design, confirm the exact configuration keys, their names, their locations and their defaults in the Hyperswitch documentation for the version you run. Setting names and list formats can change between releases, and the example values in the repository are not a substitute for your own configuration. Ask your implementation team to produce a short test matrix that covers an enabled and a disabled profile, a configured and an unconfigured service, each allowed and disallowed card network, and each connector on both lists. Keep the results with the change record.
Setting up network tokenisation in a self-hosted Hyperswitch
This sequence takes a self-hosted Hyperswitch deployment from a running stack to a tested network tokenization setup on one profile. Each step ends with a check, so you can confirm the service is configured, the allow lists are correct, and saved cards still work through the vault fallback before you widen the change.
Confirm the self-hosted deployment is running
Confirm the self-hosted Hyperswitch deployment is running before you change any payments configuration. Use the Helm chart on Kubernetes that the self-hosting documentation describes, or the Docker-based local setup for a non-production environment. Your platform team owns this step. Confirm the router, the card vault and the supporting services report healthy. Done means you can send a payment call to the test environment and receive a normal response, which shows the stack is reachable before you change anything.
Configure the network tokenization service
Point the deployment at a network tokenization service using the configuration the Hyperswitch network tokenization documentation describes. Payments or platform engineers make this change in the deployment configuration. Confirm the exact key names against the example configuration in the repository and the documentation for the version you run, since names can differ between releases. Redeploy the affected services through your normal change process. Done means the services start cleanly and the logs show no configuration errors for the tokenization settings.
Set allow lists for card networks and connectors
Decide which card networks and which connectors may use network tokens. The repository example allows Visa, American Express and Mastercard as card networks, and Adyen, Cybersource, Peach Payments and TrustPay as network-token connectors. The documentation notes that operators can change these lists. Start from the networks and processors you actually run, and confirm with each processor that it supports network tokens for your merchant account before you add it. Done means the lists in configuration match a written decision that a payments lead or risk owner has approved.
Enable the flag on a test profile
Turn on network tokenization for one test profile, not for every profile. The profile flag is is_network_tokenization_enabled, and its default is false, so each profile needs an explicit decision. Use the interface or API that your version documents for profile settings, and confirm the method in the Hyperswitch docs first. Keep the test profile's connectors and routing the same as production so the test results are comparable. Done means the test profile shows the flag as enabled and no other profile has changed.
Confirm calls stop returning the service error
Send a test payment on the enabled profile and read the response. Before the service is configured correctly, calls on the profile return NetworkTokenizationServiceNotConfigured. That error should no longer appear for a correctly configured test call. If it still appears, return to the service configuration step and check that the deployment serving this profile loaded the new settings. Done means at least one test call completes without that error, and you have saved the request identifier and response for the change record.
Test a card saved before enablement
Run a payment with a card that was saved in the vault before the flag was turned on. The Hyperswitch documentation says a card should stay in the vault for fallback, because the saved-card path can use the card when a token cannot be fetched or when the connector is not enabled for network tokens. Test at least one saved card for each card network on your allow list. Done means each payment completes through the saved-card path, or fails with a result you have documented and mapped to a next action for your team.
Why the card must stay in the vault when a token cannot be used
The Hyperswitch docs say a card should stay in the vault for fallback. The reason is that the saved-card path can still charge the customer's card in two cases: when the network token cannot be fetched, and when the connector is not enabled for network tokens. In both cases the payment has no token to use, so the system depends on the stored card. If the vault record has been deleted or was never kept after tokenization, the fallback has nothing to read and the payment fails, even though the customer's card is valid. Treat the vault record as a dependency of the token flow, and plan your enrollment and storage design around that dependency from the start.
This has direct consequences for data retention. Each card should be kept for as long as either the network token or the fallback might be needed, and your retention schedule must be checked against both uses. Deletion workflows need the same check. Before you build a customer deletion or card expiry cleanup job, confirm whether removing a saved card deletes the network token, the vault record, or both, and whether that deletion breaks the fallback for other payments. The retention periods themselves are a legal and policy decision for your organization, made with counsel, and should not be inferred from the platform defaults.
Re-tokenizing a card needs the same care. When a card is reissued or a customer enrolls the same card again, decide whether the existing vault reference is updated, kept, or joined by a second reference. Duplicate references widen the data you must track, complicate deletion, and can enlarge the set of records your PCI DSS assessment covers. Test both fallback cases in a staging environment: force a token fetch failure, and run a payment through a connector outside the network-token allow list. Confirm that the saved-card path completes in each case, and record the results for your change records.
Your vault model determines who answers these questions. In the self-hosted in-house PCI model, the Hyperswitch docs state that the merchant is fully responsible for PCI DSS certification and data handling, so fallback, retention and deletion all sit inside your own assessed scope. With an external PCI vault provider such as VGS or Tokenex, card data is held by that provider, and your fallback depends on their references and on their retention and deletion terms. With the SaaS Hyperswitch Vault, confirm where the card is held, how deletion reaches the hosted service, and what the fallback needs from it. Ask each provider for its deletion and re-tokenization behavior in writing, and confirm the fallback behavior of your Hyperswitch version against the network tokenisation documentation before go-live.
Security and operational risks of token handling
Enabling network tokenisation in a self-hosted Hyperswitch deployment changes where card data sits, who controls the keys, which connectors receive traffic and how payments fail. The six risks below are connected: the vault fallback that keeps payments flowing also keeps more card data in scope, and the allow lists and token service decide where traffic goes. Review them together before enabling the feature in production.
Vault fallback widens stored card data
Hyperswitch documents keeping a card in the vault for fallback, because the saved-card path can charge the card when a network token cannot be fetched or a connector is not enabled for network tokens. Every card kept for that purpose stays inside the PCI DSS requirement areas for protecting stored account data, restricting access and logging access. Confirm which vault model you run, which cards are retained, and how the scope of the vault is documented for your assessor.
Key and encryption management sits with you
The encryption service holds the keys that protect vaulted card data, and in a self-hosted deployment your team runs it. Key generation, storage, rotation, access control and the backups needed to restore the service without exposing keys all become your responsibility. Confirm where keys are held, who can read them, how rotation is scheduled and how key recovery is tested before go-live.
Allow list changes route traffic
The network and connector allow lists decide which card networks and which connectors may receive network-token traffic. The Hyperswitch example configuration lists Visa, American Express and Mastercard, and Adyen, Cybersource, Peach Payments and TrustPay as token connectors, and operators can change these lists. Adding a connector sends live token requests to that provider without a code change, so each entry should match a contracted and tested processor.
Token service outages trigger fallback
When the network tokenisation service is unavailable or returns no token, payments can move to the vault fallback path and use the stored card instead. That switch changes the credential used for the payment and can change approval rates and PCI scope at the same time. Test the outage path in a sandbox, decide how long traffic may stay on fallback, and name the team that is alerted when it starts.
Monitor token failures continuously
Token failures are easy to miss when payments still succeed on fallback. Track token request errors, fallback rates by network and connector, and declines that follow a token attempt. Alert on calls rejected with NetworkTokenizationServiceNotConfigured, which points to a profile that has the feature enabled without a configured service, and alert on sudden shifts in each series alongside overall success rates.
Change control for allow lists
Allow lists are configuration, and changes to them need the same review as code. Limit who can edit the network and connector lists, require a second reviewer, keep the approved set in version control or a ticketing record, and test each addition in a sandbox before production. Prepare a rollback step in advance, because reverting an entry changes routing again and should be recorded like any other change.
How much effort does network tokenisation take, and can our team do it?
What drives the effort of network tokenization in a self-hosted Hyperswitch?
The main drivers are the number of profiles, the vault model you choose, the token service integration, connector support for each card network, the volume of testing, and the PCI DSS scope review. These factors compound. Network tokenization is enabled per profile, so ten profiles mean ten configurations to verify. The vault model decides whether card data stays in your own PCI environment or sits with an external or SaaS vault, which changes both the integration work and the evidence you must produce. The token service integration must be configured before any call succeeds. Connector support varies by card network and processor, so each network and connector pair needs its own test pass. The PCI scope review depends on all of the above.
Can our internal team enable network tokenization using only the Hyperswitch docs?
A team with Kubernetes, PostgreSQL and payments experience can follow the documented steps for a single profile in a test environment. The docs explain the profile flag, the token service configuration and the network and connector allow lists, and the self-hosting guides cover deployment. The docs leave several decisions to you: which networks and connectors fit your merchant mix, whether your processor and network agreements support tokens, how fallback behavior is designed, and how the change is proven in testing before production. Teams without a payments engineer or a PCI lead often find these decisions take longer than the configuration itself. The practical test is whether someone on your team owns each decision and the sign-off that follows.
What does the client need to provide for a network tokenization engagement?
Expect to supply test profiles, sandbox connector accounts, access to the environment where Hyperswitch runs, and a named security approver. Network and processor agreements also need review, because token use depends on what your card network and processor contracts allow. Without test profiles and connector accounts, testing cannot start. Confirm with each processor whether network token enrollment is available on your account and what it requires. Security sign-off covers the vault model, data flows and the fallback design. Ask that the written scope list each prerequisite with an owner, so delays are visible early.
How long does network tokenization take, and what changes the timeline?
No duration is stated here, because the timeline depends on the drivers and on how quickly the client provides access and sign-offs. The main factors are the number of profiles, the number of card networks and connectors in scope, the vault model, how many processor accounts must be enrolled for tokens, and how long external agreements and security review take. Sandbox availability and any redesign of fallback behavior also move the schedule. A written scope turns these factors into a plan with agreed milestones and named dependencies, so you can compare an internal estimate or a partner quote against the same list of assumptions.
What should we ask for in a written scope for network tokenization?
Ask for a clear list of what is included and excluded. The scope should name the profiles in scope, the chosen vault model with the reasons for it, the token service configuration, the network and connector allow lists, and the fallback behavior when a token cannot be fetched or a connector is not enabled. It should describe the test matrix by network and connector, the PCI scope review and the evidence it produces, the client prerequisites with owners, and the documentation and handover. Also ask how changes to the allow lists and upgrades to later Hyperswitch releases will be handled after go-live.
Does network tokenization change our PCI DSS scope?
It can, and the vault model is the main reason. In the self-hosted, in-house PCI model, the Hyperswitch docs state that the merchant is fully responsible for PCI DSS certification and data handling. With an external PCI vault provider or the SaaS Hyperswitch Vault, card data handling is partly outside your environment, but your scope still covers the systems that touch card data. DeployOpen prepares systems, controls and evidence for compliance assessments, but it does not issue audit reports or attestations. A qualified assessor makes that determination. Ask your assessor early which data flows and controls they will expect to see.
What happens when a network token cannot be used for a payment?
The payment can fall back to the saved card, which is why the Hyperswitch docs advise keeping the card in the vault. The saved-card path can use the card when the token cannot be fetched or when the connector is not enabled for network tokens. Your test plan should cover each failure path: the profile flag turned off, the token service not configured (which Hyperswitch rejects with NetworkTokenizationServiceNotConfigured), a token fetch failure, and a connector without network token support. Confirm the exact fallback behavior for your versions in a sandbox before production, and record the results as part of the security evidence.
What to confirm in your environment before you rely on network tokens
Network tokens only help when every layer agrees: the profile, the token service, the allow lists and the processors behind them. The cards below list what to verify in your own deployment rather than assume from the example configuration.
Network and connector support
Confirm which card networks and network-token connectors your processors and your Hyperswitch version support for network tokens. The repository example allows Visa, American Express and Mastercard as networks and Adyen, Cybersource, Peach Payments and TrustPay as network-token connectors. Ask each processor whether it issues and processes network tokens for the cards and regions you accept, and check that the connector is enabled for the feature in your build.
Allow lists against your contracts
Compare the example network and connector allow lists with what your processor agreements actually cover. The docs note that operators can change these lists, so the values in your deployment may differ from the repository example. Record the list in your configuration, name the owner who approves changes, and confirm each entry with the processor before it goes live.
Token service configuration
Network tokenisation needs a configured network tokenisation service, and calls made without one are rejected with NetworkTokenizationServiceNotConfigured. Confirm the service settings for your specific Hyperswitch version, including credentials, endpoints and environment separation between test and production. Also confirm that the flag is enabled per profile, since the default is off, and that each profile you expect to use tokens has been set up deliberately.
Fallback when a token cannot be fetched
Test what happens when a network token cannot be fetched or a connector is not enabled for network tokens. The Hyperswitch docs say a card should stay in the vault for fallback, because the saved-card path can then use the card. Confirm that your card vault retains the stored card, that the fallback path runs in your staging environment, and that failed payments are logged clearly enough for your operations team to see which path was used.
Release notes and version changes
Review the Hyperswitch release notes for every version between your current deployment and your target, and check whether any change affects network tokenisation, token service settings or the allow lists. Releases ship roughly monthly with compatibility matrices for Control Center and web clients, so plan the review into each upgrade. Confirm the changes with your own test results rather than relying on the notes alone.
How network tokens fit the three Hyperswitch vault models
The vault model you choose decides where card data and network token data live, and who answers for them. Hyperswitch documents three self-hosted models, so settle the model before you enable network tokenisation on a profile. The choice affects your PCI DSS scope, your vendor contracts and the design of the fallback path, and changing it later means moving stored cards and tokens between systems.
Self-hosted with the native Hyperswitch Vault (in-house PCI). In this model the card vault runs in your infrastructure, and the card data sits in your estate. The Hyperswitch docs state that the merchant is fully responsible for PCI DSS certification and data handling in this model. You carry the vault hosting, key management, access control, logging and assessment work. Network token requests, token storage and any card-on-file records also fall inside your scope. Ask your QSA to map every service that touches a network token or a fallback card record before you commit to this model.
Self-hosted orchestration with an external PCI vault. Here you run the Hyperswitch orchestration layer, while a third-party vault provider such as VGS or Tokenex holds the card data. Your scope narrows, but it does not disappear. You still operate the routing and application services, and you still decide which data reaches them. Confirm with the vault provider whether it issues or stores network tokens, how it returns token and fallback data to Hyperswitch, and which of its controls you can evidence in your own assessment. Request the provider's responsibility matrix in writing.
Self-hosted orchestration with the SaaS Hyperswitch Vault. In this model you host the orchestration services, and the card vault runs as a hosted service. The split of responsibilities is different from the external vault model, so the questions change. Confirm where network tokens are created, how long token and card records are retained, and what happens to a stored card when a token request fails. Also confirm how the vault service is audited and how you receive its evidence for your own assessment.
Whichever model you choose, keep the card in the vault as a fallback. The Hyperswitch docs say the saved-card path can use the card when the token cannot be fetched or the connector is not enabled for network tokens. Ask your vault provider and QSA to document this fallback path in a data flow diagram, including which component decides to use the card, which logs record that decision and where the card is decrypted. A fallback that the assessor cannot trace will create findings later.
How DeployOpen scopes, delivers and supports network tokenization
DeployOpen works on Hyperswitch network tokenization as a fixed-scope engagement inside your own infrastructure, starting from the profiles, card networks and connectors you plan to use. We configure and test the feature in your environment, keep the card vault fallback intact, and document each setting for your team. Ongoing support is available as a retainer.
How we scope
- The written scope lists each profile that will enable network tokenization and the reason for it.
- It names the card networks and network-token connectors in scope, checked against your processor agreements.
- It sets out the vault model, because the card vault fallback depends on where card data is stored.
How we build
- Set the profile flag and configure the network tokenization service in your self-hosted deployment.
- Apply the network and connector allow lists, then test each combination in a non-production environment.
- Test the fallback path so payments complete through the saved-card route when a token cannot be fetched.
How we hand over
- A configuration record for each profile, covering the flag, allow lists and vault fallback settings.
- A runbook for NetworkTokenizationServiceNotConfigured and token retrieval failures, with the steps to take.
- Test results and a walkthrough with your payments and operations teams before go-live.
How we support
- Retainer support can cover Hyperswitch upgrades, with each release checked against its Control Center compatibility matrix.
- Changes to card networks or connector lists are re-tested in staging before they reach production traffic.
- Dependency changes, such as the Superposition requirement in v1.124.0, are reviewed before each upgrade.

