canton-network-docs/Wallet GatewaySet up & operate
Networks & identity providers
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 byid. The Wallet Gateway supports two IDP types.
OAuth / OpenID Connect
Integrates with an external OAuth 2.0 / OpenID Connect provider to obtain tokens.id(required): must match theidentityProviderIdreferenced by networks.type(required):"oauth".issuer(required): theissclaim 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 theidentityProviderIdreferenced by networks.type(required):"self_signed".issuer(required): theissclaim 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 theidof 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’sauth (and optional adminAuth) uses one of three methods.
authorization_code
client_credentials
self_signed
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
Connectedtag.
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.