swiyu
swiyu is the Swiss e-ID administration's Public Beta environment for the planned Swiss e-ID stack. It includes the Beta Credential Service (BCS) issuer and verifier, a Base Registry for onboarding issuers and verifiers, a Trust Registry, and the "swiyu" wallet for iOS and Android.
What works
| Flow | Status |
|---|---|
| Procivis One Desk Issuer → swiyu wallet | ✅ |
| Procivis One Desk Verifier → swiyu wallet | ✅ |
| BCS Issuer → Procivis One Wallet | ✅ |
| BCS Verifier → Procivis One Wallet | ✅ |
Known limitations
The swiyu wallet only checks the status list hosted on the Public Beta Base Registry. We have not implemented credential status changes hosted in their infrastructure, so the wallet never updates credential status.
Try it yourself
Identifier
The first step is to create an identifier which is trusted by the swiyu wallet. Follow the steps to onboard to the swiyu Base and Trust Registry, with the following exceptions:
- Instead of generating a
did:webvhusing their DID Toolbox, use the Procivis One Desk to generate an ECDSA key and a DID- Provide the external hosting URL you have reserved on the Base registry
- Provide a key for assertion and authentication methods, but nothing else
{
"name": "swiyu identifier example",
"did": {
"keys": {
"assertionMethod": [
"4307de8f-35f9-4326-b9df-d230e2bcdec0"
],
"authentication": [
"4307de8f-35f9-4326-b9df-d230e2bcdec0"
],
"capabilityDelegation": [],
"capabilityInvocation": [],
"keyAgreement": []
},
"method": "WEBVH",
"name": "did webvh example",
"params": {
"externalHostingUrl": "https://www.example.com"
}
}
}
-
Fetch the DID log with
GET /ssi/did-webvh/v1/{DID-ID}/did.jsonland upload according to the onboarding steps -
Create a Proof of Possession for your DID
-
"Fetch the Challenge" from the swiyu API and store the
nonce(§6.1) -
In the Core API, create a PoP:
POST /api/signature/v1{"data": {"nonce": "<nonce>"},"issuer": "{{DID-ID}}","issuerCertificate": "3fa85f64-5717-4562-b3fc-2c963f66afa6","signer": "SWIYU_PROOF_OF_POSSESSION"}
-
-
Submit the PoP according to the swiyu instructions
Issuance and verification
Once your identifier is established, the flows follow the general patterns described throughout the docs with the following exceptions:
- Credential format: Use
SD_JWT_VC_SWIYU- This configured format uses a
swiyuModeparameter which includes some interop-specific formatting
- This configured format uses a
- Issuance protocol: Use
OPENID4VCI_FINAL1_SWIYU- This configured protocol uses the
swiyuURL scheme and theswiyuModeparameter
- This configured protocol uses the
- Verification protocol: Use
OPENID4VP_FINAL1_SWIYU- This special
typeincludes interop-specific adjustments
- This special
- If you include any images in your credential schema, use
SWIYU_PICTUREas thedatatypefor the claim
Tested versions
| Component | Version | Date tested |
|---|---|---|
| BCS Issuer/Verifier | - | September 2026 |
| swiyu Wallet | 1.17 | September 2026 |