diff --git a/src/components/KitchenSink.tsx b/src/components/KitchenSink.tsx
index b1ada034..fe5b956c 100644
--- a/src/components/KitchenSink.tsx
+++ b/src/components/KitchenSink.tsx
@@ -22,6 +22,7 @@ import {
ResetRouter,
Restart,
ResyncOnchain,
+ ScanFederation,
showToast,
SimpleErrorDisplay,
ToggleHodl,
@@ -574,6 +575,7 @@ export function KitchenSink() {
+
diff --git a/src/components/ScanFederation.tsx b/src/components/ScanFederation.tsx
new file mode 100644
index 00000000..1b834e60
--- /dev/null
+++ b/src/components/ScanFederation.tsx
@@ -0,0 +1,27 @@
+import { Button, InnerCard, NiceP, VStack } from "~/components";
+import { useI18n } from "~/i18n/context";
+import { useMegaStore } from "~/state/megaStore";
+
+export function ScanFederation() {
+ const i18n = useI18n();
+ const [state, _] = useMegaStore();
+
+ async function scan() {
+ try {
+ await state.mutiny_wallet?.recover_federation_backups();
+ } catch (e) {
+ console.error(e);
+ }
+ }
+
+ return (
+
+
+ {i18n.t("error.scan_federation.incorrect_balance")}
+
+
+
+ );
+}
diff --git a/src/components/index.ts b/src/components/index.ts
index 241728ba..4f3daa5a 100644
--- a/src/components/index.ts
+++ b/src/components/index.ts
@@ -34,6 +34,7 @@ export * from "./Reload";
export * from "./ResetRouter";
export * from "./Restart";
export * from "./ResyncOnchain";
+export * from "./ScanFederation";
export * from "./SeedWords";
export * from "./SetupErrorDisplay";
export * from "./ShareCard";
diff --git a/src/i18n/en/translations.ts b/src/i18n/en/translations.ts
index 120f9e8f..124abe25 100644
--- a/src/i18n/en/translations.ts
+++ b/src/i18n/en/translations.ts
@@ -635,6 +635,11 @@ export default {
"On-chain balance seems incorrect? Try re-syncing the on-chain wallet.",
resync_wallet: "Resync wallet"
},
+ scan_federation: {
+ incorrect_balance:
+ "Federation balance seems incorrect? Try scanning the federations.",
+ scan: "Scan federations"
+ },
on_boot: {
existing_tab: {
title: "Multiple tabs detected",