diff --git a/docs/building.md b/docs/building.md
index c3dacb90b..14109e627 100644
--- a/docs/building.md
+++ b/docs/building.md
@@ -72,7 +72,7 @@ Install [Rust](https://www.rust-lang.org/tools/install) via [rustup.rs](https://
 ```
 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
 source ~/.bashrc
-rustup install 1.85.1
+rustup install 1.85.1 1.81.0
 rustup default 1.85.1
 cargo install cargo-ndk --version 2.12.7 --locked
 ```
@@ -209,11 +209,11 @@ brew install brotli cairo coreutils gdbm gettext glib gmp libevent libidn2 libng
 ```
 <!-- TODO: determine which of the above list are not needed at all. -->
 
-Download and install [Rust](https://www.rust-lang.org/tools/install).  [Rustup](https://rustup.rs/) is recommended for Rust setup.  Use `rustc` to confirm successful installation.  Install toolchain 1.85.1 and `cbindgen` and `cargo-lipo` too.  You will also have to add the platform target(s) `aarch64-apple-ios` and/or `aarch64-apple-darwin`.  You can use the command(s):
+Download and install [Rust](https://www.rust-lang.org/tools/install).  [Rustup](https://rustup.rs/) is recommended for Rust setup.  Use `rustc` to confirm successful installation.  Install toolchains 1.81.0 and 1.85.1 and `cbindgen` and `cargo-lipo` too.  You will also have to add the platform target(s) `aarch64-apple-ios` and/or `aarch64-apple-darwin`.  You can use the command(s):
 ```
 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
 source ~/.bashrc 
-rustup install 1.85.1
+rustup install 1.85.1 1.81.0
 rustup default 1.85.1
 cargo install cargo-ndk --version 2.12.7 --locked
 cargo install cbindgen cargo-lipo
@@ -306,7 +306,7 @@ Run `flutter doctor` in PowerShell to confirm its installation.
 ### Rust
 Install [Rust](https://www.rust-lang.org/tools/install) on the Windows host (not in WSL2).  Download the installer from [rustup.rs](https://rustup.rs), make sure it works on the commandline (you may need to open a new terminal), and install the following versions:
 ```
-rustup install 1.85.1
+rustup install 1.85.1 1.81.0
 rustup default 1.85.1
 cargo install cargo-ndk --version 2.12.7 --locked
 ```
diff --git a/scripts/android/build_all.sh b/scripts/android/build_all.sh
index 3b19c1c5b..5438234ea 100755
--- a/scripts/android/build_all.sh
+++ b/scripts/android/build_all.sh
@@ -8,7 +8,14 @@ mkdir -p build
 PLUGINS_DIR=../../crypto_plugins
 
 (cd "${PLUGINS_DIR}"/flutter_liblelantus/scripts/android && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd "${PLUGINS_DIR}"/flutter_libepiccash/scripts/android && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd "${PLUGINS_DIR}"/frostdart/scripts/android && ./build_all.sh )
 
 wait
diff --git a/scripts/android/build_all_campfire.sh b/scripts/android/build_all_campfire.sh
index 3b19c1c5b..5438234ea 100755
--- a/scripts/android/build_all_campfire.sh
+++ b/scripts/android/build_all_campfire.sh
@@ -8,7 +8,14 @@ mkdir -p build
 PLUGINS_DIR=../../crypto_plugins
 
 (cd "${PLUGINS_DIR}"/flutter_liblelantus/scripts/android && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd "${PLUGINS_DIR}"/flutter_libepiccash/scripts/android && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd "${PLUGINS_DIR}"/frostdart/scripts/android && ./build_all.sh )
 
 wait
diff --git a/scripts/android/build_all_duo.sh b/scripts/android/build_all_duo.sh
index 25b3ce9ea..40be4bee4 100755
--- a/scripts/android/build_all_duo.sh
+++ b/scripts/android/build_all_duo.sh
@@ -10,7 +10,14 @@ mkdir -p build
 PLUGINS_DIR=../../crypto_plugins
 
 (cd "${PLUGINS_DIR}"/flutter_liblelantus/scripts/android && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd "${PLUGINS_DIR}"/flutter_libepiccash/scripts/android && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd "${PLUGINS_DIR}"/frostdart/scripts/android && ./build_all.sh )
 
 wait
diff --git a/scripts/ios/build_all.sh b/scripts/ios/build_all.sh
index 6ac527632..c47228cdc 100755
--- a/scripts/ios/build_all.sh
+++ b/scripts/ios/build_all.sh
@@ -11,7 +11,14 @@ rustup target add aarch64-apple-ios
 rustup target add x86_64-apple-ios
 
 (cd ../../crypto_plugins/flutter_liblelantus/scripts/ios && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/ios && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd ../../crypto_plugins/frostdart/scripts/ios && ./build_all.sh )
 
 wait
diff --git a/scripts/ios/build_all_campfire.sh b/scripts/ios/build_all_campfire.sh
index 6ac527632..c47228cdc 100755
--- a/scripts/ios/build_all_campfire.sh
+++ b/scripts/ios/build_all_campfire.sh
@@ -11,7 +11,14 @@ rustup target add aarch64-apple-ios
 rustup target add x86_64-apple-ios
 
 (cd ../../crypto_plugins/flutter_liblelantus/scripts/ios && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/ios && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd ../../crypto_plugins/frostdart/scripts/ios && ./build_all.sh )
 
 wait
diff --git a/scripts/ios/build_all_duo.sh b/scripts/ios/build_all_duo.sh
index 4f5191bd2..3e3a73119 100755
--- a/scripts/ios/build_all_duo.sh
+++ b/scripts/ios/build_all_duo.sh
@@ -13,7 +13,14 @@ rustup target add aarch64-apple-ios
 rustup target add x86_64-apple-ios
 
 (cd ../../crypto_plugins/flutter_liblelantus/scripts/ios && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/ios && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd ../../crypto_plugins/frostdart/scripts/ios && ./build_all.sh )
 
 wait
diff --git a/scripts/linux/build_all.sh b/scripts/linux/build_all.sh
index 0562c2191..011d972b3 100755
--- a/scripts/linux/build_all.sh
+++ b/scripts/linux/build_all.sh
@@ -9,7 +9,14 @@ set -x -e
 mkdir -p build
 ./build_secure_storage_deps.sh
 (cd ../../crypto_plugins/flutter_liblelantus/scripts/linux && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/linux && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd ../../crypto_plugins/frostdart/scripts/linux && ./build_all.sh )
 
 ./build_secp256k1.sh
diff --git a/scripts/linux/build_all_campfire.sh b/scripts/linux/build_all_campfire.sh
index 0562c2191..011d972b3 100755
--- a/scripts/linux/build_all_campfire.sh
+++ b/scripts/linux/build_all_campfire.sh
@@ -9,7 +9,14 @@ set -x -e
 mkdir -p build
 ./build_secure_storage_deps.sh
 (cd ../../crypto_plugins/flutter_liblelantus/scripts/linux && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/linux && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd ../../crypto_plugins/frostdart/scripts/linux && ./build_all.sh )
 
 ./build_secp256k1.sh
diff --git a/scripts/linux/build_all_duo.sh b/scripts/linux/build_all_duo.sh
index 60557556d..aa804e73e 100755
--- a/scripts/linux/build_all_duo.sh
+++ b/scripts/linux/build_all_duo.sh
@@ -12,7 +12,14 @@ set -x -e
 mkdir -p build
 ./build_secure_storage_deps.sh &
 (cd ../../crypto_plugins/flutter_liblelantus/scripts/linux && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/linux && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd ../../crypto_plugins/frostdart/scripts/linux && ./build_all.sh )
 
 ./build_secp256k1.sh
diff --git a/scripts/macos/build_all.sh b/scripts/macos/build_all.sh
index 5fa49e6ff..37dda0e64 100755
--- a/scripts/macos/build_all.sh
+++ b/scripts/macos/build_all.sh
@@ -2,8 +2,15 @@
 
 set -x -e
 
-(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/macos && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
+(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh )
 (cd ../../crypto_plugins/frostdart/scripts/macos && ./build_all.sh )
 
 wait
diff --git a/scripts/macos/build_all_campfire.sh b/scripts/macos/build_all_campfire.sh
index 8102b1d00..59a93ef26 100755
--- a/scripts/macos/build_all_campfire.sh
+++ b/scripts/macos/build_all_campfire.sh
@@ -2,8 +2,15 @@
 
 set -x -e
 
-(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/macos && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
+(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh )
 (cd ../../crypto_plugins/frostdart/scripts/macos && ./build_all.sh )
 
 wait
diff --git a/scripts/macos/build_all_duo.sh b/scripts/macos/build_all_duo.sh
index 23c4e0be3..960f5a44a 100755
--- a/scripts/macos/build_all_duo.sh
+++ b/scripts/macos/build_all_duo.sh
@@ -4,8 +4,15 @@ set -x -e
 
 # todo: revisit following at some point
 
-(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh )
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/macos && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
+(cd ../../crypto_plugins/flutter_liblelantus/scripts/macos && ./build_all.sh )
 (cd ../../crypto_plugins/frostdart/scripts/macos && ./build_all.sh )
 
 wait
diff --git a/scripts/rust_version.sh b/scripts/rust_version.sh
new file mode 100755
index 000000000..b894b7a5d
--- /dev/null
+++ b/scripts/rust_version.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+
+set_rust_to_everything_else() {
+  if rustup toolchain list | grep -q "1.85.1"; then
+    rustup default 1.85.1
+  else
+    echo "Rust version 1.85.1 is not installed. Please install it using 'rustup install 1.85.1'." >&2
+    exit 1
+  fi
+}
+
+set_rust_version_for_libepiccash() {
+  if rustup toolchain list | grep -q "1.81.0"; then
+    rustup default 1.81
+  else
+    echo "Rust version 1.81.0 is not installed. Please install it using 'rustup install 1.81.0'." >&2
+    exit 1
+  fi
+}
+
diff --git a/scripts/windows/build_all.sh b/scripts/windows/build_all.sh
index 0f4d61b19..cf3ad76d9 100755
--- a/scripts/windows/build_all.sh
+++ b/scripts/windows/build_all.sh
@@ -3,7 +3,14 @@
 set -x -e
 
 mkdir -p build
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/windows && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd ../../crypto_plugins/flutter_liblelantus/scripts/windows && ./build_all.sh )
 (cd ../../crypto_plugins/frostdart/scripts/windows && ./build_all.sh )
 
diff --git a/scripts/windows/build_all_campfire.sh b/scripts/windows/build_all_campfire.sh
index 0f4d61b19..cf3ad76d9 100755
--- a/scripts/windows/build_all_campfire.sh
+++ b/scripts/windows/build_all_campfire.sh
@@ -3,7 +3,14 @@
 set -x -e
 
 mkdir -p build
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/windows && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd ../../crypto_plugins/flutter_liblelantus/scripts/windows && ./build_all.sh )
 (cd ../../crypto_plugins/frostdart/scripts/windows && ./build_all.sh )
 
diff --git a/scripts/windows/build_all_duo.sh b/scripts/windows/build_all_duo.sh
index 5ee690c05..e54986e7d 100755
--- a/scripts/windows/build_all_duo.sh
+++ b/scripts/windows/build_all_duo.sh
@@ -5,7 +5,14 @@ set -x -e
 # todo: revisit following at some point
 
 mkdir -p build
+
+# libepiccash requires old rust
+source ../rust_version.sh
+set_rust_version_for_libepiccash
 (cd ../../crypto_plugins/flutter_libepiccash/scripts/windows && ./build_all.sh )
+# set rust (back) to a more recent stable release after building epiccash
+set_rust_to_everything_else
+
 (cd ../../crypto_plugins/flutter_liblelantus/scripts/windows && ./build_all.sh )
 (cd ../../crypto_plugins/frostdart/scripts/windows && ./build_all.sh )