diff --git a/Cargo.lock b/Cargo.lock
index 76e5c1036a93e0162747a0d9a400748b241c320c..8bb4fac4e6d34278b2e338dc93579ecf26d2184a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2699,10 +2699,10 @@ dependencies = [
  "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sc-transaction-pool 2.0.0",
  "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-finality-tracker 2.0.0",
  "sp-timestamp 2.0.0",
- "sp-transaction-pool 2.0.0",
  "sr-io 2.0.0",
  "sr-primitives 2.0.0",
  "structopt 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2787,7 +2787,7 @@ dependencies = [
  "node-runtime 2.0.0",
  "pallet-contracts-rpc 2.0.0",
  "pallet-transaction-payment-rpc 2.0.0",
- "sp-transaction-pool 2.0.0",
+ "sc-transaction-pool 2.0.0",
  "sr-primitives 2.0.0",
  "substrate-client 2.0.0",
  "substrate-palette-rpc-system 2.0.0",
@@ -2876,7 +2876,7 @@ dependencies = [
  "node-template-runtime 2.0.0",
  "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "sp-transaction-pool 2.0.0",
+ "sc-transaction-pool 2.0.0",
  "sr-io 2.0.0",
  "sr-primitives 2.0.0",
  "substrate-basic-authorship 2.0.0",
@@ -4710,14 +4710,50 @@ dependencies = [
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sc-transaction-graph 2.0.0",
  "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
- "sp-transaction-graph 2.0.0",
  "sr-version 2.0.0",
  "substrate-primitives 2.0.0",
  "substrate-rpc-primitives 2.0.0",
 ]
 
+[[package]]
+name = "sc-transaction-graph"
+version = "2.0.0"
+dependencies = [
+ "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sr-primitives 2.0.0",
+ "substrate-primitives 2.0.0",
+ "substrate-test-runtime 2.0.0",
+]
+
+[[package]]
+name = "sc-transaction-pool"
+version = "2.0.0"
+dependencies = [
+ "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sc-transaction-graph 2.0.0",
+ "sr-api 2.0.0",
+ "sr-primitives 2.0.0",
+ "substrate-keyring 2.0.0",
+ "substrate-primitives 2.0.0",
+ "substrate-test-runtime-client 2.0.0",
+ "substrate-transaction-pool-runtime-api 2.0.0",
+]
+
 [[package]]
 name = "schannel"
 version = "0.1.16"
@@ -5051,42 +5087,6 @@ dependencies = [
  "substrate-inherents 2.0.0",
 ]
 
-[[package]]
-name = "sp-transaction-graph"
-version = "2.0.0"
-dependencies = [
- "assert_matches 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "criterion 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)",
- "sr-primitives 2.0.0",
- "substrate-primitives 2.0.0",
- "substrate-test-runtime 2.0.0",
-]
-
-[[package]]
-name = "sp-transaction-pool"
-version = "2.0.0"
-dependencies = [
- "derive_more 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "sp-transaction-graph 2.0.0",
- "sr-api 2.0.0",
- "sr-primitives 2.0.0",
- "substrate-keyring 2.0.0",
- "substrate-primitives 2.0.0",
- "substrate-test-runtime-client 2.0.0",
- "substrate-transaction-pool-runtime-api 2.0.0",
-]
-
 [[package]]
 name = "spin"
 version = "0.5.2"
@@ -5381,8 +5381,8 @@ dependencies = [
  "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sc-transaction-pool 2.0.0",
  "sp-blockchain 2.0.0",
- "sp-transaction-pool 2.0.0",
  "sr-primitives 2.0.0",
  "substrate-block-builder 2.0.0",
  "substrate-client 2.0.0",
@@ -6000,7 +6000,7 @@ dependencies = [
  "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "sp-transaction-pool 2.0.0",
+ "sc-transaction-pool 2.0.0",
  "sr-api 2.0.0",
  "sr-primitives 2.0.0",
  "substrate-client-api 2.0.0",
@@ -6050,10 +6050,10 @@ dependencies = [
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "palette-system-rpc-runtime-api 2.0.0",
  "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sc-transaction-graph 2.0.0",
+ "sc-transaction-pool 2.0.0",
  "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-blockchain 2.0.0",
- "sp-transaction-graph 2.0.0",
- "sp-transaction-pool 2.0.0",
  "sr-primitives 2.0.0",
  "substrate-primitives 2.0.0",
  "substrate-test-runtime-client 2.0.0",
@@ -6157,9 +6157,9 @@ dependencies = [
  "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustc-hex 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sc-transaction-pool 2.0.0",
  "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-blockchain 2.0.0",
- "sp-transaction-pool 2.0.0",
  "sr-api 2.0.0",
  "sr-io 2.0.0",
  "sr-primitives 2.0.0",
@@ -6282,11 +6282,11 @@ dependencies = [
  "parity-multiaddr 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "parity-scale-codec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "sc-transaction-pool 2.0.0",
  "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
  "slog 2.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "sp-blockchain 2.0.0",
- "sp-transaction-pool 2.0.0",
  "sr-api 2.0.0",
  "sr-io 2.0.0",
  "sr-primitives 2.0.0",
diff --git a/Cargo.toml b/Cargo.toml
index a31f96ec6bc4354f4ef7c999244d737f064f8408..e3050e28372e7689b83083c397170f79db10174b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -38,6 +38,8 @@ members = [
 	"client/service/test",
 	"client/state-db",
 	"client/telemetry",
+	"client/transaction-pool",
+	"client/transaction-pool/graph",
 	"client/utils/wasm-builder-runner",
 	"palette/assets",
 	"palette/aura",
@@ -121,8 +123,6 @@ members = [
 	"primitives/sr-version",
 	"primitives/state-machine",
 	"primitives/timestamp",
-	"primitives/transaction-pool",
-	"primitives/transaction-pool/graph",
 	"primitives/transaction-pool/runtime-api",
 	"primitives/trie",
 	"primitives/wasm-interface",
diff --git a/bin/node-template/Cargo.toml b/bin/node-template/Cargo.toml
index c3d9a98cca66c436fd41a8fd27255bf61790e211..2087f8a2e4e1174816447369cd63870ea06819ec 100644
--- a/bin/node-template/Cargo.toml
+++ b/bin/node-template/Cargo.toml
@@ -25,7 +25,7 @@ primitives = { package = "substrate-primitives", path = "../../primitives/core"
 substrate-executor = { path = "../../client/executor" }
 substrate-service = { path = "../../client/service" }
 inherents = { package = "substrate-inherents", path = "../../primitives/inherents" }
-transaction-pool = { package = "sp-transaction-pool", path = "../../primitives/transaction-pool" }
+transaction-pool = { package = "sc-transaction-pool", path = "../../client/transaction-pool" }
 network = { package = "substrate-network", path = "../../client/network" }
 aura = { package = "substrate-consensus-aura", path = "../../client/consensus/aura" }
 aura-primitives = { package = "substrate-consensus-aura-primitives", path = "../../primitives/consensus/aura" }
diff --git a/bin/node/cli/Cargo.toml b/bin/node/cli/Cargo.toml
index c832d303252bed895d5101eae4d40fc668e35167..c98beeb3584362a791541c9ba4848a614e5f1d91 100644
--- a/bin/node/cli/Cargo.toml
+++ b/bin/node/cli/Cargo.toml
@@ -47,7 +47,7 @@ client-api = { package = "substrate-client-api", path = "../../../client/api" }
 client = { package = "substrate-client", path = "../../../client/" }
 inherents = { package = "substrate-inherents", path = "../../../primitives/inherents" }
 chain-spec = { package = "substrate-chain-spec", path = "../../../client/chain-spec" }
-transaction_pool = { package = "sp-transaction-pool", path = "../../../primitives/transaction-pool" }
+transaction_pool = { package = "sc-transaction-pool", path = "../../../client/transaction-pool" }
 network = { package = "substrate-network", path = "../../../client/network" }
 babe = { package = "substrate-consensus-babe", path = "../../../client/consensus/babe" }
 grandpa = { package = "substrate-finality-grandpa", path = "../../../client/finality-grandpa" }
diff --git a/bin/node/rpc/Cargo.toml b/bin/node/rpc/Cargo.toml
index c7dfabb4bf34d760a246e790328d34206ba3207a..c5aff471eed128fc527e3c2d749fbc724c0e8f79 100644
--- a/bin/node/rpc/Cargo.toml
+++ b/bin/node/rpc/Cargo.toml
@@ -13,4 +13,4 @@ sr-primitives = { path = "../../../primitives/sr-primitives" }
 pallet-contracts-rpc = { path = "../../../palette/contracts/rpc/" }
 pallet-transaction-payment-rpc = { path = "../../../palette/transaction-payment/rpc/" }
 substrate-palette-rpc-system = { path = "../../../utils/palette/rpc/system" }
-transaction_pool = { package = "sp-transaction-pool", path = "../../../primitives/transaction-pool" }
+transaction_pool = { package = "sc-transaction-pool", path = "../../../client/transaction-pool" }
diff --git a/client/basic-authorship/Cargo.toml b/client/basic-authorship/Cargo.toml
index c41e0c259125f25776afcd541b40d7800ab828db..c0900722ba4cd6d8e0905958172005b98ad8e9b3 100644
--- a/client/basic-authorship/Cargo.toml
+++ b/client/basic-authorship/Cargo.toml
@@ -16,7 +16,7 @@ client-api = { package = "substrate-client-api", path = "../api" }
 consensus_common = { package = "substrate-consensus-common", path = "../../primitives/consensus/common" }
 inherents = { package = "substrate-inherents", path = "../../primitives/inherents" }
 substrate-telemetry = { path = "../telemetry" }
-transaction_pool = { package = "sp-transaction-pool", path = "../../primitives/transaction-pool" }
+transaction_pool = { package = "sc-transaction-pool", path = "../../client/transaction-pool" }
 block-builder = { package = "substrate-block-builder", path = "../block-builder" }
 
 [dev-dependencies]
diff --git a/client/offchain/Cargo.toml b/client/offchain/Cargo.toml
index 4bde96b2f452b200a75d2e531b33c4b72b05c532..79d35e1769343e9d634047c40cc5724e379b3052 100644
--- a/client/offchain/Cargo.toml
+++ b/client/offchain/Cargo.toml
@@ -23,7 +23,7 @@ parking_lot = "0.9.0"
 primitives = { package = "substrate-primitives", path = "../../primitives/core" }
 rand = "0.7.2"
 sr-primitives = { path = "../../primitives/sr-primitives" }
-transaction_pool = { package = "sp-transaction-pool", path = "../../primitives/transaction-pool" }
+transaction_pool = { package = "sc-transaction-pool", path = "../../client/transaction-pool" }
 network = { package = "substrate-network", path = "../network" }
 keystore = { package = "substrate-keystore", path = "../keystore" }
 
diff --git a/client/rpc/Cargo.toml b/client/rpc/Cargo.toml
index 9656d5bae6f4649446aa4dc383d46daab1a25dde..bb91e95f97ffb6575f8d5e6150ba3d2857e35aca 100644
--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -23,7 +23,7 @@ rpc-primitives = { package = "substrate-rpc-primitives", path = "../../primitive
 state_machine = { package = "substrate-state-machine", path = "../../primitives/state-machine" }
 substrate-executor = { path = "../executor" }
 substrate-keystore = { path = "../keystore" }
-transaction_pool = { package = "sp-transaction-pool", path = "../../primitives/transaction-pool" }
+transaction_pool = { package = "sc-transaction-pool", path = "../../client/transaction-pool" }
 sp-blockchain = { path = "../../primitives/blockchain" }
 hash-db = { version = "0.15.2", default-features = false }
 parking_lot = { version = "0.9.0" }
diff --git a/client/rpc/api/Cargo.toml b/client/rpc/api/Cargo.toml
index 7cbbef915f30db9955b70526fc292fb19fd0f813..3e7a72033705281dff7466e7f4ad9f02eeada142 100644
--- a/client/rpc/api/Cargo.toml
+++ b/client/rpc/api/Cargo.toml
@@ -18,5 +18,5 @@ primitives = { package = "substrate-primitives", path = "../../../primitives/cor
 runtime_version = { package = "sr-version", path = "../../../primitives/sr-version" }
 serde = { version = "1.0.101", features = ["derive"] }
 serde_json = "1.0.41"
-txpool = { package = "sp-transaction-graph", path = "../../../primitives/transaction-pool/graph" }
+txpool = { package = "sc-transaction-graph", path = "../../../client/transaction-pool/graph" }
 rpc-primitives = { package = "substrate-rpc-primitives", path = "../../../primitives/rpc" }
diff --git a/client/service/Cargo.toml b/client/service/Cargo.toml
index ab77cd70b1ec93fbd38832ef7341ef48408b90e3..729bc733b66792d37f541ce1355140672fee3310 100644
--- a/client/service/Cargo.toml
+++ b/client/service/Cargo.toml
@@ -45,7 +45,7 @@ tx-pool-api = { package = "substrate-transaction-pool-runtime-api", path = "../.
 client_db = { package = "substrate-client-db", path = "../db" }
 codec = { package = "parity-scale-codec", version = "1.0.0" }
 substrate-executor = { path = "../executor" }
-transaction_pool = { package = "sp-transaction-pool", path = "../../primitives/transaction-pool" }
+transaction_pool = { package = "sc-transaction-pool", path = "../../client/transaction-pool" }
 rpc-servers = { package = "substrate-rpc-servers", path = "../rpc-servers" }
 rpc = { package = "substrate-rpc", path = "../rpc" }
 tel = { package = "substrate-telemetry", path = "../telemetry" }
diff --git a/client/transaction-pool/Cargo.toml b/client/transaction-pool/Cargo.toml
index 1b49c95985c23cb1591d9e39457f1d2fb5133087..cebbb9d7f03aad9a2d09a9ce90943ff15fe87f9d 100644
--- a/client/transaction-pool/Cargo.toml
+++ b/client/transaction-pool/Cargo.toml
@@ -1,5 +1,5 @@
 [package]
-name = "sp-transaction-pool"
+name = "sc-transaction-pool"
 version = "2.0.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
@@ -7,14 +7,14 @@ edition = "2018"
 [dependencies]
 codec = { package = "parity-scale-codec", version = "1.0.0" }
 derive_more = "0.15.0"
-futures = { version = "0.3.1", features = ["thread-pool"] }
+futures = { version = "0.3.0", features = ["thread-pool"] }
 log = "0.4.8"
 parking_lot = "0.9.0"
 primitives = { package = "substrate-primitives",  path = "../../primitives/core" }
 sr-api = { path = "../../primitives/sr-api" }
 sr-primitives = { path = "../../primitives/sr-primitives" }
 tx-runtime-api = { package = "substrate-transaction-pool-runtime-api", path = "../../primitives/transaction-pool/runtime-api" }
-txpool = { package = "sp-transaction-graph", path = "../../primitives/transaction-pool/graph" }
+txpool = { package = "sc-transaction-graph", path = "./graph" }
 
 [dev-dependencies]
 keyring = { package = "substrate-keyring", path = "../../primitives/keyring" }
diff --git a/primitives/transaction-pool/graph/Cargo.toml b/client/transaction-pool/graph/Cargo.toml
similarity index 83%
rename from primitives/transaction-pool/graph/Cargo.toml
rename to client/transaction-pool/graph/Cargo.toml
index 428b643ddbeace6a031a4e164cd41dfdd45d8e48..eaf2d00be009b68f2209822ed34745ed85e7f006 100644
--- a/primitives/transaction-pool/graph/Cargo.toml
+++ b/client/transaction-pool/graph/Cargo.toml
@@ -1,5 +1,5 @@
 [package]
-name = "sp-transaction-graph"
+name = "sc-transaction-graph"
 version = "2.0.0"
 authors = ["Parity Technologies <admin@parity.io>"]
 edition = "2018"
@@ -10,8 +10,8 @@ futures = "0.3.1"
 log = "0.4.8"
 parking_lot = "0.9.0"
 serde = { version = "1.0.101", features = ["derive"] }
-primitives = { package = "substrate-primitives",  path = "../../core" }
-sr-primitives = { path = "../../sr-primitives" }
+primitives = { package = "substrate-primitives",  path = "../../../primitives/core" }
+sr-primitives = { path = "../../../primitives/sr-primitives" }
 
 [dev-dependencies]
 assert_matches = "1.3.0"
diff --git a/primitives/transaction-pool/graph/benches/basics.rs b/client/transaction-pool/graph/benches/basics.rs
similarity index 100%
rename from primitives/transaction-pool/graph/benches/basics.rs
rename to client/transaction-pool/graph/benches/basics.rs
diff --git a/primitives/transaction-pool/graph/src/base_pool.rs b/client/transaction-pool/graph/src/base_pool.rs
similarity index 100%
rename from primitives/transaction-pool/graph/src/base_pool.rs
rename to client/transaction-pool/graph/src/base_pool.rs
diff --git a/primitives/transaction-pool/graph/src/error.rs b/client/transaction-pool/graph/src/error.rs
similarity index 100%
rename from primitives/transaction-pool/graph/src/error.rs
rename to client/transaction-pool/graph/src/error.rs
diff --git a/primitives/transaction-pool/graph/src/future.rs b/client/transaction-pool/graph/src/future.rs
similarity index 100%
rename from primitives/transaction-pool/graph/src/future.rs
rename to client/transaction-pool/graph/src/future.rs
diff --git a/primitives/transaction-pool/graph/src/lib.rs b/client/transaction-pool/graph/src/lib.rs
similarity index 100%
rename from primitives/transaction-pool/graph/src/lib.rs
rename to client/transaction-pool/graph/src/lib.rs
diff --git a/primitives/transaction-pool/graph/src/listener.rs b/client/transaction-pool/graph/src/listener.rs
similarity index 100%
rename from primitives/transaction-pool/graph/src/listener.rs
rename to client/transaction-pool/graph/src/listener.rs
diff --git a/primitives/transaction-pool/graph/src/pool.rs b/client/transaction-pool/graph/src/pool.rs
similarity index 100%
rename from primitives/transaction-pool/graph/src/pool.rs
rename to client/transaction-pool/graph/src/pool.rs
diff --git a/primitives/transaction-pool/graph/src/ready.rs b/client/transaction-pool/graph/src/ready.rs
similarity index 100%
rename from primitives/transaction-pool/graph/src/ready.rs
rename to client/transaction-pool/graph/src/ready.rs
diff --git a/primitives/transaction-pool/graph/src/rotator.rs b/client/transaction-pool/graph/src/rotator.rs
similarity index 100%
rename from primitives/transaction-pool/graph/src/rotator.rs
rename to client/transaction-pool/graph/src/rotator.rs
diff --git a/primitives/transaction-pool/graph/src/validated_pool.rs b/client/transaction-pool/graph/src/validated_pool.rs
similarity index 100%
rename from primitives/transaction-pool/graph/src/validated_pool.rs
rename to client/transaction-pool/graph/src/validated_pool.rs
diff --git a/primitives/transaction-pool/graph/src/watcher.rs b/client/transaction-pool/graph/src/watcher.rs
similarity index 100%
rename from primitives/transaction-pool/graph/src/watcher.rs
rename to client/transaction-pool/graph/src/watcher.rs
diff --git a/primitives/transaction-pool/src/api.rs b/client/transaction-pool/src/api.rs
similarity index 100%
rename from primitives/transaction-pool/src/api.rs
rename to client/transaction-pool/src/api.rs
diff --git a/primitives/transaction-pool/src/error.rs b/client/transaction-pool/src/error.rs
similarity index 100%
rename from primitives/transaction-pool/src/error.rs
rename to client/transaction-pool/src/error.rs
diff --git a/primitives/transaction-pool/src/lib.rs b/client/transaction-pool/src/lib.rs
similarity index 100%
rename from primitives/transaction-pool/src/lib.rs
rename to client/transaction-pool/src/lib.rs
diff --git a/primitives/transaction-pool/src/tests.rs b/client/transaction-pool/src/tests.rs
similarity index 100%
rename from primitives/transaction-pool/src/tests.rs
rename to client/transaction-pool/src/tests.rs
diff --git a/primitives/transaction-pool/Cargo.toml b/primitives/transaction-pool/Cargo.toml
deleted file mode 100644
index 366c113be9d428dc2b6a6d9ba26b782a936d4af3..0000000000000000000000000000000000000000
--- a/primitives/transaction-pool/Cargo.toml
+++ /dev/null
@@ -1,21 +0,0 @@
-[package]
-name = "sp-transaction-pool"
-version = "2.0.0"
-authors = ["Parity Technologies <admin@parity.io>"]
-edition = "2018"
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "1.0.0" }
-derive_more = "0.15.0"
-futures = { version = "0.3.0", features = ["thread-pool"] }
-log = "0.4.8"
-parking_lot = "0.9.0"
-primitives = { package = "substrate-primitives",  path = "../core" }
-sr-api = { path = "../sr-api" }
-sr-primitives = { path = "../sr-primitives" }
-tx-runtime-api = { package = "substrate-transaction-pool-runtime-api", path = "./runtime-api" }
-txpool = { package = "sp-transaction-graph", path = "./graph" }
-
-[dev-dependencies]
-keyring = { package = "substrate-keyring", path = "../keyring" }
-test-client = { package = "substrate-test-runtime-client", path = "../../test/utils/runtime/client" }
diff --git a/utils/palette/rpc/system/Cargo.toml b/utils/palette/rpc/system/Cargo.toml
index 522812cbaf6d650bd46133dfb180a621d9d35e17..7e3c42194cc399d324fac1f1fb83318b2047cf68 100644
--- a/utils/palette/rpc/system/Cargo.toml
+++ b/utils/palette/rpc/system/Cargo.toml
@@ -15,10 +15,10 @@ sr-primitives = { path = "../../../../primitives/sr-primitives" }
 palette-system-rpc-runtime-api = { path = "../../../../palette/system/rpc/runtime-api" }
 substrate-primitives = { path = "../../../../primitives/core" }
 sp-blockchain = { path = "../../../../primitives/blockchain" }
-sp-transaction-graph = { path = "../../../../primitives/transaction-pool/graph" }
+sc-transaction-graph = { path = "../../../../client/transaction-pool/graph" }
 
 [dev-dependencies]
 test-client = { package = "substrate-test-runtime-client", path = "../../../../test/utils/runtime/client" }
-sp-transaction-pool = { path = "../../../../primitives/transaction-pool" }
+sc-transaction-pool = { path = "../../../../client/transaction-pool" }
 env_logger = "0.7.0"
 futures = "0.3.1"
diff --git a/utils/palette/rpc/system/src/lib.rs b/utils/palette/rpc/system/src/lib.rs
index 1f8e03bea3869d5b1469c1cf4c63d7ecc5210001..a75f198d87aaaa7de814d429fd1f80df9b66fd19 100644
--- a/utils/palette/rpc/system/src/lib.rs
+++ b/utils/palette/rpc/system/src/lib.rs
@@ -118,7 +118,7 @@ where
 #[cfg(test)]
 mod tests {
 	use super::*;
-	use sp_transaction_pool;
+	use sc_transaction_pool;
 
 	use futures::executor::block_on;
 	use test_client::{
@@ -131,7 +131,7 @@ mod tests {
 		// given
 		let _ = env_logger::try_init();
 		let client = Arc::new(test_client::new());
-		let pool = Arc::new(Pool::new(Default::default(), sp_transaction_pool::FullChainApi::new(client.clone())));
+		let pool = Arc::new(Pool::new(Default::default(), sc_transaction_pool::FullChainApi::new(client.clone())));
 
 		let new_transaction = |nonce: u64| {
 			let t = Transfer {