Crypto Wallets

Wallet Connect DartA WalletConnect Library for Dart and Flutter Developers

A free, open-source Dart and Flutter library for WalletConnect sessions. See features, setup steps and who should use it.

Free Open source Windows: Yes Updated 14 Oct 2022
9 min read Last update 14 Oct 2022 github.com/flooz-link/wallet-connect-dart

Wallet Connect Dart is an open-source library that lets Dart and Flutter applications connect to a crypto wallet through the WalletConnect protocol. It is aimed at developers who want their app to start a session with a wallet, request signatures or transactions, and handle the answers. It is not a wallet you install to hold coins.

The project is a code library rather than a standalone program, so the Windows part of the story is about where you build and run the software you create with it. The library is free and its source is published on GitHub. The last code update was made in October 2022, so check the repository's activity before you rely on it in a new project.

02

What Is WalletConnect and Why Developers Use It

WalletConnect is an open protocol that links a decentralized application running in a browser or desktop program with a wallet running on a phone or another device. The two sides communicate through an encrypted relay, so the user does not have to share private keys with the app.

Without a protocol like this, every wallet would need its own custom integration. WalletConnect offers one common language, and a library such as Wallet Connect Dart implements that language for the Dart ecosystem. Developers can focus on their product rather than on message formats and session handling.

03

Who Wallet Connect Dart Is For

The library is most useful for developers who build cross-platform apps with Dart and Flutter and want those apps to interact with on-chain accounts. Typical examples include a portfolio tracker that needs to read an address, a game that asks players to sign a move, or a utility that confirms ownership by requesting a signature.

End users rarely interact with the library directly. They see a prompt from their wallet asking them to approve a connection or a request. Understanding this flow helps developers design clear, honest permission screens.

04

How a WalletConnect Session Works Step by Step

A session starts when the dApp generates a URI and displays it. The wallet scans or opens that URI, and both parties exchange keys to establish an encrypted channel. The user then approves the connection, after which requests such as signing or sending can flow back and forth.

Each request carries an ID. The app must answer every request with either an approval or a rejection, otherwise the wallet may wait indefinitely. Keeping track of these IDs is one of the main responsibilities of any integration.

05

Real-World Scenarios for a Dart WalletConnect Client

Consider a Flutter mobile game that rewards players with tokens. The game can ask a connected wallet to sign a message that proves the player controls a specific address, then record the result on its server. Because the session can be saved, the player does not need to reconnect each time they open the game.

Another scenario is a desktop tool written in Dart that prepares a transaction, sends it to the wallet for approval, and then displays the resulting hash. Developers building such tools should design the interface so that users always see the details of what they are approving.

06

Key features

Client setup with callbacks

You create a WalletConnect client and attach callbacks that run when the session changes or a request arrives. This event-driven approach keeps your interface responsive while the wallet on the other side is working on a request.

Session creation from a WC URI

A session is opened from a wc: URI, the string a dApp shows as a QR code or deep link. The library parses it into a session object that your code can then work with.

App metadata with WCPeerMeta

Your application describes itself with a metadata object containing its name, description and links. The wallet shows this information to the user before they approve a connection.

New and saved sessions

You can connect to a fresh session or reuse a previously saved one. Saved sessions let users avoid scanning a code every time the app restarts.

Session approval or rejection

Your app can accept or decline an incoming connection request, which gives you control over which wallets may talk to your software.

Session persistence through sessionStore

The sessionStore getter returns the active session so you can save it to disk or a database and restore it later.

Signing transactions

When a wallet requests a transaction signature, your app can return the signed data as hex. The library handles the message format so you do not have to assemble it manually.

Sending transactions and returning hashes

For send-transaction requests, your app broadcasts the transaction and returns its hash to the requesting dApp, confirming the outcome.

Generic sign requests

Beyond transactions, the library supports general sign requests, where the signed data hex is returned to the caller for verification or authentication.

Rejecting individual requests

Any pending request can be declined by its request ID, so you can handle refusals cleanly without ending the whole session.
07

Supported coins

The library itself does not hold or manage assets. Which networks and tokens are available depends on the wallet your users connect with and on the blockchain your app targets. Developers should check the capabilities of each wallet they plan to support.

08

How to install Wallet Connect Dart on Windows

  1. 1

    Get the source code

    Open the project's GitHub repository at github.com/flooz-link/wallet-connect-dart and either clone it or download the archive. Make sure you are looking at the official repository before you copy any code.

  2. 2

    Install Dart or Flutter

    Download the Dart SDK or the Flutter SDK from the official website for Windows. Follow the installer and confirm that the commands run correctly in a terminal.

  3. 3

    Add the package to your project

    In your project's pubspec file, add the WalletConnect dependency that matches the repository, then run the package get command so Dart downloads it.

  4. 4

    Verify the download

    If the repository provides release tags or checksums, compare them with the files you received. Review the code before using it in production, especially since the library has not been updated recently.

  5. Run a test build

    Create a small test app that imports the library and opens a session with a test wallet. Confirm that the connection and callbacks work on your Windows machine before writing further code.

