diff --git a/lib/g1/api.dart b/lib/g1/api.dart
index 92eabfa82720731c2a68c4bf3ee16000b196695c..5ebe962864471879fcf98ce4c4bf7b3de9d9ef61 100644
--- a/lib/g1/api.dart
+++ b/lib/g1/api.dart
@@ -5,6 +5,7 @@ import 'package:durt/durt.dart';
 import 'package:flutter/foundation.dart';
 import 'package:http/http.dart' as http;
 import 'package:http/http.dart';
+import 'package:sentry_flutter/sentry_flutter.dart';
 import 'package:universal_html/html.dart' show window;
 
 import '../data/models/contact.dart';
@@ -280,6 +281,7 @@ Future<List<Node>> _fetchDuniterNodesFromPeers(NodeType type) async {
     logger(
         'Fetched ${lNodes.length} ${type.name} nodes ordered by latency (first: ${lNodes.first.url})');
   } catch (e, stacktrace) {
+    await Sentry.captureException(e, stackTrace: stacktrace);
     logger('General error in fetch ${type.name} nodes: $e');
     logger(stacktrace);
     // rethrow;
@@ -324,6 +326,7 @@ Future<List<Node>> _fetchNodes(NodeType type) async {
     logger(
         'Fetched ${lNodes.length} ${type.name} nodes ordered by latency (first: ${lNodes.first.url})');
   } catch (e, stacktrace) {
+    await Sentry.captureException(e, stackTrace: stacktrace);
     logger('General error in fetch ${type.name}: $e');
     logger(stacktrace);
   }
@@ -472,6 +475,7 @@ Future<String> pay(
           ? eCause[eCause.length > 1 ? 1 : 0].split(',')[0]
           : 'Transaction failed for unknown reason';
     } catch (e, stacktrace) {
+      await Sentry.captureException(e, stackTrace: stacktrace);
       logger(e);
       logger(stacktrace);
       return "Something didn't work as expected ($e)";
@@ -534,7 +538,8 @@ Future<T?> gvaFunctionWrapper<T>(
         final T? result = await specificFunction(gva);
         return result;
       }
-    } catch (e) {
+    } catch (e, stacktrace) {
+      await Sentry.captureException(e, stackTrace: stacktrace);
       logger('Error trying ${node.url} $e');
       logger('Increasing node errors of ${node.url} (${node.errors})');
       NodeManager()