diff --git a/bridges/primitives/chain-kusama/Cargo.toml b/bridges/primitives/chain-kusama/Cargo.toml
index 5e1b91d1cf1820a875bce36e381ec6c53731a70c..a676b565c33dce3918c7540bed48384e1f9d7e95 100644
--- a/bridges/primitives/chain-kusama/Cargo.toml
+++ b/bridges/primitives/chain-kusama/Cargo.toml
@@ -7,7 +7,6 @@ edition = "2021"
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
 [dependencies]
-paste = "1.0"
 smallvec = "1.7"
 
 # Bridge Dependencies
diff --git a/bridges/primitives/chain-kusama/src/lib.rs b/bridges/primitives/chain-kusama/src/lib.rs
index 598e5730253d69e5bbe0498d7f2659c684b9c6ec..0b218b22250fddae5cfcdddd613278d7deb0c4e0 100644
--- a/bridges/primitives/chain-kusama/src/lib.rs
+++ b/bridges/primitives/chain-kusama/src/lib.rs
@@ -29,9 +29,7 @@ use sp_std::prelude::*;
 use sp_version::RuntimeVersion;
 
 pub use bp_polkadot_core::*;
-use bp_runtime::{
-	decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis, decl_bridge_runtime_apis,
-};
+use bp_runtime::decl_bridge_runtime_apis;
 
 /// Kusama Chain
 pub type Kusama = PolkadotLike;
diff --git a/bridges/primitives/chain-millau/Cargo.toml b/bridges/primitives/chain-millau/Cargo.toml
index 7c1e0dab7a571e0d1f35a5b428be906257070bb2..4cd8b30f7ff90be9aae0235dc5f6db4b5f82bdf4 100644
--- a/bridges/primitives/chain-millau/Cargo.toml
+++ b/bridges/primitives/chain-millau/Cargo.toml
@@ -7,7 +7,6 @@ edition = "2021"
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
 [dependencies]
-paste = "1.0"
 
 # Bridge Dependencies
 
diff --git a/bridges/primitives/chain-millau/src/lib.rs b/bridges/primitives/chain-millau/src/lib.rs
index 536a9216c80e40ec8ad34a467c8db1443647b38b..2f5b12eed0df0819de2134942f3283af0068bbec 100644
--- a/bridges/primitives/chain-millau/src/lib.rs
+++ b/bridges/primitives/chain-millau/src/lib.rs
@@ -23,10 +23,7 @@ mod millau_hash;
 use bp_messages::{
 	InboundMessageDetails, LaneId, MessageNonce, MessagePayload, OutboundMessageDetails,
 };
