Skip to content

Polkadart is a comprehensive Dart/Flutter SDK that provides everything you need to build decentralized applications on any Polkadot SDK compatible blockchain.

License

Notifications You must be signed in to change notification settings

leonardocustodio/polkadart

 
 

Polkadart

The Complete Dart SDK for Polkadot & Substrate

Build powerful blockchain applications with type-safe Dart & Flutter

Star on Github GitHub Actions Workflow Status Codecov All contributors License: Apache 2

Get started in minutesPerfect for Flutter appsProduction ready


Polkadart is a comprehensive Dart/Flutter SDK that provides everything you need to build decentralized applications on Polkadot, Substrate, and other compatible blockchain networks. With type-safe APIs, automatic code generation, and Flutter-first design, it's the most developer-friendly way to integrate blockchain functionality into your Dart applications.

This library is funded by Web3 Foundation via their Open Grants Program

✨ Why Polkadart?

🚀 Developer-First Experience
  • Type-Safe Everything: Auto-generated types from chain metadata ensure compile-time safety
  • Flutter Ready: Built from the ground up for mobile and cross-platform development
  • Intuitive APIs: Clean, idiomatic Dart interfaces that feel natural to use
  • Comprehensive Docs: Extensive documentation with real-world examples
⚡ Feature Complete
  • Universal Compatibility: Works with any Substrate-based blockchain
  • Smart Contracts: Full support for ink! smart contract interactions
  • Real-time Subscriptions: WebSocket support for live blockchain data
  • Complete Cryptography: All signature schemes (sr25519, ed25519, ecdsa) included
  • Advanced Features: Batch transactions, multi-sig, custom RPCs, and more
🔒 Production Ready
  • Battle-Tested: Powers production wallets and dApps with millions of transactions
  • High Performance: Optimized SCALE codec with minimal overhead
  • Security First: Comprehensive key management and secure signing
  • Active Maintenance: Regular updates and active community support
  • Web3 Foundation Backed: Official grant recipient ensuring long-term sustainability

🚀 Quick Start

1. Install Polkadart

dependencies:
  polkadart: ^0.7.0
  polkadart_keyring: ^0.7.0

2. Connect & Query

import 'package:polkadart/polkadart.dart';

// Connect to Polkadot
final provider = Provider.fromUri(Uri.parse('wss://rpc.polkadot.io'));
final api = await ApiPromise.create(provider);

// Query account balance
final account = '15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5';
final balance = await api.query.system.account(account);

print('Free balance: ${balance.data.free}');

3. Send Transactions

import 'package:polkadart_keyring/polkadart_keyring.dart';

// Create a wallet
final keyring = Keyring();
final alice = await keyring.fromMnemonic('//Alice');

// Send a transfer
final tx = api.tx.balances.transfer(
  dest: '14E5nqKAp3oAJcmzgZhUD2RcptBeUBScxKHgJKU4HPNcKVf3',
  value: BigInt.from(10).pow(12), // 1 DOT
);

final hash = await tx.signAndSend(alice);
print('Transaction hash: $hash');

📦 Packages

This repository is a monorepo containing the complete Polkadart ecosystem:

Core Packages

Package Description Version
polkadart Main SDK for Substrate/Polkadot interaction version
polkadart_keyring Key management and account handling version

Developer Tools

Package Description Version
polkadart_cli Generate typed APIs from chain metadata version
ink_cli Generate typed interfaces for smart contracts version

Low-Level Primitives

Package Description Version
polkadart_scale_codec SCALE codec implementation version
substrate_metadata Runtime metadata parsing version
ink_abi ink! ABI encoding/decoding version

Cryptography

Package Description Version
sr25519 Schnorrkel signature scheme version
secp256k1_ecdsa ECDSA operations version
ss58 SS58 address encoding version
substrate_bip39 BIP39 mnemonic generation version

📚 Documentation

Getting Started
Advanced Topics
Package Documentation

🤝 Community & Support

Get Help

Showcase

🎯 Contributing

We welcome contributions from developers of all skill levels! Here's how you can help:

🐛 Report & Fix

  • Report bugs
  • Fix issues
  • Improve tests
  • Update docs

✨ Enhance

  • Add features
  • Write examples
  • Create tutorials
  • Translate docs

🚀 Share

  • Star the repo
  • Share projects
  • Write articles
  • Join discussions

Every contribution matters! Check our Contributing Guide for details.

👥 Contributors

A heartfelt thank you to all the amazing contributors who have helped build Polkadart! emoji key

Leonardo Custodio
Leonardo Custodio

💻 ⚠️ 👀 💬 🚧 💡 📖 🐛
justkawal
justkawal

💻 ⚠️ 👀 🚧 💡 🐛
Lohann Paterno Coutinho Ferreira
Lohann Paterno Coutinho Ferreira

💻 ⚠️ 👀 💡 🐛
Gabriel Okura
Gabriel Okura

💻 ⚠️ 💡
clangenb
clangenb

💻 ⚠️ 🐛 💬
Bruno Pastre
Bruno Pastre

👀
weiwei
weiwei

💻 🐛
Burnww
Burnww

💻 🐛
Aviv Eyal
Aviv Eyal

💻 🐛
jpnovochadlo
jpnovochadlo

💼 🎨 📖
Talles
Talles

💻 📖
Burak
Burak

💻
vjrj
vjrj

💻

This project follows the all-contributors specification. Contributions of any kind welcome! ❤️

📜 License

This project is licensed under the Apache 2.0 License

🚀 What's Next?

Ready to build your next blockchain application? Here's where to go:


Build the future of Web3 with Dart & Flutter 🚀

About

Polkadart is a comprehensive Dart/Flutter SDK that provides everything you need to build decentralized applications on any Polkadot SDK compatible blockchain.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors 14

Languages