A Wallet Gateway connects users to one or more networks. Each network points at a Canton
validator’s Ledger API and references an identity provider (IDP) that issues the JWT used
to authenticate against that validator. This guide covers both, plus the authentication
methods a network can use.
Networks and IDPs are seeded from the bootstrap section on first run. After that, the admin
user (see server.admin in Configure the Wallet Gateway)
can manage them at runtime through the User API or User UI.
Identity providers
Every network references an IDP by id. The Wallet Gateway supports two IDP types.
Use an OAuth IDP for production. Self-signed tokens are for development and testing only.
OAuth / OpenID Connect
Integrates with an external OAuth 2.0 / OpenID Connect provider to obtain tokens.
id (required): must match the identityProviderId referenced by networks.
type (required): "oauth".
issuer (required): the iss claim value, matching your provider’s configuration.
configUrl (required): the OpenID Connect discovery endpoint, typically
${OAuthServerURL}/.well-known/openid-configuration.
Self-signed
Generates JWTs locally using a secret. Convenient for development, not for production.
id (required): must match the identityProviderId referenced by networks.
type (required): "self_signed".
issuer (required): the iss claim value, matching what the validator expects.
Identity Provider Management in the Wallet Gateway
This guide is only for parties with administrator access.
- Select the hamburger icon on the top right and click Identity Provider.
- Review the list of available identity providers.
- To add: click on + New to add a new identify provider.
- To edit: click on an identity provider card to make changes or delete it permanently.
Networks
A network represents a Canton validator that users can reach through the Wallet Gateway. networks
is an array, so you can configure several in one Wallet Gateway.
id (required): unique identifier in CAIP-2
form, for example "canton:localnet".
name (required): a user-friendly name shown in the UI.
description (optional): a description shown to users.
synchronizerId (required): the synchronizer ID used on the validator. For multiple
synchronizers, configure a separate network per synchronizer.
identityProviderId (required): must match the id of a configured IDP.
ledgerApi.baseUrl (required): the base URL of the validator’s Ledger API.
auth (required): authentication for normal ledger operations. This is the method users go
through in the UI.
adminAuth (optional): authentication for admin operations, used by the backend only.
Authentication methods
A network’s auth (and optional adminAuth) uses one of three methods.
authorization_code
client_credentials
self_signed
clientSecret and adminAuth credentials are sensitive. Keep them out of version control and
supply them through environment variables or a secret manager. See the
Configuration reference.
Network Management in the Wallet Gateway
This guide is only for parties with administrator access.
- Select the hamburger icon on the top right and choose Network.
- Review the list of available networks.
- To add: click on + New to add a new network.
- To edit: click on a network card to make changes or delete it permanently.
- The connected network can be reviewed at the top of the pop-up showing a green dot: [network name] or in the network list with a green
Connected tag.
Runtime management
Once the Wallet Gateway is running, the admin user can add, edit, and remove networks and IDPs
without restarting, using the User API (addNetwork, removeNetwork, addIdp, removeIdp,
listNetworks, listIdps) or the Settings page in the User UI. Runtime changes are
stored in the database, so back it up to avoid losing them. See the
User API and
Manage wallets.