diff --git a/.config/taplo.toml b/.config/taplo.toml
index f5d0b7021ba898ea3ab96323fa3fbc4efdd7b307..a45204923cfff1d357da0be5346117acfaf50843 100644
--- a/.config/taplo.toml
+++ b/.config/taplo.toml
@@ -2,6 +2,7 @@
 
 # ignore zombienet as they do some deliberate custom toml stuff
 exclude = [
+	"bridges/testing/**",
 	"cumulus/zombienet/**",
 	"polkadot/node/malus/integrationtests/**",
 	"polkadot/zombienet_tests/**",
diff --git a/.gitlab/pipeline/build.yml b/.gitlab/pipeline/build.yml
index 42aabc2635d4f4018f4bb7b4d2c1f940ee5dad8f..53c47e5ff5ae4b8d439adf8477384b78df6e3239 100644
--- a/.gitlab/pipeline/build.yml
+++ b/.gitlab/pipeline/build.yml
@@ -408,8 +408,5 @@ prepare-bridges-zombienet-artifacts:
     - .collect-artifacts
   before_script:
     - mkdir -p ./artifacts/bridges-polkadot-sdk/bridges
-    - mkdir -p ./artifacts/bridges-polkadot-sdk/cumulus/zombienet
   script:
-    - cp -r bridges/zombienet ./artifacts/bridges-polkadot-sdk/bridges/zombienet
-    - cp -r cumulus/scripts ./artifacts/bridges-polkadot-sdk/cumulus/scripts
-    - cp -r cumulus/zombienet/bridge-hubs ./artifacts/bridges-polkadot-sdk/cumulus/zombienet/bridge-hubs
+    - cp -r bridges/testing ./artifacts/bridges-polkadot-sdk/bridges/testing
diff --git a/.gitlab/pipeline/zombienet/bridges.yml b/.gitlab/pipeline/zombienet/bridges.yml
index 16cabad6ccabbbe00147f50953270206a3c2d48a..f7c32d21c55110276cfbc34a8fbb8795669e054d 100644
--- a/.gitlab/pipeline/zombienet/bridges.yml
+++ b/.gitlab/pipeline/zombienet/bridges.yml
@@ -28,8 +28,8 @@
   variables:
     BRIDGES_ZOMBIENET_TESTS_IMAGE_TAG: ${DOCKER_IMAGES_VERSION}
     BRIDGES_ZOMBIENET_TESTS_IMAGE: "docker.io/paritypr/bridges-zombienet-tests"
-    GH_DIR: "https://github.com/paritytech/polkadot-sdk/tree/${CI_COMMIT_SHA}/bridges/zombienet"
-    LOCAL_DIR: "/builds/parity/mirrors/polkadot-sdk/bridges/zombienet"
+    GH_DIR: "https://github.com/paritytech/polkadot-sdk/tree/${CI_COMMIT_SHA}/bridges/testing"
+    LOCAL_DIR: "/builds/parity/mirrors/polkadot-sdk/bridges/testing"
     FF_DISABLE_UMASK_FOR_DOCKER_EXECUTOR: 1
     RUN_IN_CONTAINER: "1"
   artifacts:
@@ -51,12 +51,12 @@ zombienet-bridges-0001-asset-transfer-works:
   extends:
     - .zombienet-bridges-common
   script:
-    - /home/nonroot/bridges-polkadot-sdk/bridges/zombienet/run-new-test.sh 0001-asset-transfer --docker
+    - /home/nonroot/bridges-polkadot-sdk/bridges/testing/run-new-test.sh 0001-asset-transfer --docker
     - echo "Done"
 
 zombienet-bridges-0002-mandatory-headers-synced-while-idle:
   extends:
     - .zombienet-bridges-common
   script:
-    - /home/nonroot/bridges-polkadot-sdk/bridges/zombienet/run-new-test.sh 0002-mandatory-headers-synced-while-idle --docker
+    - /home/nonroot/bridges-polkadot-sdk/bridges/testing/run-new-test.sh 0002-mandatory-headers-synced-while-idle --docker
     - echo "Done"
diff --git a/bridges/zombienet/README.md b/bridges/testing/README.md
similarity index 100%
rename from bridges/zombienet/README.md
rename to bridges/testing/README.md
diff --git a/cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml b/bridges/testing/environments/rococo-westend/bridge_hub_rococo_local_network.toml
similarity index 100%
rename from cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
rename to bridges/testing/environments/rococo-westend/bridge_hub_rococo_local_network.toml
diff --git a/cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml b/bridges/testing/environments/rococo-westend/bridge_hub_westend_local_network.toml
similarity index 100%
rename from cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
rename to bridges/testing/environments/rococo-westend/bridge_hub_westend_local_network.toml
diff --git a/cumulus/scripts/bridges_rococo_westend.sh b/bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh
similarity index 99%
rename from cumulus/scripts/bridges_rococo_westend.sh
rename to bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh
index 7bde5ede77fd04e216be06119f582236d36a2623..84764cdaca38c6bd19eb964c6e8d4fd54c4379c4 100755
--- a/cumulus/scripts/bridges_rococo_westend.sh
+++ b/bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 # import common functions
-source "$(dirname "$0")"/bridges_common.sh
+source "${BASH_SOURCE%/*}/../../utils/bridges.sh"
 
 # Expected sovereign accounts.
 #
diff --git a/bridges/testing/environments/rococo-westend/helper.sh b/bridges/testing/environments/rococo-westend/helper.sh
new file mode 100755
index 0000000000000000000000000000000000000000..211a5b53b3d99ebef0e8c6a34cda48321badca9d
--- /dev/null
+++ b/bridges/testing/environments/rococo-westend/helper.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+$POLKADOT_SDK_PATH/bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh "$@"
diff --git a/bridges/testing/environments/rococo-westend/rococo-init.zndsl b/bridges/testing/environments/rococo-westend/rococo-init.zndsl
new file mode 100644
index 0000000000000000000000000000000000000000..145f2df73a6ec4b4179b12f0edbad5a6b95a7cba
--- /dev/null
+++ b/bridges/testing/environments/rococo-westend/rococo-init.zndsl
@@ -0,0 +1,8 @@
+Description: User is able to transfer WND from Westend Asset Hub to Rococo Asset Hub and back
+Network: ./bridge_hub_rococo_local_network.toml
+Creds: config
+
+# ensure that initialization has completed
+asset-hub-rococo-collator1: js-script ../../js-helpers/wait-hrmp-channel-opened.js with "1013" within 300 seconds
+
+
diff --git a/bridges/testing/environments/rococo-westend/rococo.zndsl b/bridges/testing/environments/rococo-westend/rococo.zndsl
new file mode 100644
index 0000000000000000000000000000000000000000..bd8681af2196814405a7d96e55882f00cbc0dc02
--- /dev/null
+++ b/bridges/testing/environments/rococo-westend/rococo.zndsl
@@ -0,0 +1,7 @@
+Description: User is able to transfer WND from Westend Asset Hub to Rococo Asset Hub and back
+Network: ./bridge_hub_rococo_local_network.toml
+Creds: config
+
+# relay is already started - let's wait until with-Westend GRANPDA pallet is initialized at Rococo
+bridge-hub-rococo-collator1: js-script ../../js-helpers/best-finalized-header-at-bridged-chain.js with "Westend,0" within 400 seconds
+
diff --git a/bridges/zombienet/environments/rococo-westend/spawn.sh b/bridges/testing/environments/rococo-westend/spawn.sh
similarity index 90%
rename from bridges/zombienet/environments/rococo-westend/spawn.sh
rename to bridges/testing/environments/rococo-westend/spawn.sh
index 550eee04bd6e251b84f546971826c2d5518665cf..5a0d65ce65dba1e5649920a419b7e9fa3da00367 100755
--- a/bridges/zombienet/environments/rococo-westend/spawn.sh
+++ b/bridges/testing/environments/rococo-westend/spawn.sh
@@ -26,11 +26,11 @@ done
 logs_dir=$TEST_DIR/logs
 helper_script="${BASH_SOURCE%/*}/helper.sh"
 
-rococo_def=$POLKADOT_SDK_PATH/cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
+rococo_def=${BASH_SOURCE%/*}/bridge_hub_rococo_local_network.toml
 start_zombienet $TEST_DIR $rococo_def rococo_dir rococo_pid
 echo
 
-westend_def=$POLKADOT_SDK_PATH/cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
+westend_def=${BASH_SOURCE%/*}/bridge_hub_westend_local_network.toml
 start_zombienet $TEST_DIR $westend_def westend_dir westend_pid
 echo
 
diff --git a/bridges/zombienet/environments/rococo-westend/start_relayer.sh b/bridges/testing/environments/rococo-westend/start_relayer.sh
similarity index 100%
rename from bridges/zombienet/environments/rococo-westend/start_relayer.sh
rename to bridges/testing/environments/rococo-westend/start_relayer.sh
diff --git a/bridges/testing/environments/rococo-westend/westend-init.zndsl b/bridges/testing/environments/rococo-westend/westend-init.zndsl
new file mode 100644
index 0000000000000000000000000000000000000000..2f8e665d592d587f3e88b45b8e5dcfa1e05780cc
--- /dev/null
+++ b/bridges/testing/environments/rococo-westend/westend-init.zndsl
@@ -0,0 +1,7 @@
+Description: User is able to transfer ROC from Rococo Asset Hub to Westend Asset Hub and back
+Network: ./bridge_hub_westend_local_network.toml
+Creds: config
+
+# ensure that initialization has completed
+asset-hub-westend-collator1: js-script ../../js-helpers/wait-hrmp-channel-opened.js with "1002" within 600 seconds
+
diff --git a/bridges/testing/environments/rococo-westend/westend.zndsl b/bridges/testing/environments/rococo-westend/westend.zndsl
new file mode 100644
index 0000000000000000000000000000000000000000..c75ae579d27ab6eb979d6a0b88ab481940eb0e76
--- /dev/null
+++ b/bridges/testing/environments/rococo-westend/westend.zndsl
@@ -0,0 +1,6 @@
+Description: User is able to transfer ROC from Rococo Asset Hub to Westend Asset Hub and back
+Network: ./bridge_hub_westend_local_network.toml
+Creds: config
+
+# relay is already started - let's wait until with-Rococo GRANPDA pallet is initialized at Westend
+bridge-hub-westend-collator1: js-script ../../js-helpers/best-finalized-header-at-bridged-chain.js with "Rococo,0" within 400 seconds
diff --git a/bridges/zombienet/helpers/best-finalized-header-at-bridged-chain.js b/bridges/testing/js-helpers/best-finalized-header-at-bridged-chain.js
similarity index 100%
rename from bridges/zombienet/helpers/best-finalized-header-at-bridged-chain.js
rename to bridges/testing/js-helpers/best-finalized-header-at-bridged-chain.js
diff --git a/bridges/zombienet/helpers/chains/rococo-at-westend.js b/bridges/testing/js-helpers/chains/rococo-at-westend.js
similarity index 100%
rename from bridges/zombienet/helpers/chains/rococo-at-westend.js
rename to bridges/testing/js-helpers/chains/rococo-at-westend.js
diff --git a/bridges/zombienet/helpers/chains/westend-at-rococo.js b/bridges/testing/js-helpers/chains/westend-at-rococo.js
similarity index 100%
rename from bridges/zombienet/helpers/chains/westend-at-rococo.js
rename to bridges/testing/js-helpers/chains/westend-at-rococo.js
diff --git a/bridges/zombienet/helpers/native-assets-balance-increased.js b/bridges/testing/js-helpers/native-assets-balance-increased.js
similarity index 100%
rename from bridges/zombienet/helpers/native-assets-balance-increased.js
rename to bridges/testing/js-helpers/native-assets-balance-increased.js
diff --git a/bridges/zombienet/helpers/only-mandatory-headers-synced-when-idle.js b/bridges/testing/js-helpers/only-mandatory-headers-synced-when-idle.js
similarity index 100%
rename from bridges/zombienet/helpers/only-mandatory-headers-synced-when-idle.js
rename to bridges/testing/js-helpers/only-mandatory-headers-synced-when-idle.js
diff --git a/bridges/zombienet/helpers/only-required-headers-synced-when-idle.js b/bridges/testing/js-helpers/only-required-headers-synced-when-idle.js
similarity index 100%
rename from bridges/zombienet/helpers/only-required-headers-synced-when-idle.js
rename to bridges/testing/js-helpers/only-required-headers-synced-when-idle.js
diff --git a/bridges/zombienet/helpers/relayer-rewards.js b/bridges/testing/js-helpers/relayer-rewards.js
similarity index 100%
rename from bridges/zombienet/helpers/relayer-rewards.js
rename to bridges/testing/js-helpers/relayer-rewards.js
diff --git a/bridges/zombienet/helpers/utils.js b/bridges/testing/js-helpers/utils.js
similarity index 100%
rename from bridges/zombienet/helpers/utils.js
rename to bridges/testing/js-helpers/utils.js
diff --git a/bridges/zombienet/helpers/wait-hrmp-channel-opened.js b/bridges/testing/js-helpers/wait-hrmp-channel-opened.js
similarity index 100%
rename from bridges/zombienet/helpers/wait-hrmp-channel-opened.js
rename to bridges/testing/js-helpers/wait-hrmp-channel-opened.js
diff --git a/bridges/zombienet/helpers/wrapped-assets-balance.js b/bridges/testing/js-helpers/wrapped-assets-balance.js
similarity index 100%
rename from bridges/zombienet/helpers/wrapped-assets-balance.js
rename to bridges/testing/js-helpers/wrapped-assets-balance.js
diff --git a/bridges/zombienet/run-new-test.sh b/bridges/testing/run-new-test.sh
similarity index 100%
rename from bridges/zombienet/run-new-test.sh
rename to bridges/testing/run-new-test.sh
diff --git a/bridges/zombienet/run-tests.sh b/bridges/testing/run-tests.sh
similarity index 98%
rename from bridges/zombienet/run-tests.sh
rename to bridges/testing/run-tests.sh
index 42818a5cdf36f5967394258a5082cbff7f2b4cb3..6149d9912653c79968a0229759c8f1bf46f68a9f 100755
--- a/bridges/zombienet/run-tests.sh
+++ b/bridges/testing/run-tests.sh
@@ -28,7 +28,7 @@ done
 # assuming that we'll be using native provide && all processes will be executing locally
 # (we need absolute paths here, because they're used when scripts are called by zombienet from tmp folders)
 export POLKADOT_SDK_PATH=`realpath $(dirname "$0")/../..`
-export BRIDGE_TESTS_FOLDER=$POLKADOT_SDK_PATH/bridges/zombienet/tests
+export BRIDGE_TESTS_FOLDER=$POLKADOT_SDK_PATH/bridges/testing/tests
 
 # set pathc to binaries
 if [ "$ZOMBIENET_DOCKER_PATHS" -eq 1 ]; then
diff --git a/bridges/zombienet/scripts/invoke-script.sh b/bridges/testing/scripts/invoke-script.sh
similarity index 62%
rename from bridges/zombienet/scripts/invoke-script.sh
rename to bridges/testing/scripts/invoke-script.sh
index 1f814cd085621f8d9a557e3b742b9094b0f8975f..cd0557b071bbadc41e056a2e50c9f1aa0b677312 100755
--- a/bridges/zombienet/scripts/invoke-script.sh
+++ b/bridges/testing/scripts/invoke-script.sh
@@ -2,6 +2,6 @@
 
 INVOKE_LOG=`mktemp -p $TEST_FOLDER invoke.XXXXX`
 
-pushd $POLKADOT_SDK_PATH/cumulus/scripts
+pushd $POLKADOT_SDK_PATH/bridges/testing/environments/rococo-westend
 ./bridges_rococo_westend.sh $1 >$INVOKE_LOG 2>&1
 popd
diff --git a/bridges/zombienet/scripts/start-relayer.sh b/bridges/testing/scripts/start-relayer.sh
similarity index 63%
rename from bridges/zombienet/scripts/start-relayer.sh
rename to bridges/testing/scripts/start-relayer.sh
index 630fd7316fe414766c50720989dda1865237cdd2..38ea62fad524486c40cf88943c48a2e4df4b86e8 100755
--- a/bridges/zombienet/scripts/start-relayer.sh
+++ b/bridges/testing/scripts/start-relayer.sh
@@ -2,6 +2,6 @@
 
 RELAY_LOG=`mktemp -p $TEST_FOLDER relay.XXXXX`
 
-pushd $POLKADOT_SDK_PATH/cumulus/scripts
+pushd $POLKADOT_SDK_PATH/bridges/testing/environments/rococo-westend
 ./bridges_rococo_westend.sh run-relay >$RELAY_LOG 2>&1&
 popd
diff --git a/bridges/zombienet/scripts/sync-exit.sh b/bridges/testing/scripts/sync-exit.sh
similarity index 100%
rename from bridges/zombienet/scripts/sync-exit.sh
rename to bridges/testing/scripts/sync-exit.sh
diff --git a/bridges/testing/tests/0001-asset-transfer/roc-reaches-westend.zndsl b/bridges/testing/tests/0001-asset-transfer/roc-reaches-westend.zndsl
new file mode 100644
index 0000000000000000000000000000000000000000..203c95b73eb2d3743610b84828fd12402f2399d4
--- /dev/null
+++ b/bridges/testing/tests/0001-asset-transfer/roc-reaches-westend.zndsl
@@ -0,0 +1,12 @@
+Description: User is able to transfer ROC from Rococo Asset Hub to Westend Asset Hub and back
+Network: ../../environments/rococo-westend/bridge_hub_westend_local_network.toml
+Creds: config
+
+# send ROC to //Alice from Rococo AH to Westend AH
+asset-hub-westend-collator1: run ../../environments/rococo-westend/helper.sh with "reserve-transfer-assets-from-asset-hub-rococo-local" within 120 seconds
+
+# check that //Alice received the ROC on Westend AH
+asset-hub-westend-collator1: js-script ../../js-helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,0,Rococo" within 300 seconds
+
+# check that the relayer //Charlie is rewarded by Westend AH
+bridge-hub-westend-collator1: js-script ../../js-helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x6268726F,ThisChain,0" within 30 seconds
diff --git a/bridges/zombienet/tests/0001-asset-transfer/run.sh b/bridges/testing/tests/0001-asset-transfer/run.sh
similarity index 100%
rename from bridges/zombienet/tests/0001-asset-transfer/run.sh
rename to bridges/testing/tests/0001-asset-transfer/run.sh
diff --git a/bridges/testing/tests/0001-asset-transfer/wnd-reaches-rococo.zndsl b/bridges/testing/tests/0001-asset-transfer/wnd-reaches-rococo.zndsl
new file mode 100644
index 0000000000000000000000000000000000000000..bbd95db9cfda88396657d0744ef84a4dd4d92180
--- /dev/null
+++ b/bridges/testing/tests/0001-asset-transfer/wnd-reaches-rococo.zndsl
@@ -0,0 +1,12 @@
+Description: User is able to transfer WND from Westend Asset Hub to Rococo Asset Hub and back
+Network: ../../environments/rococo-westend/bridge_hub_rococo_local_network.toml
+Creds: config
+
+# send WND to //Alice from Westend AH to Rococo AH
+asset-hub-rococo-collator1: run ../../environments/rococo-westend/helper.sh with "reserve-transfer-assets-from-asset-hub-westend-local" within 120 seconds
+
+# check that //Alice received the WND on Rococo AH
+asset-hub-rococo-collator1: js-script ../../js-helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,0,Westend" within 300 seconds
+
+# check that the relayer //Charlie is rewarded by Rococo AH
+bridge-hub-rococo-collator1: js-script ../../js-helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x62687764,ThisChain,0" within 30 seconds
diff --git a/bridges/zombienet/tests/0001-asset-transfer/wroc-reaches-rococo.zndsl b/bridges/testing/tests/0001-asset-transfer/wroc-reaches-rococo.zndsl
similarity index 65%
rename from bridges/zombienet/tests/0001-asset-transfer/wroc-reaches-rococo.zndsl
rename to bridges/testing/tests/0001-asset-transfer/wroc-reaches-rococo.zndsl
index 7fbdecadeaefdaed0b0571071e7e5ba76374eca7..4c0a4675234e614f6569653aa14263dac3ac3e03 100644
--- a/bridges/zombienet/tests/0001-asset-transfer/wroc-reaches-rococo.zndsl
+++ b/bridges/testing/tests/0001-asset-transfer/wroc-reaches-rococo.zndsl
@@ -1,5 +1,5 @@
 Description: User is able to transfer ROC from Rococo Asset Hub to Westend Asset Hub and back
-Network: ../../../../cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
+Network: ../../environments/rococo-westend/bridge_hub_westend_local_network.toml
 Creds: config
 
 # send wROC back to Alice from Westend AH to Rococo AH
@@ -7,4 +7,4 @@ asset-hub-rococo-collator1: run ../../environments/rococo-westend/helper.sh with
 
 # check that //Alice received the wROC on Rococo AH
 # (we wait until //Alice account increases here - there are no other transactions that may increase it)
-asset-hub-rococo-collator1: js-script ../../helpers/native-assets-balance-increased.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" within 300 seconds
+asset-hub-rococo-collator1: js-script ../../js-helpers/native-assets-balance-increased.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" within 300 seconds
diff --git a/bridges/zombienet/tests/0001-asset-transfer/wwnd-reaches-westend.zndsl b/bridges/testing/tests/0001-asset-transfer/wwnd-reaches-westend.zndsl
similarity index 65%
rename from bridges/zombienet/tests/0001-asset-transfer/wwnd-reaches-westend.zndsl
rename to bridges/testing/tests/0001-asset-transfer/wwnd-reaches-westend.zndsl
index 662e88752688879f894ebcd9d4127eb9789a4d6e..3acded97d5cc9cd0c2177f47fae7d362058eb85a 100644
--- a/bridges/zombienet/tests/0001-asset-transfer/wwnd-reaches-westend.zndsl
+++ b/bridges/testing/tests/0001-asset-transfer/wwnd-reaches-westend.zndsl
@@ -1,5 +1,5 @@
 Description: User is able to transfer ROC from Rococo Asset Hub to Westend Asset Hub and back
-Network: ../../../../cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
+Network: ../../environments/rococo-westend/bridge_hub_westend_local_network.toml
 Creds: config
 
 # send wWND back to Alice from Rococo AH to Westend AH
@@ -7,4 +7,4 @@ asset-hub-westend-collator1: run ../../environments/rococo-westend/helper.sh wit
 
 # check that //Alice received the wWND on Westend AH
 # (we wait until //Alice account increases here - there are no other transactions that may increase it)
-asset-hub-westend-collator1: js-script ../../helpers/native-assets-balance-increased.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" within 300 seconds
+asset-hub-westend-collator1: js-script ../../js-helpers/native-assets-balance-increased.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" within 300 seconds
diff --git a/bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle/rococo-to-westend.zndsl b/bridges/testing/tests/0002-mandatory-headers-synced-while-idle/rococo-to-westend.zndsl
similarity index 58%
rename from bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle/rococo-to-westend.zndsl
rename to bridges/testing/tests/0002-mandatory-headers-synced-while-idle/rococo-to-westend.zndsl
index d4283b3612966866e5f1b1d3fdb3e0da3fdadf2b..82a1a103b14a7a175dff9f352517efc9269d7e36 100644
--- a/bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle/rococo-to-westend.zndsl
+++ b/bridges/testing/tests/0002-mandatory-headers-synced-while-idle/rococo-to-westend.zndsl
@@ -1,8 +1,8 @@
 Description: While relayer is idle, we only sync mandatory Rococo (and a single Rococo BH) headers to Westend BH.
-Network: ../../../../cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
+Network: ../../environments/rococo-westend/bridge_hub_westend_local_network.toml
 Creds: config
 
 # ensure that relayer is only syncing mandatory headers while idle. This includes both headers that were
 # generated while relay was offline and those in the next 100 seconds while script is active.
-bridge-hub-westend-collator1: js-script ../../helpers/only-mandatory-headers-synced-when-idle.js with "300,rococo-at-westend" within 600 seconds
+bridge-hub-westend-collator1: js-script ../../js-helpers/only-mandatory-headers-synced-when-idle.js with "300,rococo-at-westend" within 600 seconds
 
diff --git a/bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle/run.sh b/bridges/testing/tests/0002-mandatory-headers-synced-while-idle/run.sh
similarity index 100%
rename from bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle/run.sh
rename to bridges/testing/tests/0002-mandatory-headers-synced-while-idle/run.sh
diff --git a/bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle/westend-to-rococo.zndsl b/bridges/testing/tests/0002-mandatory-headers-synced-while-idle/westend-to-rococo.zndsl
similarity index 58%
rename from bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle/westend-to-rococo.zndsl
rename to bridges/testing/tests/0002-mandatory-headers-synced-while-idle/westend-to-rococo.zndsl
index 1ea4c92a34582b87bd8493cd7f8b750920db5500..865813246252ae7911addd603903b6b2a43bab73 100644
--- a/bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle/westend-to-rococo.zndsl
+++ b/bridges/testing/tests/0002-mandatory-headers-synced-while-idle/westend-to-rococo.zndsl
@@ -1,7 +1,7 @@
 Description: While relayer is idle, we only sync mandatory Westend (and a single Westend BH) headers to Rococo BH.
-Network: ../../../../cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
+Network: ../../environments/rococo-westend/bridge_hub_rococo_local_network.toml
 Creds: config
 
 # ensure that relayer is only syncing mandatory headers while idle. This includes both headers that were
 # generated while relay was offline and those in the next 100 seconds while script is active.
-bridge-hub-rococo-collator1: js-script ../../helpers/only-mandatory-headers-synced-when-idle.js with "300,westend-at-rococo" within 600 seconds
+bridge-hub-rococo-collator1: js-script ../../js-helpers/only-mandatory-headers-synced-when-idle.js with "300,westend-at-rococo" within 600 seconds
diff --git a/bridges/zombienet/tests/0003-required-headers-synced-while-active-rococo-to-westend.zndsl b/bridges/testing/tests/0003-required-headers-synced-while-active-rococo-to-westend.zndsl
similarity index 77%
rename from bridges/zombienet/tests/0003-required-headers-synced-while-active-rococo-to-westend.zndsl
rename to bridges/testing/tests/0003-required-headers-synced-while-active-rococo-to-westend.zndsl
index a4960344f0a03265d2accfa52cd9a4ab1d7117d6..07b91481dc7cf995b913a9bf84edd3728982eaae 100644
--- a/bridges/zombienet/tests/0003-required-headers-synced-while-active-rococo-to-westend.zndsl
+++ b/bridges/testing/tests/0003-required-headers-synced-while-active-rococo-to-westend.zndsl
@@ -1,5 +1,5 @@
 Description: While relayer is active, we only sync mandatory and required Rococo (and Rococo BH) headers to Westend BH.
-Network: ../../../cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
+Network: ../environments/rococo-westend/bridge_hub_westend_local_network.toml
 Creds: config
 
 # step 1: initialize Westend AH
@@ -9,7 +9,7 @@ asset-hub-westend-collator1: run ../scripts/invoke-script.sh with "init-asset-hu
 bridge-hub-westend-collator1: run ../scripts/invoke-script.sh with "init-bridge-hub-westend-local" within 60 seconds
 
 # step 3: ensure that initialization has completed
-asset-hub-westend-collator1: js-script ../helpers/wait-hrmp-channel-opened.js with "1002" within 600 seconds
+asset-hub-westend-collator1: js-script ../js-helpers/wait-hrmp-channel-opened.js with "1002" within 600 seconds
 
 # step 4: send message from Westend to Rococo
 asset-hub-westend-collator1: run ../scripts/invoke-script.sh with "reserve-transfer-assets-from-asset-hub-westend-local" within 60 seconds
@@ -20,7 +20,7 @@ asset-hub-westend-collator1: run ../scripts/invoke-script.sh with "reserve-trans
 # (it is started by sibling 0003-required-headers-synced-while-active-westend-to-rococo.zndsl)
 
 # step 6: ensure that relayer won't sync any extra headers while delivering messages and confirmations
-bridge-hub-westend-collator1: js-script ../helpers/only-required-headers-synced-when-active.js with "500,rococo-at-westend" within 600 seconds
+bridge-hub-westend-collator1: js-script ../js-helpers/only-required-headers-synced-when-active.js with "500,rococo-at-westend" within 600 seconds
 
 # wait until other network test has completed OR exit with an error too
 asset-hub-westend-collator1: run ../scripts/sync-exit.sh within 600 seconds
diff --git a/bridges/zombienet/tests/0003-required-headers-synced-while-active-westend-to-rococo.zndsl b/bridges/testing/tests/0003-required-headers-synced-while-active-westend-to-rococo.zndsl
similarity index 77%
rename from bridges/zombienet/tests/0003-required-headers-synced-while-active-westend-to-rococo.zndsl
rename to bridges/testing/tests/0003-required-headers-synced-while-active-westend-to-rococo.zndsl
index 33c3ceebcf844cc6029d41deb289b1a1d8103132..a6b11fc24052aadf562bc34704aeda9ee115eccf 100644
--- a/bridges/zombienet/tests/0003-required-headers-synced-while-active-westend-to-rococo.zndsl
+++ b/bridges/testing/tests/0003-required-headers-synced-while-active-westend-to-rococo.zndsl
@@ -1,5 +1,5 @@
 Description: While relayer is active, we only sync mandatory and required Westend (and Westend BH) headers to Rococo BH.
-Network: ../../../cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
+Network: ../environments/rococo-westend/bridge_hub_rococo_local_network.toml
 Creds: config
 
 # step 1: initialize Rococo AH
@@ -9,7 +9,7 @@ asset-hub-rococo-collator1: run ../scripts/invoke-script.sh with "init-asset-hub
 bridge-hub-rococo-collator1: run ../scripts/invoke-script.sh with "init-bridge-hub-rococo-local" within 60 seconds
 
 # step 3: ensure that initialization has completed
-asset-hub-rococo-collator1: js-script ../helpers/wait-hrmp-channel-opened.js with "1013" within 600 seconds
+asset-hub-rococo-collator1: js-script ../js-helpers/wait-hrmp-channel-opened.js with "1013" within 600 seconds
 
 # step 4: send message from Rococo to Westend
 asset-hub-rococo-collator1: run ../scripts/invoke-script.sh with "reserve-transfer-assets-from-asset-hub-rococo-local" within 60 seconds
@@ -20,7 +20,7 @@ asset-hub-rococo-collator1: run ../scripts/invoke-script.sh with "reserve-transf
 bridge-hub-rococo-collator1: run ../scripts/start-relayer.sh within 60 seconds
 
 # step 6: ensure that relayer won't sync any extra headers while delivering messages and confirmations
-bridge-hub-rococo-collator1: js-script ../helpers/only-required-headers-synced-when-active.js with "500,westend-at-rococo" within 600 seconds
+bridge-hub-rococo-collator1: js-script ../js-helpers/only-required-headers-synced-when-active.js with "500,westend-at-rococo" within 600 seconds
 
 # wait until other network test has completed OR exit with an error too
 asset-hub-rococo-collator1: run ../scripts/sync-exit.sh within 600 seconds
diff --git a/cumulus/scripts/bridges_common.sh b/bridges/testing/utils/bridges.sh
similarity index 99%
rename from cumulus/scripts/bridges_common.sh
rename to bridges/testing/utils/bridges.sh
index 2064dbbb5b85dbf9ca87b3cab35771d5a0577a0f..cfde5dfd26b720e5eba20b0b0b3685e665163e3f 100755
--- a/cumulus/scripts/bridges_common.sh
+++ b/bridges/testing/utils/bridges.sh
@@ -65,7 +65,7 @@ function generate_hex_encoded_call_data() {
     shift
     echo "Input params: $@"
 
-    node $(dirname "$0")/generate_hex_encoded_call "$type" "$endpoint" "$output" "$@"
+    node ${BASH_SOURCE%/*}/../utils/generate_hex_encoded_call "$type" "$endpoint" "$output" "$@"
     local retVal=$?
 
     if [ $type != "check" ]; then
diff --git a/bridges/zombienet/utils/common.sh b/bridges/testing/utils/common.sh
similarity index 100%
rename from bridges/zombienet/utils/common.sh
rename to bridges/testing/utils/common.sh
diff --git a/cumulus/scripts/generate_hex_encoded_call/index.js b/bridges/testing/utils/generate_hex_encoded_call/index.js
similarity index 100%
rename from cumulus/scripts/generate_hex_encoded_call/index.js
rename to bridges/testing/utils/generate_hex_encoded_call/index.js
diff --git a/cumulus/scripts/generate_hex_encoded_call/package-lock.json b/bridges/testing/utils/generate_hex_encoded_call/package-lock.json
similarity index 100%
rename from cumulus/scripts/generate_hex_encoded_call/package-lock.json
rename to bridges/testing/utils/generate_hex_encoded_call/package-lock.json
diff --git a/cumulus/scripts/generate_hex_encoded_call/package.json b/bridges/testing/utils/generate_hex_encoded_call/package.json
similarity index 100%
rename from cumulus/scripts/generate_hex_encoded_call/package.json
rename to bridges/testing/utils/generate_hex_encoded_call/package.json
diff --git a/bridges/zombienet/utils/zombienet.sh b/bridges/testing/utils/zombienet.sh
similarity index 100%
rename from bridges/zombienet/utils/zombienet.sh
rename to bridges/testing/utils/zombienet.sh
diff --git a/bridges/zombienet/environments/rococo-westend/helper.sh b/bridges/zombienet/environments/rococo-westend/helper.sh
deleted file mode 100755
index 049693e0e293992d8ed59af670694abdc6534fee..0000000000000000000000000000000000000000
--- a/bridges/zombienet/environments/rococo-westend/helper.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-$POLKADOT_SDK_PATH/cumulus/scripts/bridges_rococo_westend.sh "$@"
diff --git a/bridges/zombienet/environments/rococo-westend/rococo-init.zndsl b/bridges/zombienet/environments/rococo-westend/rococo-init.zndsl
deleted file mode 100644
index ae3e3e7cb67f496c651f0d5a268ecba9c44773be..0000000000000000000000000000000000000000
--- a/bridges/zombienet/environments/rococo-westend/rococo-init.zndsl
+++ /dev/null
@@ -1,8 +0,0 @@
-Description: User is able to transfer WND from Westend Asset Hub to Rococo Asset Hub and back
-Network: ../../../../cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
-Creds: config
-
-# ensure that initialization has completed
-asset-hub-rococo-collator1: js-script ../../helpers/wait-hrmp-channel-opened.js with "1013" within 300 seconds
-
-
diff --git a/bridges/zombienet/environments/rococo-westend/rococo.zndsl b/bridges/zombienet/environments/rococo-westend/rococo.zndsl
deleted file mode 100644
index 7ecb05ceefa346b7aeea75dcce083c253c857665..0000000000000000000000000000000000000000
--- a/bridges/zombienet/environments/rococo-westend/rococo.zndsl
+++ /dev/null
@@ -1,7 +0,0 @@
-Description: User is able to transfer WND from Westend Asset Hub to Rococo Asset Hub and back
-Network: ../../../../cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
-Creds: config
-
-# relay is already started - let's wait until with-Westend GRANPDA pallet is initialized at Rococo
-bridge-hub-rococo-collator1: js-script ../../helpers/best-finalized-header-at-bridged-chain.js with "Westend,0" within 400 seconds
-
diff --git a/bridges/zombienet/environments/rococo-westend/westend-init.zndsl b/bridges/zombienet/environments/rococo-westend/westend-init.zndsl
deleted file mode 100644
index 3b3e4bd91e22e1766d2b5e32f6f52fb787d70192..0000000000000000000000000000000000000000
--- a/bridges/zombienet/environments/rococo-westend/westend-init.zndsl
+++ /dev/null
@@ -1,7 +0,0 @@
-Description: User is able to transfer ROC from Rococo Asset Hub to Westend Asset Hub and back
-Network: ../../../../cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
-Creds: config
-
-# ensure that initialization has completed
-asset-hub-westend-collator1: js-script ../../helpers/wait-hrmp-channel-opened.js with "1002" within 600 seconds
-
diff --git a/bridges/zombienet/environments/rococo-westend/westend.zndsl b/bridges/zombienet/environments/rococo-westend/westend.zndsl
deleted file mode 100644
index b3864d12a0e3bf406f527e6d335300e6a15b047a..0000000000000000000000000000000000000000
--- a/bridges/zombienet/environments/rococo-westend/westend.zndsl
+++ /dev/null
@@ -1,6 +0,0 @@
-Description: User is able to transfer ROC from Rococo Asset Hub to Westend Asset Hub and back
-Network: ../../../../cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
-Creds: config
-
-# relay is already started - let's wait until with-Rococo GRANPDA pallet is initialized at Westend
-bridge-hub-westend-collator1: js-script ../../helpers/best-finalized-header-at-bridged-chain.js with "Rococo,0" within 400 seconds
diff --git a/bridges/zombienet/tests/0001-asset-transfer-works-rococo-to-westend.zndsl b/bridges/zombienet/tests/0001-asset-transfer-works-rococo-to-westend.zndsl
deleted file mode 100644
index 82d1eee2f45cc12b60a85b829d4a4c17588fa9e7..0000000000000000000000000000000000000000
--- a/bridges/zombienet/tests/0001-asset-transfer-works-rococo-to-westend.zndsl
+++ /dev/null
@@ -1,39 +0,0 @@
-Description: User is able to transfer ROC from Rococo Asset Hub to Westend Asset Hub and back
-Network: ../../../cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
-Creds: config
-
-# step 0: start relayer
-# (started by sibling 0001-asset-transfer-works-westend-to-rococo.zndsl test)
-
-# step 1: initialize Westend AH
-asset-hub-westend-collator1: run ../scripts/invoke-script.sh with "init-asset-hub-westend-local" within 60 seconds
-
-# step 2: initialize Westend bridge hub
-bridge-hub-westend-collator1: run ../scripts/invoke-script.sh with "init-bridge-hub-westend-local" within 60 seconds
-
-# step 3: ensure that initialization has completed
-asset-hub-westend-collator1: js-script ../helpers/wait-hrmp-channel-opened.js with "1002" within 600 seconds
-
-# step 4: relay is already started - let's wait until with-Rococo GRANPDA pallet is initialized at Westend
-bridge-hub-westend-collator1: js-script ../helpers/best-finalized-header-at-bridged-chain.js with "Rococo,0" within 400 seconds
-
-# step 5: send WND to //Alice on Rococo AH
-# (that's a required part of a sibling 0001-asset-transfer-works-westend-to-rococo.zndsl test)
-asset-hub-westend-collator1: run ../scripts/invoke-script.sh with "reserve-transfer-assets-from-asset-hub-westend-local" within 60 seconds
-
-# step 6: elsewhere Rococo has sent ROC to //Alice - let's wait for it
-asset-hub-westend-collator1: js-script ../helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,0,Rococo" within 600 seconds
-
-# step 7: check that the relayer //Charlie is rewarded by both our AH and target AH
-bridge-hub-westend-collator1: js-script ../helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x6268726f,BridgedChain,0" within 300 seconds
-bridge-hub-westend-collator1: js-script ../helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x6268726F,ThisChain,0" within 300 seconds
-
-# step 8: send wROC back to Alice at Rococo AH
-asset-hub-westend-collator1: run ../scripts/invoke-script.sh with "withdraw-reserve-assets-from-asset-hub-westend-local" within 60 seconds
-
-# step 9: elsewhere Rococo has sent wWND to //Alice - let's wait for it
-# (we wait until //Alice account increases here - there are no other transactionc that may increase it)
-asset-hub-westend-collator1: js-script ../helpers/native-assets-balance-increased.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" within 600 seconds
-
-# wait until other network test has completed OR exit with an error too
-asset-hub-westend-collator1: run ../scripts/sync-exit.sh within 600 seconds
diff --git a/bridges/zombienet/tests/0001-asset-transfer-works-westend-to-rococo.zndsl b/bridges/zombienet/tests/0001-asset-transfer-works-westend-to-rococo.zndsl
deleted file mode 100644
index acfe0df03d26779abf0dd3c2aa3dfc8f37c0e3aa..0000000000000000000000000000000000000000
--- a/bridges/zombienet/tests/0001-asset-transfer-works-westend-to-rococo.zndsl
+++ /dev/null
@@ -1,39 +0,0 @@
-Description: User is able to transfer WND from Westend Asset Hub to Rococo Asset Hub and back
-Network: ../../../cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
-Creds: config
-
-# step 0: start relayer
-bridge-hub-rococo-collator1: run ../scripts/start-relayer.sh within 60 seconds
-
-# step 1: initialize Rococo AH
-asset-hub-rococo-collator1: run ../scripts/invoke-script.sh with "init-asset-hub-rococo-local" within 60 seconds
-
-# step 2: initialize Rococo bridge hub
-bridge-hub-rococo-collator1: run ../scripts/invoke-script.sh with "init-bridge-hub-rococo-local" within 60 seconds
-
-# step 3: ensure that initialization has completed
-asset-hub-rococo-collator1: js-script ../helpers/wait-hrmp-channel-opened.js with "1013" within 600 seconds
-
-# step 4: relay is already started - let's wait until with-Westend GRANPDA pallet is initialized at Rococo
-bridge-hub-rococo-collator1: js-script ../helpers/best-finalized-header-at-bridged-chain.js with "Westend,0" within 400 seconds
-
-# step 5: send ROC to //Alice on Westend AH
-# (that's a required part of a sibling 0001-asset-transfer-works-rococo-to-westend.zndsl test)
-asset-hub-rococo-collator1: run ../scripts/invoke-script.sh with "reserve-transfer-assets-from-asset-hub-rococo-local" within 60 seconds
-
-# step 6: elsewhere Westend has sent WND to //Alice - let's wait for it
-asset-hub-rococo-collator1: js-script ../helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,0,Westend" within 600 seconds
-
-# step 7: check that the relayer //Charlie is rewarded by both our AH and target AH
-bridge-hub-rococo-collator1: js-script ../helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x62687764,BridgedChain,0" within 300 seconds
-bridge-hub-rococo-collator1: js-script ../helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x62687764,ThisChain,0" within 300 seconds
-
-# step 8: send wWND back to Alice at Westend AH
-asset-hub-rococo-collator1: run ../scripts/invoke-script.sh with "withdraw-reserve-assets-from-asset-hub-rococo-local" within 60 seconds
-
-# step 9: elsewhere Westend has sent wROC to //Alice - let's wait for it
-# (we wait until //Alice account increases here - there are no other transactionc that may increase it)
-asset-hub-rococo-collator1: js-script ../helpers/native-assets-balance-increased.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY" within 600 seconds
-
-# wait until other network test has completed OR exit with an error too
-asset-hub-rococo-collator1: run ../scripts/sync-exit.sh within 600 seconds
diff --git a/bridges/zombienet/tests/0001-asset-transfer/roc-reaches-westend.zndsl b/bridges/zombienet/tests/0001-asset-transfer/roc-reaches-westend.zndsl
deleted file mode 100644
index c7fb73a88c0d0f18f470f3a8cc44d444736baa06..0000000000000000000000000000000000000000
--- a/bridges/zombienet/tests/0001-asset-transfer/roc-reaches-westend.zndsl
+++ /dev/null
@@ -1,12 +0,0 @@
-Description: User is able to transfer ROC from Rococo Asset Hub to Westend Asset Hub and back
-Network: ../../../../cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
-Creds: config
-
-# send ROC to //Alice from Rococo AH to Westend AH
-asset-hub-westend-collator1: run ../../environments/rococo-westend/helper.sh with "reserve-transfer-assets-from-asset-hub-rococo-local" within 120 seconds
-
-# check that //Alice received the ROC on Westend AH
-asset-hub-westend-collator1: js-script ../../helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,0,Rococo" within 300 seconds
-
-# check that the relayer //Charlie is rewarded by Westend AH
-bridge-hub-westend-collator1: js-script ../../helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x6268726F,ThisChain,0" within 30 seconds
diff --git a/bridges/zombienet/tests/0001-asset-transfer/wnd-reaches-rococo.zndsl b/bridges/zombienet/tests/0001-asset-transfer/wnd-reaches-rococo.zndsl
deleted file mode 100644
index 91ce8e5cbff9d6d93c83f2f9c14bc45926db91cb..0000000000000000000000000000000000000000
--- a/bridges/zombienet/tests/0001-asset-transfer/wnd-reaches-rococo.zndsl
+++ /dev/null
@@ -1,12 +0,0 @@
-Description: User is able to transfer WND from Westend Asset Hub to Rococo Asset Hub and back
-Network: ../../../../cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
-Creds: config
-
-# send WND to //Alice from Westend AH to Rococo AH
-asset-hub-rococo-collator1: run ../../environments/rococo-westend/helper.sh with "reserve-transfer-assets-from-asset-hub-westend-local" within 120 seconds
-
-# check that //Alice received the WND on Rococo AH
-asset-hub-rococo-collator1: js-script ../../helpers/wrapped-assets-balance.js with "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY,0,Westend" within 300 seconds
-
-# check that the relayer //Charlie is rewarded by Rococo AH
-bridge-hub-rococo-collator1: js-script ../../helpers/relayer-rewards.js with "5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y,0x00000002,0x62687764,ThisChain,0" within 30 seconds
diff --git a/bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle-rococo-to-westend.zndsl b/bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle-rococo-to-westend.zndsl
deleted file mode 100644
index eb6a75c373c7add04f895c01e332d40195150370..0000000000000000000000000000000000000000
--- a/bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle-rococo-to-westend.zndsl
+++ /dev/null
@@ -1,26 +0,0 @@
-Description: While relayer is idle, we only sync mandatory Rococo (and a single Rococo BH) headers to Westend BH.
-Network: ../../../cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
-Creds: config
-
-# step 1: initialize Westend bridge hub
-bridge-hub-westend-collator1: run ../scripts/invoke-script.sh with "init-bridge-hub-westend-local" within 60 seconds
-
-# step 2: sleep some time before starting relayer. We want to sleep for at least 1 session, which is expected to
-# be 60 seconds for test environment.
-sleep 120 seconds
-
-# step 3: start relayer
-# (it is started by the sibling 0002-mandatory-headers-synced-while-idle-westend-to-rococo.zndsl test file)
-
-# it also takes some time for relayer to initialize bridge, so let's sleep for 5 minutes to be sure that parachain
-# header has been synced
-
-# step 4: ensure that relayer is only syncing mandatory headers while idle. This includes both headers that were
-# born while relay was offline and those in the next 100 seconds while script is active.
-bridge-hub-westend-collator1: js-script ../helpers/only-mandatory-headers-synced-when-idle.js with "300,rococo-at-westend" within 600 seconds
-
-# wait until other network test has completed OR exit with an error too
-asset-hub-westend-collator1: run ../scripts/sync-exit.sh within 600 seconds
-
-# wait until other network test has completed OR exit with an error too
-asset-hub-westend-collator1: run ../scripts/sync-exit.sh within 600 seconds
diff --git a/bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle-westend-to-rococo.zndsl b/bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle-westend-to-rococo.zndsl
deleted file mode 100644
index 728d54d586a9b46625e3db70251b68c6501db922..0000000000000000000000000000000000000000
--- a/bridges/zombienet/tests/0002-mandatory-headers-synced-while-idle-westend-to-rococo.zndsl
+++ /dev/null
@@ -1,26 +0,0 @@
-Description: While relayer is idle, we only sync mandatory Westend (and a single Westend BH) headers to Rococo BH.
-Network: ../../../cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
-Creds: config
-
-# step 1: initialize Rococo bridge hub
-bridge-hub-rococo-collator1: run ../scripts/invoke-script.sh with "init-bridge-hub-rococo-local" within 60 seconds
-
-# step 2: sleep some time before starting relayer. We want to sleep for at least 1 session, which is expected to
-# be 60 seconds for test environment.
-sleep 120 seconds
-
-# step 3: start relayer
-bridge-hub-rococo-collator1: run ../scripts/start-relayer.sh within 60 seconds
-
-# it also takes some time for relayer to initialize bridge, so let's sleep for 5 minutes to be sure that parachain
-# header has been synced
-
-# step 4: ensure that relayer is only syncing mandatory headers while idle. This includes both headers that were
-# born while relay was offline and those in the next 100 seconds while script is active.
-bridge-hub-rococo-collator1: js-script ../helpers/only-mandatory-headers-synced-when-idle.js with "300,westend-at-rococo" within 600 seconds
-
-# wait until other network test has completed OR exit with an error too
-asset-hub-rococo-collator1: run ../scripts/sync-exit.sh within 600 seconds
-
-# wait until other network test has completed OR exit with an error too
-asset-hub-rococo-collator1: run ../scripts/sync-exit.sh within 600 seconds
diff --git a/cumulus/parachains/runtimes/bridge-hubs/README.md b/cumulus/parachains/runtimes/bridge-hubs/README.md
index 4e9403bf25ee10de915fb16b3fad08c1dc1e558b..c858532295ddce7ad1fd9a57a19d752201b78abd 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/README.md
+++ b/cumulus/parachains/runtimes/bridge-hubs/README.md
@@ -91,7 +91,7 @@ cd <polkadot-sdk-git-repo-dir>
 # Rococo + BridgeHubRococo + AssetHub for Rococo (mirroring Kusama)
 POLKADOT_BINARY=~/local_bridge_testing/bin/polkadot \
 POLKADOT_PARACHAIN_BINARY=~/local_bridge_testing/bin/polkadot-parachain \
-	~/local_bridge_testing/bin/zombienet-linux --provider native spawn ./cumulus/zombienet/bridge-hubs/bridge_hub_rococo_local_network.toml
+	~/local_bridge_testing/bin/zombienet-linux --provider native spawn ./bridges/testing/environments/rococo-westend/bridge_hub_rococo_local_network.toml
 ```
 
 ```
@@ -100,7 +100,7 @@ cd <polkadot-sdk-git-repo-dir>
 # Westend + BridgeHubWestend + AssetHub for Westend (mirroring Polkadot)
 POLKADOT_BINARY=~/local_bridge_testing/bin/polkadot \
 POLKADOT_PARACHAIN_BINARY=~/local_bridge_testing/bin/polkadot-parachain \
-	~/local_bridge_testing/bin/zombienet-linux --provider native spawn ./cumulus/zombienet/bridge-hubs/bridge_hub_westend_local_network.toml
+	~/local_bridge_testing/bin/zombienet-linux --provider native spawn ./bridges/testing/environments/rococo-westend/bridge_hub_westend_local_network.toml
 ```
 
 ### Init bridge and run relayer between BridgeHubRococo and BridgeHubWestend
@@ -112,7 +112,7 @@ POLKADOT_PARACHAIN_BINARY=~/local_bridge_testing/bin/polkadot-parachain \
 ```
 cd <polkadot-sdk-git-repo-dir>
 
-./cumulus/scripts/bridges_rococo_westend.sh run-relay
+./bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh run-relay
 ```
 
 **Check relay-chain headers relaying:**
@@ -135,10 +135,10 @@ This initialization does several things:
 ```
 cd <polkadot-sdk-git-repo-dir>
 
-./cumulus/scripts/bridges_rococo_westend.sh init-asset-hub-rococo-local
-./cumulus/scripts/bridges_rococo_westend.sh init-bridge-hub-rococo-local
-./cumulus/scripts/bridges_rococo_westend.sh init-asset-hub-westend-local
-./cumulus/scripts/bridges_rococo_westend.sh init-bridge-hub-westend-local
+./bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh init-asset-hub-rococo-local
+./bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh init-bridge-hub-rococo-local
+./bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh init-asset-hub-westend-local
+./bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh init-bridge-hub-westend-local
 ```
 
 ### Send messages - transfer asset over bridge (ROCs/WNDs)
@@ -148,13 +148,13 @@ Do reserve-backed transfers:
 cd <polkadot-sdk-git-repo-dir>
 
 # ROCs from Rococo's Asset Hub to Westend's.
-./cumulus/scripts/bridges_rococo_westend.sh reserve-transfer-assets-from-asset-hub-rococo-local
+./bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh reserve-transfer-assets-from-asset-hub-rococo-local
 ```
 ```
 cd <polkadot-sdk-git-repo-dir>
 
 # WNDs from Westend's Asset Hub to Rococo's.
-./cumulus/scripts/bridges_rococo_westend.sh reserve-transfer-assets-from-asset-hub-westend-local
+./bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh reserve-transfer-assets-from-asset-hub-westend-local
 ```
 
 - open explorers: (see zombienets)
@@ -169,13 +169,13 @@ Do reserve withdraw transfers: (when previous is finished)
 cd <polkadot-sdk-git-repo-dir>
 
 # wrappedWNDs from Rococo's Asset Hub to Westend's.
-./cumulus/scripts/bridges_rococo_westend.sh withdraw-reserve-assets-from-asset-hub-rococo-local
+./bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh withdraw-reserve-assets-from-asset-hub-rococo-local
 ```
 ```
 cd <polkadot-sdk-git-repo-dir>
 
 # wrappedROCs from Westend's Asset Hub to Rococo's.
-./cumulus/scripts/bridges_rococo_westend.sh withdraw-reserve-assets-from-asset-hub-westend-local
+./bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh withdraw-reserve-assets-from-asset-hub-westend-local
 ```
 
 ### Claim relayer's rewards on BridgeHubRococo and BridgeHubWestend
@@ -188,10 +188,10 @@ cd <polkadot-sdk-git-repo-dir>
 cd <polkadot-sdk-git-repo-dir>
 
 # Claim rewards on BridgeHubWestend:
-./cumulus/scripts/bridges_rococo_westend.sh claim-rewards-bridge-hub-rococo-local
+./bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh claim-rewards-bridge-hub-rococo-local
 
 # Claim rewards on BridgeHubWestend:
-./cumulus/scripts/bridges_rococo_westend.sh claim-rewards-bridge-hub-westend-local
+./bridges/testing/environments/rococo-westend/bridges_rococo_westend.sh claim-rewards-bridge-hub-westend-local
 ```
 
 - open explorers: (see zombienets)
diff --git a/docker/dockerfiles/bridges_zombienet_tests_injected.Dockerfile b/docker/dockerfiles/bridges_zombienet_tests_injected.Dockerfile
index ec8881c5a3380dbaf9b9f03bc102f55a5a6473df..fde9cc6e7cf3cbf3ca21f7d6b489ad2a637d1f42 100644
--- a/docker/dockerfiles/bridges_zombienet_tests_injected.Dockerfile
+++ b/docker/dockerfiles/bridges_zombienet_tests_injected.Dockerfile
@@ -22,7 +22,7 @@ LABEL io.parity.image.authors="devops-team@parity.io" \
 	io.parity.image.source="https://github.com/paritytech/polkadot-sdk/blob/${VCS_REF}/docker/dockerfiles/bridges_zombienet_tests_injected.Dockerfile" \
 	io.parity.image.revision="${VCS_REF}" \
 	io.parity.image.created="${BUILD_DATE}" \
-	io.parity.image.documentation="https://github.com/paritytech/polkadot-sdk/bridges/zombienet"
+	io.parity.image.documentation="https://github.com/paritytech/polkadot-sdk/bridges/testing"
 
 # show backtraces
 ENV RUST_BACKTRACE 1
@@ -45,7 +45,7 @@ RUN	mkdir -p /home/nonroot/bridges-polkadot-sdk
 COPY ./artifacts/bridges-polkadot-sdk /home/nonroot/bridges-polkadot-sdk
 # also prepare `generate_hex_encoded_call` for running
 RUN set -eux; \
-	cd /home/nonroot/bridges-polkadot-sdk/cumulus/scripts/generate_hex_encoded_call; \
+	cd /home/nonroot/bridges-polkadot-sdk/bridges/testing/utils/generate_hex_encoded_call; \
 	npm install
 
 # check if executable works in this container