09

System requirements

  • A Windows version supported by your chosen Dart or Flutter SDK
  • Enough disk space for the Dart or Flutter SDK and project dependencies
10

How to use Wallet Connect Dart

Using the library means writing code in your own application. The basic pattern is to create a client, connect a session, and handle the events that follow. The steps below show the typical order.

  1. Import the library in your Dart file and create a WalletConnect client instance.
  2. Define callbacks for connection, disconnection and incoming requests.
  3. Build a WCPeerMeta object that describes your application.
  4. Parse the wc: URI provided by the dApp to create a WCSession object.
  5. Connect to the new session, or restore a saved session from your storage.
  6. Approve or reject the connection request, depending on your app's rules.
  7. Save the active session from the sessionStore getter so the user can reconnect later.
  8. When a signing or sending request arrives, return the signed hex data or the transaction hash, or reject the request by its ID.
11

Pros & cons

Pros
  • Open source, so developers can read and audit the code
  • Free to use under the project's terms
  • Covers the core WalletConnect flows: sessions, signing and sending
  • Clear API for saving and restoring sessions
  • Fits naturally into Flutter projects that target Windows
Cons
  • Last code update was in October 2022, so compatibility with recent protocol changes is uncertain
  • Documentation is limited compared with larger, actively maintained SDKs
  • Requires programming knowledge; it is not a ready-made app for end users
  • Developers must handle security and user interface details on their own
12

Is Wallet Connect Dart safe?

Because this library handles session data and signing requests, treat it with care. Download it only from the official GitHub repository, and check the commit history and open issues before adopting it. Verify any release checksums you find, and review the code paths that touch private data or signatures.

Never ask users to enter a seed phrase or private key into your application, and never store one in plain text. A WalletConnect session is designed so that keys stay inside the wallet. Test thoroughly on a testnet before connecting real funds. Since the project has not seen code updates since 2022, consider this a risk factor and check the latest state of the repository before shipping.

  • Official source only. Download from github.com/flooz-link/wallet-connect-dart. Ignore ads and lookalike domains.
  • Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
  • Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
13

Alternatives

Most similar programs on this catalog are end-user wallets, which you install and use directly to hold and manage crypto. Coinomi, Exodus, Atomic Wallet and Trust Wallet fall into that group, offering interfaces for storing and sending coins. Electron Cash is a lightweight Bitcoin Cash wallet with a similar end-user focus. Frame is a desktop Web3 wallet that can act as a system-level signer for dApps.

Wallet Connect Dart is different: it is a development library rather than a finished wallet. It helps you build a connection layer inside your own software. If you want to hold coins, a wallet from the list is the better choice. If you want to add wallet connectivity to a Dart or Flutter product, this library is the relevant starting point.

14

Specifications

Price
Free
Type
Open source
License
—
Latest version
—
Last update
14 Oct 2022
Windows support
Yes (Windows build or installer)
Source code
github.com/flooz-link/wallet-connect-dart
15

Frequently asked questions

No. Wallet Connect Dart is a code library for Dart and Flutter developers. It lets your own application talk to a WalletConnect-compatible wallet. To hold and send coins, you need a separate wallet application, such as one of the options listed on this site.

The library is free and open source. Your costs as a developer will come from your own time, hosting, and any third-party services your application uses. Check the repository's license file for the exact terms of use before you distribute software built with it.

A WC URI is a text string beginning with wc: that encodes the information needed to start a WalletConnect session. A dApp usually shows it as a QR code, and the wallet reads it to establish a connection. The library parses this string into a session object your code can use.

Yes, you can build and run Dart or Flutter applications that use this library on Windows. The library itself is platform-independent code, so the main requirement is a working Dart or Flutter SDK on your machine.

The WalletConnect protocol and the wallets that implement it can change over time. A library that has not been updated for a long period may miss newer features or fixes. Review the commit history and test thoroughly before using it in a production project.

Some understanding of blockchain concepts such as addresses, signatures and transactions is helpful. You also need basic Dart or Flutter programming skills. Beginners can learn the protocol by building a small test app that connects to a testnet wallet.

No, and it should not be used that way. Keys remain in the user's wallet, and your application only receives signed data or transaction hashes. Never ask users for seed phrases inside your app.

16

Verdict

Wallet Connect Dart suits developers who build Dart or Flutter applications and want a WalletConnect integration without writing the protocol from scratch. It is free, open source and covers the main session and signing flows. Its main drawback is the lack of recent updates, so it is best for experimentation, learning, or projects that will carefully review and maintain the code themselves. If you are an everyday user looking for a wallet to hold crypto, choose one of the end-user options in this catalog instead.

Download now