PrivateDAO is prepared for real wallet-based review and operator use on Devnet, but wallet compatibility is treated as a runtime property that must be observable rather than assumed.
The current browser surface detects and works with injected Solana wallet providers such as:
- Phantom
- Solflare
- Backpack
- Glow
- compatible injected providers exposed through
window.solana
For a governance product, wallet behavior is part of the security surface.
If provider detection, signing, or transaction broadcast paths are brittle, reviewers will correctly treat the product as operationally weak even if the protocol logic is solid.
The current frontend hardening includes:
- provider-specific detection and fallback resolution
- connection-path fallback across
connect,request, andenable - wallet public-key extraction across multiple provider response shapes
- delayed public-key readiness polling after connection so injected providers have time to expose the selected account
- transaction-path fallback across:
sendTransactionsignAndSendTransactionsignTransaction
- runtime session rehydration
- disconnect and account-change handling
- interactive diagnostics for provider and RPC visibility
Use the live diagnostics page:
https://privatedao.org/diagnostics/
This surface exposes:
- connected provider identity
- connected public key
- detected provider states
- runtime wallet capabilities
- browser capability flags
- current RPC health
- canonical program and PDAO anchors
The repository now also publishes a generated wallet compatibility matrix:
docs/wallet-compatibility-matrix.generated.mddocs/wallet-compatibility-matrix.generated.json
This makes the supported wallet surface reviewer-visible in a structured way instead of leaving it implied by scattered UI text.
Repository-side diagnostics are no longer the only runtime-facing proof surface.
PrivateDAO now publishes a real-device runtime intake package:
docs/runtime/real-device.mddocs/runtime/real-device-captures.jsondocs/runtime/real-device.generated.mddocs/runtime/real-device.generated.json
This keeps desktop and mobile wallet QA tied to a canonical capture registry instead of leaving that work as an informal future note.
PrivateDAO also publishes a browser-wallet runtime intake package for the live web lane:
docs/runtime/browser-wallet.mddocs/runtime/browser-wallet-captures.jsondocs/runtime/browser-wallet.generated.mddocs/runtime/browser-wallet.generated.json
This keeps browser-wallet runtime claims tied to captured injected-wallet runs instead of treating build success as runtime proof.
The repository also publishes a read-only Devnet operational canary:
docs/devnet-canary.generated.mddocs/devnet-canary.generated.json
This canary is intentionally lighter than the multi-wallet stress harness. It exists to provide a sustainable operational signal for RPC health and canonical Devnet anchor visibility between heavier stress runs.
Wallet compatibility matters even more for the additive hardening path, because the stricter proposal lifecycle still depends on normal wallet-based signing and broadcast.
When validating that stricter path, pair wallet runtime evidence with:
docs/test-wallet-live-proof-v3.generated.mddocs/governance-hardening-v3.mddocs/settlement-hardening-v3.md
This keeps runtime QA connected to the exact governance and settlement hardening flows rather than treating wallet checks as a separate surface.
The repository can harden wallet logic and diagnostics, but it cannot claim universal compatibility for every wallet release on every platform without real runtime testing.
That is why the browser surface now exposes diagnostics directly instead of hiding wallet assumptions behind static text.