Wallet Interop Status

Run 2026-11-05_22-00-03
96 passing141 failing35 errored2 on retry
Authbound
2026.5.0 (6)
Gataca (ebsi)
2.6.1 (4220674)
Heidi
1.0.8 (1000800)
Hovi
1.3.3 (39)
Paradym
1.23.0 (114)
Procivis
1.89.1 (6776)
Toppan
1.6.2 (10)
Unime
0.16.0 (16000)
Pension demo
Issuers
Authbound
rejectedon retrydismissed
Hovi
rejecteddismissed
Paradym
rejectedtimed outdismissed
Procivis
rejectedrejectedrejecteddismissed
walt.id
rejectedrejectednot storedrejectedrejectedrejecteddismissed
Verifiers
Authbound
rejectedunroutableunroutableunroutable
Hovi
rejecteddismissed
Paradym
rejecteddismissed
Procivis
rejectedabsent
walt.id
rejectedno matchrejectedrejectedrejecteddismissed
EUDI credentials
Issuers
AAAnimo Av Mdoc
rejectedtimed out
AMAnimo Mdl
rejectedtimed outdismissed
APAnimo PID Mdoc
rejectedtimed outdismissed
APAnimo PID Sdjwt
rejectedtimed outdismissed
FIFindynet Ips
rejectedrejectedrejecteddismissed
HPHovi Playground PID Mdoc
rejecteddismissed
HPHovi Playground PID Sdjwt
rejectedrejecteddismissed
IPIgrant Playground Av Mdoc
rejectednot storedrejecteddismissed
IPIgrant Playground PID Mdoc
rejectednot storedrejecteddismissed
IPIgrant Playground PID Sdjwt
rejecteddismissed
LPLissi PID Sdjwt
rejectednot storedrejectedtimed outnot storeddismissed
MAMultipaz Av Mdoc
rejectedrejectednot storedrejectedtimed outrejectedrejected
MMMultipaz Mdl
rejectedrejectednot storedrejectedtimed outrejectedrejected
MPMultipaz PID Mdoc
rejectedrejectednot storedrejectedtimed outrejectedrejected
MPMultipaz PID Sdjwt
rejectedrejectednot storedrejectedtimed outrejectedrejected
Verifiers
EREUDI Reference Av Mdoc
no matchtimed outdismissed
EREUDI Reference Mdl
no matchdismissed
EREUDI Reference PID Mdoc
no matchtimed outdismissed
EREUDI Reference PID Sdjwt
no matchtimed outdismissed
EPEUDIPLO PID Mdoc
rejectedtimed outdismissed
FIFindynet Ips
rejectedrejectedrejectedrejectedon retryrejecteddismissed
IPIgrant Playground PID Mdoc
rejecteddismissed
IPIgrant Playground PID Sdjwt
rejecteddismissed
LPLissi PID Sdjwt
rejectedrejectedrejectedrejecteddismissed
Test metadata

The exact app build each wallet column was tested with, and the device it ran on. A result only holds for the build listed here.

WalletVersion (build)PackageDevice
Authbound2026.5.0 (6)io.authbound.walletmoto g24 / Android 14
Gataca2.6.1 (4220674)com.gataca.identitymoto g24 / Android 14
Heidi1.0.8 (1000800)ch.ubique.heidi.androidsdk_gphone64_arm64 / Android 13
Hovi1.3.3 (39)droidwallet.hovi.idmoto g24 / Android 14
Paradym1.23.0 (114)id.paradym.walletmoto g24 / Android 14
Procivis1.89.1 (6776)ch.procivis.one.wallet.trialmoto g24 / Android 14
Toppan1.6.2 (10)com.toppansecurity.walletappmoto g24 / Android 14
Unime0.16.0 (16000)com.impierce.identity_walletmoto g24 / Android 14
Where the flow broke down

Each line follows one kind of test through its steps, left to right. The number under a step is how many tests failed at that step; the last one, Complete, counts the tests that passed. Several failures on the same step usually share one cause. Hover a step to see what it checks.

Issuance
  1. Offer link delivered—
  2. Wallet opens—
  3. Offer shown25stoppedtimed out, dismissed
  4. Request for acceptance48stoppedrejected
  5. Credential stored9stoppednot stored
  6. Complete57passed
