Haveno Dart SDK: Full gRPC Client for Mobile by Stefan TodorovHaveno Dart SDK: Full gRPC Client for Mobile by Stefan Todorov

Haveno Dart SDK: Full gRPC Client for Mobile

Portfolio project
Stefan Todorov

The Problem

Haveno's existing client library (haveno-ts) was written in TypeScript — fine for web, but a dead end for native mobile development. The Haveno team wanted to expand to mobile platforms, but lacked the Dart/Flutter expertise to port their API layer. No one on the team had experience with Dart, let alone the complexity of compiling Protobuf schemas into a production-ready Dart SDK.

The Solution

I built a complete Dart/Flutter client SDK from scratch, compiled directly from Haveno's official Java/C++ core Protobuf schemas (pb.proto and grpc.proto). The SDK wraps the raw, low-level gRPC Protocol Buffer definitions into a clean, developer-friendly unified architecture.
Haveno Dart SDK
Haveno Dart SDK

Architecture Highlights

Full Protobuf Coverage — compiled directly from the official Haveno core schemas
15 gRPC Micro-Service Clients unified under a single HavenoClient entry point:
WalletsClient — Monero wallet balance, escrow operations, address tracking
OffersClient — decentralized trade offer generation, cancellation, monitoring
TradesClient — P2P dispute resolution and swap logic state machines
AccountClient, PriceClient, DisputesClient, GetVersionClient, and more
Async Stream Support — built for reactive state management in Flutter apps
Linter-Shielded — pre-configured optimization maps for clean builds with zero warnings

Quick Start

import 'package:haveno_client_dart/haveno_client_dart.dart'; void main() async { final client = HavenoClient(host: 'localhost', port: 9092); final versionReply = await client.getVersion(); print('Haveno Daemon Version: ${versionReply.version}'); final balancesReply = await client.getBalances(); print('Available Balance: ${balancesReply.balances}'); await client.disconnect(); }

Result

A production-ready Dart SDK that gives the Haveno ecosystem a direct path from TypeScript web clients to native Flutter mobile applications. The package supports all 15 core Haveno daemon services through a single, cohesive API — ready to drop into any Dart or Flutter project via pubspec.yaml.

0 likes · 7 views · Jul 11, 2026

Timeline

May 25, 2026 - Jun 3, 2026

Tags