[Dart/Flutter]agent_dart updates v0.1.16 - Flutter Web Supported

Hi eveyone.

We are making a dart/flutter version of agent library for Internet Computer. Dart and Flutter devs can use it to build either mobile wallets, Stand-alone/fusion Dapps powered by canisters, or even backend service.

You can get it here:


And for source code, here:


Current version is 0.1.16, we will update latest features and changes in this post.


  • added principal to accountId
  • added Flutter Web support
  • regroup project structure
  • fixed archiver overriding
  • fixed bls on dart:io and dart:html
  • fixed test compatible with flutter web

0.1.11 - 0.1.15

  • Fixed secp256k1 signature length
  • Expose AgentFactory
  • Fix Cbor with List casting
  • Minor Fix fetch and KeySmith
  • added Windows ffi support
  • BREAKING separating auth_provider to standalone agent_dart_auth package
  • IMPORTANT fix candid parser with BigInt and others


  • Added Secp256k1 Identity with ECDA sign

  • Added ledger with send and getBalance


  • BREAKING the auth_client flow is a little bit change due to Internet Identity service won’t give correct identity using local webpage like we use webAuthProvider here

  • How ever we keep the provider here, because we may have other Identity Provider to give other solution.

  • But we managed to change auth_client a bit.


  • fixed uri parser, added path to auth_client


  • IMPORATANT Use blsSync instead of async isolation, to fix memory leak in rust-dart-ffi interop


  • Fix cbordecode in the Delegation

  • Apply rosetta-api to current docker specs


  • BREAKING remove ICPSigner.fromPrivatekey and added ICPSigner.fromSeed

  • Won’t support import privatekey to signer anymore, may separate different signer, eg: Secp256k1Signer or SchnorrSigner in the future supporting different coin specs.


  • added sourceType of II, plugWallet, keysmith with different settings since they use different derivePath to generate seed

  • added Signer.importPhrase to use settings above

  • added related tests


  • fix delegation request sign and request_id


  • fix delegation chain transformRequest


  • fix error decoding

  • follow agent-js latest features

  • fix readme

Here are core features in this package:

  • agent, core library, with crypto and encoding/decoding methods , http call/query encapsulated, for interacting with canister.

  • auth_client, a popup window for flutter, used for getting authentication from Identity provider(eg, Internet Identity).

  • authentication, a library supports auth_client

  • candid, candid library, used for encoding/decoding candid data types, and used them in dart-lang.

  • principal, principal library, used for generate principal for many usage cases.

  • protobuf, protobuf library, used for interacting with rosetta-node in submit/query transaction

  • utils, common utils, including useful helpers like extension methods in dart.

  • wallet, wallet library, signer, rosetta, key-smith all-in-one library.