diff --git a/bridges/primitives/header-chain/Cargo.toml b/bridges/primitives/header-chain/Cargo.toml
index 9718318f603d8933061ce35e739a7b979e0b0fff..bb372085292cfc4ada99473f4b1f31c59ba746c3 100644
--- a/bridges/primitives/header-chain/Cargo.toml
+++ b/bridges/primitives/header-chain/Cargo.toml
@@ -10,7 +10,7 @@ license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false }
 finality-grandpa = { version = "0.16.2", default-features = false }
 scale-info = { version = "2.9.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0", optional = true }
+serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] }
 
 # Bridge dependencies
 
diff --git a/bridges/primitives/messages/Cargo.toml b/bridges/primitives/messages/Cargo.toml
index e5d5f70895bcc4d2d5e9763f6ea9113f1c46c1e3..ecb0bdc4079d1e8767a4ba891c48fcaa34f81394 100644
--- a/bridges/primitives/messages/Cargo.toml
+++ b/bridges/primitives/messages/Cargo.toml
@@ -9,7 +9,7 @@ license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 [dependencies]
 codec = { package = "parity-scale-codec", version = "3.1.5", default-features = false, features = ["derive", "bit-vec"] }
 scale-info = { version = "2.9.0", default-features = false, features = ["bit-vec", "derive"] }
-serde = { version = "1.0", optional = true, features = ["derive"] }
+serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] }
 
 # Bridge dependencies
 
@@ -34,7 +34,7 @@ std = [
 	"codec/std",
 	"frame-support/std",
 	"scale-info/std",
-	"serde",
+	"serde/std",
 	"sp-core/std",
 	"sp-std/std"
 ]
diff --git a/bridges/primitives/runtime/Cargo.toml b/bridges/primitives/runtime/Cargo.toml
index 456cfea9edb22ba5ee52df8912603f722b6d310e..4a4bc932bce01f11ab338aef82909f2b50580da3 100644
--- a/bridges/primitives/runtime/Cargo.toml
+++ b/bridges/primitives/runtime/Cargo.toml
@@ -12,7 +12,7 @@ hash-db = { version = "0.16.0", default-features = false }
 impl-trait-for-tuples = "0.2.2"
 num-traits = { version = "0.2", default-features = false }
 scale-info = { version = "2.9.0", default-features = false, features = ["derive"] }
-serde = { version = "1.0", optional = true, features = ["derive"] }
+serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] }
 
 # Substrate Dependencies
 
@@ -38,7 +38,7 @@ std = [
 	"hash-db/std",
 	"num-traits/std",
 	"scale-info/std",
-	"serde",
+	"serde/std",
 	"sp-core/std",
 	"sp-io/std",
 	"sp-runtime/std",