Skip to main content

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

FlowStatus
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:webvh using 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.jsonl and 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 swiyuMode parameter which includes some interop-specific formatting
  • Issuance protocol: Use OPENID4VCI_FINAL1_SWIYU
    • This configured protocol uses the swiyu URL scheme and the swiyuMode parameter
  • Verification protocol: Use OPENID4VP_FINAL1_SWIYU
    • This special type includes interop-specific adjustments
  • If you include any images in your credential schema, use SWIYU_PICTURE as the datatype for the claim

Tested versions

ComponentVersionDate tested
BCS Issuer/Verifier-September 2026
swiyu Wallet1.17September 2026