Login Issue on Wallet UI via Public IP (crypto.subtle Error) in canton validator
I have set up the SV and validator for a development environment on a local network using the guide available here: https://docs.sync.global/app_dev/testing/index.html.
I have verified that the SV is working perfectly.
When I access the wallet using localhost:8080, everything works fine. However, when I try to access it using public_ip:8080, I encounter an error during login. The error message is:
"Something went wrong. Latest error (4/30/2025, 4:14:41 PM):
TypeError: crypto.subtle is undefined"
Can anyone help me figure this out? I’m using the same machine. When I log in to the wallet using localhost:8080, it works perfectly. But in a new tab, when I try to log in using public_ip:8080, I get the error shown in the screenshots below:
-
Error when using
public_ip:8080:
-
Working view using
localhost:8080:
I also posted this issue on the Global Sync Forum. You can find the full conversation here:
https://lists.sync.global/g/globalSyncForum/topic/unable_to_access_wallet_ui/112536825
Please check the forum thread and help me figure out what’s causing the issue.
Hi, @Rahil_M! Welcome to the Daml Forums!
Thank you for the context from the GSF mailing list. Very helpful!
Can you try setting SPLICE_APP_UI_HTTP_URL=false in your Docker Compose file? Restart and try the public URL.
SPLICE_APP_UI_HTTP_URLis checked in docker-entrypoint.sh.- And then used to edit the config.js.
- The config.js includes the http/https protocol for the validator api.
This may not fully unblock you, but it is worth a try.
As a side note, an error message has been added for this case:
if (!crypto.subtle) {
throw new Error(
'Web Crypto API is not available. Ensure you are running in a secure context (HTTPS or localhost) and using a modern browser that supports the Web Crypto API.'
);
}
Thank you for the solution — it’s working now. I appreciate your response!


