Wallets
Learn how to hold and use credentials.
This page explains the basics of using Procivis One as a wallet to recieve credentials and make presentations.
Types of wallets
The system enables two basic types of wallets: mobile and organizational.
Mobile wallets
Use the SDK to build a wallet for mobile devices.
Related guide: SDK reference
Organizational wallets
Use the Desk to build a server-based wallet for an organization. The workflows for issuance and presentation in an organizational wallet are largely the same as with mobile devices. The key differences:
- Proximity-based flows are unavailable: server-based wallets do not support the transport protocols, such as Bluetooth Low Energy (BLE), required for proximity-based flows.
- Permissions management is required: mobile devices are presumed to have one owner, so permissions do not need management. By contrast, organizational wallets require careful consideration of permissions. The Desk adds the required layer of user permissions to the Core functionality.
Wallet workflow
The workflows for issuance and presentation follow a general pattern:
Related guides:
Interaction endpoints
Use the interaction endpoints as the primary tools to receive credentials and share presentations.
transport
array
For mobile wallets with multiple transport protocols enabled, use the transport
array of handleInvitation
to specify which transport protocol should be used.
Together with the order of transport protocols in the configuration, the array
enables dynamic protocol choice for exchange protocols.
The table below describes how the system uses the array and the configuration to determine
which transport protocol to use. The table assumes the values being passed are supported.
See the supportedTransports
capability of the verificationProtocol
object of the configuration
for supported transport protocols.
transport array value | System action |
---|---|
[] | Of available transports from the configuration, uses highest order |
[one value] | Uses the specified transport |
[multiple values] | Following the order from the configuration, uses first supported transport found |
Related guide: Transport order configuration