Verification
  1. Request link delivered3stoppedunroutable
  2. Wallet opens1stoppedabsent
  3. Request shown16stoppedtimed out, dismissed
  4. Matching credential found5stoppedno match
  5. Request for acceptance20stoppedrejected
  6. Presentation shared—
  7. Complete39passed

49 cells are not on the lines above — 21 issuance, 28 verification. Their failure could not be tied to a step.

History overview
05 Nov 2026, 22:00this run96/27235%↑2Heidi 1.0.7 → 1.0.8
03 Nov 2026, 22:0094/27235%↑17Paradym 1.22.3 → 1.23.0
02 Nov 2026, 22:0077/27228%↑77
28 Oct 2026, 22:000/00%↓97
27 Oct 2026, 22:0097/27236%Procivis 1.88.1 → 1.89.1
26 Oct 2026, 22:0097/27236%↑62new agent: Animo Av Mdoc Issuernew agent: Animo Mdl Issuernew agent: Animo PID Mdoc Issuernew agent: Animo PID Sdjwt Issuernew agent: EUDI Reference Av Mdoc Verifiernew agent: EUDI Reference Mdl Verifiernew agent: EUDI Reference PID Mdoc Verifiernew agent: EUDI Reference PID Sdjwt Verifiernew agent: EUDIPLO PID Mdoc Verifiernew agent: Findynet Ips Issuernew agent: Findynet Ips Verifiernew agent: Hovi Playground PID Mdoc Issuernew agent: Hovi Playground PID Sdjwt Issuernew agent: Igrant Playground Av Mdoc Issuernew agent: Igrant Playground PID Mdoc Issuernew agent: Igrant Playground PID Mdoc Verifiernew agent: Igrant Playground PID Sdjwt Issuernew agent: Igrant Playground PID Sdjwt Verifiernew agent: Lissi PID Sdjwt Issuernew agent: Lissi PID Sdjwt Verifiernew agent: Multipaz Av Mdoc Issuernew agent: Multipaz Mdl Issuernew agent: Multipaz PID Mdoc Issuernew agent: Multipaz PID Sdjwt IssuerParadym 1.20.2 → 1.22.3
19 Oct 2026, 22:0035/8044%Gataca 2.5.9 → 2.6.1
15 Oct 2026, 22:0035/8044%↑9

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

History by collection

The same runs as above, split by collection of issuers and verifiers: tests passed out of all tests in each collection. A dash means that collection was not part of the run.

Pension demoEUDI credentials
05 Nov 2026, 22:00this run35/8044%61/19232%
03 Nov 2026, 22:0035/8044%59/19231%
02 Nov 2026, 22:0027/8034%50/19226%
28 Oct 2026, 22:00——
27 Oct 2026, 22:0035/8044%62/19232%
26 Oct 2026, 22:0035/8044%62/19232%
19 Oct 2026, 22:0035/8044%—
15 Oct 2026, 22:0035/8044%—
About this report

These results were generated by Findy Wallet Tester, an open-source automated interoperability test suite. Each wallet is tested against the Pensiondemo issuers and verifiers and against public EUDI Wallet test services: PID, mDL and age-verification credentials in mdoc and SD-JWT formats, from reference, playground and vendor deployments. Every provider in the matrix, and where it is deployed, is listed in the suite's provider configuration.

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. 22 of the 30 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 04 Nov 2026, 22:00: up if the pair started passing, down if it stopped. Cells without an arrow are unchanged.

  • ↓Newly failing — The pair passed in the previous run and does not now. 2 cells
  • ↑Newly passing — The pair failed in the previous run and passes now. 4 cells
  • →Different reason — Red in both runs, but the flow broke down at a different point. 6 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. 3 cells
  • rejectedRejected — The wallet received the offer or request and refused it, showing an error of its own. 68 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. 5 cells
  • not storedNot stored — The wallet accepted the credential, but its credential count never moved — nothing was kept. 9 cells
  • dismissedDismissed — The wallet returned to its home screen without ever offering anything to accept or share. 27 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. 14 cells