-use bp_runtime::{
-	decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis, decl_bridge_runtime_apis,
-	Chain,
-};
+use bp_runtime::{decl_bridge_runtime_apis, Chain};
 use frame_support::{
 	weights::{constants::WEIGHT_PER_SECOND, DispatchClass, IdentityFee, Weight},
 	Parameter, RuntimeDebug,
diff --git a/bridges/primitives/chain-polkadot/Cargo.toml b/bridges/primitives/chain-polkadot/Cargo.toml
index 6525ea3b752baed805d422a1ac019bd48f925bdf..738899b658cdf133be64a05b365c9b5923d171e3 100644
--- a/bridges/primitives/chain-polkadot/Cargo.toml
+++ b/bridges/primitives/chain-polkadot/Cargo.toml
@@ -8,7 +8,6 @@ license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
 [dependencies]
 smallvec = "1.7"
-paste = "1.0"
 
 # Bridge Dependencies
 
diff --git a/bridges/primitives/chain-polkadot/src/lib.rs b/bridges/primitives/chain-polkadot/src/lib.rs
index 7519c38878dfe4463e879cc3582715bc8628f9ee..6f584f5526a22b450e8ee3dfca7a7f69f825fa17 100644
--- a/bridges/primitives/chain-polkadot/src/lib.rs
+++ b/bridges/primitives/chain-polkadot/src/lib.rs
@@ -29,9 +29,7 @@ use sp_std::prelude::*;
 use sp_version::RuntimeVersion;
 
 pub use bp_polkadot_core::*;
-use bp_runtime::{
-	decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis, decl_bridge_runtime_apis,
-};
+use bp_runtime::decl_bridge_runtime_apis;
 
 /// Polkadot Chain
 pub type Polkadot = PolkadotLike;
diff --git a/bridges/primitives/chain-rialto-parachain/Cargo.toml b/bridges/primitives/chain-rialto-parachain/Cargo.toml
index 5bfda1631e5ac41d6785a65640330b238209da92..a15c40929579bfeac9435d9bb747112f71ef610e 100644
--- a/bridges/primitives/chain-rialto-parachain/Cargo.toml
+++ b/bridges/primitives/chain-rialto-parachain/Cargo.toml
@@ -7,7 +7,6 @@ edition = "2021"
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
 [dependencies]
-paste = "1.0"
 
 # Bridge Dependencies
 
diff --git a/bridges/primitives/chain-rialto-parachain/src/lib.rs b/bridges/primitives/chain-rialto-parachain/src/lib.rs
index 285f7f0f184bd40ceb78d2e4e94531a5a66716c6..8afbf87725c2bd877abf0119c6937a7a2e659fe4 100644
--- a/bridges/primitives/chain-rialto-parachain/src/lib.rs
+++ b/bridges/primitives/chain-rialto-parachain/src/lib.rs
@@ -21,10 +21,7 @@
 use bp_messages::{
 	InboundMessageDetails, LaneId, MessageNonce, MessagePayload, OutboundMessageDetails,
 };
-use bp_runtime::{
-	decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis, decl_bridge_runtime_apis,
-	Chain,
-};
+use bp_runtime::{decl_bridge_runtime_apis, Chain};
 use frame_support::{
 	weights::{constants::WEIGHT_PER_SECOND, DispatchClass, IdentityFee, Weight},
 	Parameter, RuntimeDebug,
diff --git a/bridges/primitives/chain-rialto/Cargo.toml b/bridges/primitives/chain-rialto/Cargo.toml
index 5e02bb454b7d741bd187b6efe9ad50c2cc37cc73..663f9076657dd5e4d8dad11b77eb0ad7d5acdfc5 100644
--- a/bridges/primitives/chain-rialto/Cargo.toml
+++ b/bridges/primitives/chain-rialto/Cargo.toml
@@ -7,7 +7,6 @@ edition = "2021"
 license = "GPL-3.0-or-later WITH Classpath-exception-2.0"
 
 [dependencies]
-paste = "1.0"
 
 # Bridge Dependencies
 
diff --git a/bridges/primitives/chain-rialto/src/lib.rs b/bridges/primitives/chain-rialto/src/lib.rs
index cd4a81264d1923880eb0656d08e2776591f55025..1b8d19249ea61b27cc216526fe54b4fcac4b6a95 100644
--- a/bridges/primitives/chain-rialto/src/lib.rs
+++ b/bridges/primitives/chain-rialto/src/lib.rs
@@ -21,10 +21,7 @@
 use bp_messages::{
 	InboundMessageDetails, LaneId, MessageNonce, MessagePayload, OutboundMessageDetails,
 };
-use bp_runtime::{
-	decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis, decl_bridge_runtime_apis,
-	Chain,
-};
+use bp_runtime::{decl_bridge_runtime_apis, Chain};
 use frame_support::{
 	weights::{constants::WEIGHT_PER_SECOND, DispatchClass, IdentityFee, Weight},
 	Parameter, RuntimeDebug,
diff --git a/bridges/primitives/chain-rococo/Cargo.toml b/bridges/primitives/chain-rococo/Cargo.toml
index 8c02dcccf848921208b5391848989c5ded5c6e10..fe6b07eeb766db888f5a23fc72c408ebfddf01fa 100644
--- a/bridges/primitives/chain-rococo/Cargo.toml
+++ b/bridges/primitives/chain-rococo/Cargo.toml
@@ -8,7 +8,6 @@ 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"] }
-paste = "1.0"
 smallvec = "1.7"
 
 # Bridge Dependencies
diff --git a/bridges/primitives/chain-rococo/src/lib.rs b/bridges/primitives/chain-rococo/src/lib.rs
index dfc31c827376daf5f16f7835bf45a590c0aa5a51..aa1d40ce92e25ea65863d7dd90adef230c9ed0a9 100644
--- a/bridges/primitives/chain-rococo/src/lib.rs
+++ b/bridges/primitives/chain-rococo/src/lib.rs
@@ -29,9 +29,7 @@ use sp_std::prelude::*;
 use sp_version::RuntimeVersion;
 
 pub use bp_polkadot_core::*;
-use bp_runtime::{
-	decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis, decl_bridge_runtime_apis,
-};
+use bp_runtime::decl_bridge_runtime_apis;
 
 /// Rococo Chain
 pub type Rococo = PolkadotLike;
diff --git a/bridges/primitives/chain-westend/Cargo.toml b/bridges/primitives/chain-westend/Cargo.toml
index fb2f846f7efd3d7d3a6cf5916f4495d0607a870f..f37aa3b0e397e2a83aae62b5b277d14c70275ba3 100644
--- a/bridges/primitives/chain-westend/Cargo.toml
+++ b/bridges/primitives/chain-westend/Cargo.toml
@@ -8,7 +8,6 @@ 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"] }
-paste = "1.0"
 scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
 smallvec = "1.7"
 
diff --git a/bridges/primitives/chain-wococo/Cargo.toml b/bridges/primitives/chain-wococo/Cargo.toml
index 44af20b726f5e941bfaf3b4ac94a55ce82b0cdf3..92e7c9e80e279e1f4390afd10baac978ad751bc8 100644
--- a/bridges/primitives/chain-wococo/Cargo.toml
+++ b/bridges/primitives/chain-wococo/Cargo.toml
@@ -8,7 +8,6 @@ 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"] }
-paste = "1.0"
 
 # Bridge Dependencies
 bp-messages = { path = "../messages", default-features = false }
diff --git a/bridges/primitives/chain-wococo/src/lib.rs b/bridges/primitives/chain-wococo/src/lib.rs
index 6db6e2fe6fd9512c3491188ae4dfdcd7bc521e80..c1626b0dc67d04c5c5a6aceb49f556ec038273d0 100644
--- a/bridges/primitives/chain-wococo/src/lib.rs
+++ b/bridges/primitives/chain-wococo/src/lib.rs
@@ -27,9 +27,7 @@ use sp_std::prelude::*;
 pub use bp_polkadot_core::*;
 // Rococo runtime = Wococo runtime
 pub use bp_rococo::{WeightToFee, EXISTENTIAL_DEPOSIT, PAY_INBOUND_DISPATCH_FEE_WEIGHT, VERSION};
-use bp_runtime::{
-	decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis, decl_bridge_runtime_apis,
-};
+use bp_runtime::decl_bridge_runtime_apis;
 
 /// Wococo Chain
 pub type Wococo = PolkadotLike;
diff --git a/bridges/primitives/runtime/src/chain.rs b/bridges/primitives/runtime/src/chain.rs
index 154603ccd3a1092cddcb13317e39ea7714fd1f61..7cb0ad976f06a4ffff11679fc2b26a2c732b5efb 100644
--- a/bridges/primitives/runtime/src/chain.rs
+++ b/bridges/primitives/runtime/src/chain.rs
@@ -225,7 +225,7 @@ pub type TransactionEraOf<C> = crate::TransactionEra<BlockNumberOf<C>, HashOf<C>
 #[macro_export]
 macro_rules! decl_bridge_finality_runtime_apis {
 	($chain: ident) => {
-		paste::item! {
+		bp_runtime::paste::item! {
 			mod [<$chain _finality_api>] {
 				use super::*;
 
@@ -263,7 +263,7 @@ macro_rules! decl_bridge_finality_runtime_apis {
 #[macro_export]
 macro_rules! decl_bridge_messages_runtime_apis {
 	($chain: ident) => {
-		paste::item! {
+		bp_runtime::paste::item! {
 			mod [<$chain _messages_api>] {
 				use super::*;
 
@@ -339,7 +339,7 @@ macro_rules! decl_bridge_messages_runtime_apis {
 #[macro_export]
 macro_rules! decl_bridge_runtime_apis {
 	($chain: ident) => {
-		decl_bridge_finality_runtime_apis!($chain);
-		decl_bridge_messages_runtime_apis!($chain);
+		bp_runtime::decl_bridge_finality_runtime_apis!($chain);
+		bp_runtime::decl_bridge_messages_runtime_apis!($chain);
 	};
 }
diff --git a/bridges/primitives/runtime/src/lib.rs b/bridges/primitives/runtime/src/lib.rs
index a7e3e44626ad05c412ab853e37301aa8ff3bb9ca..7589e70d703aef1c00749fe78a2c655d658a5149 100644
--- a/bridges/primitives/runtime/src/lib.rs
+++ b/bridges/primitives/runtime/src/lib.rs
@@ -48,6 +48,9 @@ pub mod messages;
 mod chain;
 mod storage_proof;
 
+// Re-export macro to aviod include paste dependency everywhere
+pub use sp_runtime::paste;
+
 /// Use this when something must be shared among all instances.
 pub const NO_INSTANCE_ID: ChainId = [0, 0, 0, 0];
 
diff --git a/bridges/relays/bin-substrate/Cargo.toml b/bridges/relays/bin-substrate/Cargo.toml
index ff7496f16ec72b1089d9b52ae0db6aa186417689..8f984925cea7666dbe9672be0563e70f4150f834 100644
--- a/bridges/relays/bin-substrate/Cargo.toml
+++ b/bridges/relays/bin-substrate/Cargo.toml
@@ -15,7 +15,6 @@ hex = "0.4"
 log = "0.4.17"
 num-format = "0.4"
 num-traits = "0.2"
-paste = "1.0"
 rand = "0.8"
 structopt = "0.3"
 strum = { version = "0.21.0", features = ["derive"] }
diff --git a/bridges/relays/bin-substrate/src/cli/chain_schema.rs b/bridges/relays/bin-substrate/src/cli/chain_schema.rs
index f6edd26db7a672ceb0cc0ecb0388d1f62d081ae2..0f108aed6de5294aed81d69c27cd6ac649b5ad7a 100644
--- a/bridges/relays/bin-substrate/src/cli/chain_schema.rs
+++ b/bridges/relays/bin-substrate/src/cli/chain_schema.rs
@@ -38,7 +38,7 @@ pub enum RuntimeVersionType {
 #[macro_export]
 macro_rules! declare_chain_runtime_version_params_cli_schema {
 	($chain:ident, $chain_prefix:ident) => {
-		paste::item! {
+		bp_runtime::paste::item! {
 			#[doc = $chain " runtime version params."]
 			#[derive(StructOpt, Debug, PartialEq, Eq, Clone, Copy)]
 			pub struct [<$chain RuntimeVersionParams>] {
@@ -89,7 +89,7 @@ macro_rules! declare_chain_runtime_version_params_cli_schema {
 #[macro_export]
 macro_rules! declare_chain_connection_params_cli_schema {
 	($chain:ident, $chain_prefix:ident) => {
-		paste::item! {
+		bp_runtime::paste::item! {
 			#[doc = $chain " connection params."]
 			#[derive(StructOpt, Debug, PartialEq, Eq, Clone)]
 			pub struct [<$chain ConnectionParams>] {
@@ -157,7 +157,7 @@ pub trait TransactionParamsProvider {
 #[macro_export]
 macro_rules! declare_chain_signing_params_cli_schema {
 	($chain:ident, $chain_prefix:ident) => {
-		paste::item! {
+		bp_runtime::paste::item! {
 			#[doc = $chain " signing params."]
 			#[derive(StructOpt, Debug, PartialEq, Eq, Clone)]
 			pub struct [<$chain SigningParams>] {
@@ -263,7 +263,7 @@ macro_rules! declare_chain_signing_params_cli_schema {
 #[macro_export]
 macro_rules! declare_chain_messages_pallet_owner_signing_params_cli_schema {
 	($chain:ident, $chain_prefix:ident) => {
-		paste::item! {
+		bp_runtime::paste::item! {
 			#[doc = "Parameters required to sign transaction on behalf of owner of the messages pallet at " $chain "."]
 			#[derive(StructOpt, Debug, PartialEq, Eq)]
 			pub struct [<$chain MessagesPalletOwnerSigningParams>] {
diff --git a/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages/relay_to_parachain.rs b/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages/relay_to_parachain.rs
index b8f1992a2ff866093d6a55e6e846753021d8f61b..4123dae5a70f0124134acdddf13151b3634a847d 100644
--- a/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages/relay_to_parachain.rs
+++ b/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages/relay_to_parachain.rs
@@ -60,7 +60,7 @@ pub struct RelayToParachainBridge<
 macro_rules! declare_relay_to_parachain_bridge_schema {
 	// chain, parachain, relay-chain-of-parachain
 	($left_chain:ident, $right_parachain:ident, $right_chain:ident) => {
-		paste::item! {
+		bp_runtime::paste::item! {
 			#[doc = $left_chain ", " $right_parachain " and " $right_chain " headers+parachains+messages relay params."]
 			#[derive(Debug, PartialEq, StructOpt)]
 			pub struct [<$left_chain $right_parachain HeadersAndMessages>] {
diff --git a/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages/relay_to_relay.rs b/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages/relay_to_relay.rs
index 7350f903f62c334d2e446ab65dd195f8bf403a57..2e092ad406be719fc6e20d8a79a5a2876d724547 100644
--- a/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages/relay_to_relay.rs
+++ b/bridges/relays/bin-substrate/src/cli/relay_headers_and_messages/relay_to_relay.rs
@@ -47,7 +47,7 @@ pub struct RelayToRelayBridge<
 
 macro_rules! declare_relay_to_relay_bridge_schema {
 	($left_chain:ident, $right_chain:ident) => {
-		paste::item! {
+		bp_runtime::paste::item! {
 			#[doc = $left_chain " and " $right_chain " headers+messages relay params."]
 			#[derive(Debug, PartialEq, StructOpt)]
 			pub struct [<$left_chain $right_chain HeadersAndMessages>] {