Wallet Interop Status

Run 2026-09-10_22-00-03
24 passing49 failing7 errored
Authbound
2026.5.0 (6)
Gataca (jwk)
2.5.9 (4220580)
Heidi
1.0.7 (1000702)
Hovi
1.3.0 (34)
Paradym
1.20.2 (94)
Procivis
1.85.3 (6423)
Toppan
1.5.0 (7)
Unime
0.15.0 (15000)
Issuance
Authbound Issuer
timed outrejectednot storedrejectedtimed outrejectedrejected
Hovi Issuer
rejected
Paradym Issuer
rejectedtimed outrejectedrejected
Procivis Issuer
rejectedrejectedrejectedrejected
walt.id Issuer
rejectedtimed outrejectedabsentrejectedrejectedrejectedrejected
Verification
Authbound Verifier
unroutableno matchrejectedunroutabletimed outunroutable
Hovi Verifier
rejectedtimed outdismissed
Paradym Verifier
rejectedrejectedrejecteddismissed
Procivis Verifier
rejectednothing held
walt.id Verifier
rejectedunroutablerejectedrejectedrejecteddismissed
Builds under test
WalletVersion (build)PackageDevice
Authbound2026.5.0 (6)io.authbound.walletmoto g24 / Android 14
Gataca2.5.9 (4220580)com.gataca.identitymoto g24 / Android 14
Heidi1.0.7 (1000702)ch.ubique.heidi.androidsdk_gphone64_arm64 / Android 13
Hovi1.3.0 (34)droidwallet.hovi.idmoto g24 / Android 14
Paradym1.20.2 (94)id.paradym.walletmoto g24 / Android 14
Procivis1.85.3 (6423)ch.procivis.one.wallet.trialmoto g24 / Android 14
Toppan1.5.0 (7)com.toppansecurity.walletappmoto g24 / Android 14
Unime0.15.0 (15000)com.impierce.identity_walletmoto g24 / Android 14
Where the flow broke down
Issuance
  1. Offer link delivered
  2. Wallet opens1stoppedabsent
  3. Offer shown4stoppedtimed out
  4. Accepted18stoppedrejected
  5. Credential stored1stoppednot stored
  6. Complete13passed
Verification
  1. Request link delivered4stoppedunroutable
  2. Wallet opens
  3. Request shown5stoppedtimed out, dismissed
  4. Match found2stoppedno match, nothing held
  5. Accepted10stoppedrejected
  6. Presentation shared
  7. Complete11passed

11 cells are not on the lines above — 3 issuance, 8 verification. Their failure could not be tied to a step.

History overview
10 Sep 2026, 22:00this run24/5630%↑3
09 Sep 2026, 22:0021/5926%↓2new agent: walt.id Issuernew agent: walt.id Verifierdropped wallet: Gataca (ebsi)dropped agent: Sphereon IssuerUnime 0.14.1 → 0.15.0
08 Sep 2026, 22:0023/5828%↑2
07 Sep 2026, 22:0021/6026%↑1Procivis 1.85.2 → 1.85.3
07 Sep 2026, 03:0020/5826%↓3
05 Sep 2026, 03:0023/5828%↑2
04 Sep 2026, 03:0021/6026%↑1Heidi 1.0.7 (1000701 → 1000702)Hovi 1.3.0 (29 → 34)Procivis 1.84.1 → 1.85.2
03 Sep 2026, 03:0020/6125%↑1

17 further recorded runs not shown — same passing count, same coverage, same wallet builds as the run before.

About this report

These results were generated by Findy Wallet Tester, an open-source automated interoperability test suite against Pensiondemo issuers and verifiers. You can find more about them from the following links.

Questions or issues?

Results reflect a single automated run and may not capture all real-world scenarios. Passed results reflect fully working compatibility within testing limitations but failures can stem from configuration differences, transient network conditions, or test environment limitations rather than fundamental incompatibility. If a result looks incorrect or there are wallets or agents which should be added to testing suite, please raise an issue in the Findy Wallet Tester Github repository. We welcome feedback and contributions to the project.

Reading the run history

One row per past run, newest first, and only for runs that changed something: the number of passing cells moved, the run covered new ground, or a wallet shipped. 17 of the 25 recorded runs repeated the previous result exactly and are counted rather than listed.

  • ↑2Passing cells against the previous recorded run. Green is a gain, red a loss; hover it for the wording.
  • new agent: walt.id IssuerThe run covered a wallet or an agent the one before it did not, so the totals are not measuring the same matrix.
  • dropped wallet: Gataca (ebsi)The run stopped covering something the one before it tested. No cell turns red for this — the matrix simply gets smaller, which moves the totals on its own.
  • Procivis 1.85.2 → 1.85.3A wallet shipped a new build between the two runs — usually the reason a column changed colour. A new build under an unchanged version name shows its build number instead.
Reading the matrix

Rows are agents (issuer or verifier services); columns are wallet apps. A cell shows whether the wallet successfully completed a testing flow with an agent. The Issuance section covers credential offer and acceptance; Verification covers presentation requests and responses. A passing diagonal (same vendor on both sides) does not imply cross-vendor compatibility, meaning each cell is independent.

Status key
  • Pass — The full protocol flow completed successfully end-to-end.
  • Fail — The flow did not complete. The wallet or agent rejected the request, timed out, or returned an unexpected response.
  • Error — The test runner hit an unexpected exception before the flow could be evaluated. The result is inconclusive.
What moved

An arrow in a cell's corner shows how it moved since the run of 09 Sep 2026, 22:00: up if the pair started passing, down if it stopped. Cells without an arrow are unchanged.

  • Newly passing — The pair failed in the previous run and passes now. 3 cells
  • Different reason — Red in both runs, but the flow broke down at a different point. 13 cells
Why a cell is red

Each failing cell carries a short reason under its mark. It names which side the flow broke down on.

  • unroutableUnroutable — The link never reached the wallet. Android had no app registered for the URL the issuer or verifier handed out, so the wallet never saw the offer or request at all. 4 cells
  • rejectedRejected — The wallet received the offer or request and refused it, showing an error of its own. 28 cells
  • no matchNo match — The wallet showed the request and answered that it holds nothing satisfying it, even though it is not empty — a disagreement about credential types. 1 cell
  • nothing heldNothing to present — Verification ran against a wallet holding no suitable credential, so there was nothing to share. 1 cell
  • not storedNot stored — The wallet accepted the credential, but its credential count never moved — nothing was kept. 1 cell
  • dismissedDismissed — The wallet returned to its home screen without ever offering anything to accept or share. 3 cells
  • absentAbsent — The wallet never came to the foreground. 1 cell
  • timed outTimed out — The wallet was still working when the wait ran out. No verdict was reached either way. 6 cells