WalletConnect
On mobile, dApps connect via WalletConnect v2. Config is in place; session handling is not implemented yet.
Config (do this first)
- Create a project at cloud.walletconnect.com.
- Use the same project ID in:
zunia-mobile→.env/--dart-define=WALLETCONNECT_PROJECT_ID=...(see.env.example)zunia-extension→WXT_WALLETCONNECT_PROJECT_ID(see.env.example)zunia-dashboard/zunia-website→NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID
- Canonical settings live in:
- Mobile:
config/connect.yamlandlib/config/connect_config.dart - Extension:
config/connect.ts
- Mobile:
Deep links (mobile)
| Kind | Example |
|---|---|
| Custom scheme | zunia://wc?... |
| WalletConnect URI | wc:... |
| Universal / App Link | https://zunialab.com/wc?... |
Verified HTTPS links require:
- iOS:
Runner.entitlementsassociated domains +apple-app-site-associationon the website (replaceTEAMID) - Android:
android:autoVerifyintent filters +assetlinks.json(replace Play signing SHA-256)
Files on the marketing site:
https://zunialab.com/.well-known/apple-app-site-associationhttps://zunialab.com/.well-known/assetlinks.json
User flow (when implemented)
- Scan the QR code or open the deep link from the dApp
- Approve the session and select accounts
- Review each signing request in the Zunia app
Zunia shows human-readable transaction previews before you confirm (require_tx_preview in config).