Skip to main content

Flutter

Two different things share the word "SDK" here. Keep them straight.

A Flutter dApp talking to Zunia​

The Dart package zunia_sdk in zunia-sdk/flutter/zunia_sdk is not a session client. It ships deep-link helpers and a Connect with Zunia button. A v2 client (QR pairing, events, CosmJS-equivalent signers) is planned.

dependencies:
zunia_sdk:
git:
url: https://github.com/Zunia-Lab/zunia-sdk.git
path: flutter/zunia_sdk
import 'package:zunia_sdk/zunia_sdk.dart';

ConnectWithZuniaButton(
size: ConnectWithZuniaButtonSize.medium,
onPressed: () {
// Open your own WalletConnect or deep-link flow.
},
);

Until that client exists, a Flutter dApp should use WalletConnect with another wallet, or open a web view that uses @zunialab/sdk-web.

The Zunia wallet (the mobile app)​

zunia-mobile is the wallet. It already speaks zunia.connect.v2: it reads the pairing URI, agrees on keys, shows the 6-digit code, shows the verified origin, binds sign-in to that origin, and resumes with resumeToken.

It accepts WalletConnect sessions when a Cloud project id is set. It does not sign WalletConnect requests yet.

Build it yourself:

git clone https://github.com/Zunia-Lab/zunia-mobile.git
cd zunia-mobile
flutter pub get
flutter run

Stores are not submitted. Same recovery phrase as the extension if you want both devices.