diff --git a/Cargo.lock b/Cargo.lock
index 98f6873f7b3f0a895813b9e14c1301c8991573a0..03348af568e6018829d4516f86a41d8dcb8e220a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -14827,7 +14827,6 @@ version = "0.1.0"
 dependencies = [
  "array-bytes",
  "assert_matches",
- "bitflags 1.3.2",
  "derive_more 0.99.17",
  "environmental",
  "ethereum-types 0.15.1",
@@ -14863,7 +14862,6 @@ dependencies = [
  "sp-runtime 31.0.1",
  "sp-std 14.0.0",
  "sp-tracing 16.0.0",
- "sp-weights 27.0.0",
  "staging-xcm 7.0.0",
  "staging-xcm-builder 7.0.0",
  "subxt-signer",
@@ -14910,7 +14908,6 @@ dependencies = [
  "ethabi",
  "futures",
  "hex",
- "hex-literal",
  "jsonrpsee",
  "log",
  "pallet-revive 0.1.0",
@@ -14921,12 +14918,8 @@ dependencies = [
  "sc-rpc",
  "sc-rpc-api",
  "sc-service",
- "scale-info",
- "secp256k1 0.28.2",
- "serde_json",
  "sp-core 28.0.0",
  "sp-crypto-hashing 0.1.0",
- "sp-runtime 31.0.1",
  "sp-weights 27.0.0",
  "static_init",
  "substrate-cli-test-utils",
@@ -14942,12 +14935,9 @@ name = "pallet-revive-fixtures"
 version = "0.1.0"
 dependencies = [
  "anyhow",
- "frame-system 28.0.0",
- "log",
  "polkavm-linker 0.17.1",
  "sp-core 28.0.0",
  "sp-io 30.0.0",
- "sp-runtime 31.0.1",
  "toml 0.8.12",
 ]
 
@@ -14976,13 +14966,10 @@ dependencies = [
  "pallet-assets 29.1.0",
  "pallet-balances 28.0.0",
  "pallet-message-queue 31.0.0",
- "pallet-proxy 28.0.0",
  "pallet-revive 0.1.0",
  "pallet-revive-fixtures 0.1.0",
- "pallet-revive-proc-macro 0.1.0",
  "pallet-revive-uapi 0.1.0",
  "pallet-timestamp 27.0.0",
- "pallet-utility 28.0.0",
  "pallet-xcm 7.0.0",
  "parity-scale-codec",
  "polkadot-parachain-primitives 6.0.0",
@@ -14990,10 +14977,8 @@ dependencies = [
  "polkadot-runtime-parachains 7.0.0",
  "pretty_assertions",
  "scale-info",
- "sp-api 26.0.0",
  "sp-core 28.0.0",
  "sp-io 30.0.0",
- "sp-keystore 0.34.0",
  "sp-runtime 31.0.1",
  "sp-tracing 16.0.0",
  "staging-xcm 7.0.0",
diff --git a/prdoc/pr_6917.prdoc b/prdoc/pr_6917.prdoc
new file mode 100644
index 0000000000000000000000000000000000000000..dd7f59b951268236b3f551d63b92f3d31f1b5a4c
--- /dev/null
+++ b/prdoc/pr_6917.prdoc
@@ -0,0 +1,14 @@
+title: Remove unused dependencies from pallet_revive
+doc:
+- audience: Runtime Dev
+  description: Removing apparently unused dependencies from `pallet_revive` and related
+    crates.
+crates:
+- name: pallet-revive
+  bump: major
+- name: pallet-revive-fixtures
+  bump: major
+- name: pallet-revive-mock-network
+  bump: major
+- name: pallet-revive-eth-rpc
+  bump: major
diff --git a/substrate/frame/revive/Cargo.toml b/substrate/frame/revive/Cargo.toml
index e61554f5cfa039e073b9de6e442bc883835fd0b9..6e244ad4d652d403b2b61f0fd614db9d9c0b52e6 100644
--- a/substrate/frame/revive/Cargo.toml
+++ b/substrate/frame/revive/Cargo.toml
@@ -20,7 +20,6 @@ targets = ["x86_64-unknown-linux-gnu"]
 environmental = { workspace = true }
 paste = { workspace = true }
 polkavm = { version = "0.17.0", default-features = false }
-bitflags = { workspace = true }
 codec = { features = ["derive", "max-encoded-len"], workspace = true }
 scale-info = { features = ["derive"], workspace = true }
 log = { workspace = true }
@@ -48,7 +47,6 @@ sp-core = { workspace = true }
 sp-io = { workspace = true }
 sp-runtime = { workspace = true }
 sp-std = { workspace = true }
-sp-weights = { workspace = true }
 xcm = { workspace = true }
 xcm-builder = { workspace = true }
 subxt-signer = { workspace = true, optional = true, features = [
@@ -102,7 +100,6 @@ std = [
 	"sp-keystore/std",
 	"sp-runtime/std",
 	"sp-std/std",
-	"sp-weights/std",
 	"subxt-signer",
 	"xcm-builder/std",
 	"xcm/std",
diff --git a/substrate/frame/revive/fixtures/Cargo.toml b/substrate/frame/revive/fixtures/Cargo.toml
index 88921cca08ece064aa68e9b5660e85b3e1ee5b30..459ec13694341be4dcbae23ea98ebc10179d3d5c 100644
--- a/substrate/frame/revive/fixtures/Cargo.toml
+++ b/substrate/frame/revive/fixtures/Cargo.toml
@@ -15,12 +15,9 @@ exclude-from-umbrella = true
 workspace = true
 
 [dependencies]
-frame-system = { workspace = true, default-features = true, optional = true }
 sp-core = { workspace = true, default-features = true, optional = true }
 sp-io = { workspace = true, default-features = true, optional = true }
-sp-runtime = { workspace = true, default-features = true, optional = true }
 anyhow = { workspace = true, default-features = true, optional = true }
-log = { workspace = true }
 
 [build-dependencies]
 toml = { workspace = true }
@@ -30,4 +27,4 @@ anyhow = { workspace = true, default-features = true }
 [features]
 default = ["std"]
 # only when std is enabled all fixtures are available
-std = ["anyhow", "frame-system", "log/std", "sp-core", "sp-io", "sp-runtime"]
+std = ["anyhow", "sp-core", "sp-io"]
diff --git a/substrate/frame/revive/fixtures/src/lib.rs b/substrate/frame/revive/fixtures/src/lib.rs
index 24f6ee547dc7a2c8cbf5bc1307daf4a5c484cd2b..38171edf11524614341fe02e41072209886801d6 100644
--- a/substrate/frame/revive/fixtures/src/lib.rs
+++ b/substrate/frame/revive/fixtures/src/lib.rs
@@ -27,7 +27,6 @@ include!(concat!(env!("OUT_DIR"), "/fixture_location.rs"));
 pub fn compile_module(fixture_name: &str) -> anyhow::Result<(Vec<u8>, sp_core::H256)> {
 	let out_dir: std::path::PathBuf = FIXTURE_DIR.into();
 	let fixture_path = out_dir.join(format!("{fixture_name}.polkavm"));
-	log::debug!("Loading fixture from {fixture_path:?}");
 	let binary = std::fs::read(fixture_path)?;
 	let code_hash = sp_io::hashing::keccak_256(&binary);
 	Ok((binary, sp_core::H256(code_hash)))
diff --git a/substrate/frame/revive/mock-network/Cargo.toml b/substrate/frame/revive/mock-network/Cargo.toml
index 6208db45a91ecbcc955df4c741df8ff118175eff..0d8814f81a9c9c384c02c6a470a628b73e9ad2d5 100644
--- a/substrate/frame/revive/mock-network/Cargo.toml
+++ b/substrate/frame/revive/mock-network/Cargo.toml
@@ -20,20 +20,15 @@ pallet-assets = { workspace = true, default-features = true }
 pallet-balances = { workspace = true, default-features = true }
 pallet-revive = { workspace = true, default-features = true }
 pallet-revive-uapi = { workspace = true }
-pallet-revive-proc-macro = { workspace = true, default-features = true }
 pallet-message-queue = { workspace = true, default-features = true }
-pallet-proxy = { workspace = true, default-features = true }
 pallet-timestamp = { workspace = true, default-features = true }
-pallet-utility = { workspace = true, default-features = true }
 pallet-xcm = { workspace = true }
 polkadot-parachain-primitives = { workspace = true, default-features = true }
 polkadot-primitives = { workspace = true, default-features = true }
 polkadot-runtime-parachains = { workspace = true, default-features = true }
 scale-info = { features = ["derive"], workspace = true }
-sp-api = { workspace = true }
 sp-core = { workspace = true }
 sp-io = { workspace = true }
-sp-keystore = { workspace = true, default-features = true }
 sp-runtime = { workspace = true }
 sp-tracing = { workspace = true, default-features = true }
 xcm = { workspace = true }
@@ -53,17 +48,13 @@ std = [
 	"frame-support/std",
 	"frame-system/std",
 	"pallet-balances/std",
-	"pallet-proxy/std",
 	"pallet-revive-fixtures/std",
 	"pallet-revive/std",
 	"pallet-timestamp/std",
-	"pallet-utility/std",
 	"pallet-xcm/std",
 	"scale-info/std",
-	"sp-api/std",
 	"sp-core/std",
 	"sp-io/std",
-	"sp-keystore/std",
 	"sp-runtime/std",
 	"xcm-executor/std",
 	"xcm/std",
@@ -74,10 +65,8 @@ runtime-benchmarks = [
 	"pallet-assets/runtime-benchmarks",
 	"pallet-balances/runtime-benchmarks",
 	"pallet-message-queue/runtime-benchmarks",
-	"pallet-proxy/runtime-benchmarks",
 	"pallet-revive/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
 	"polkadot-parachain-primitives/runtime-benchmarks",
 	"polkadot-primitives/runtime-benchmarks",
@@ -93,10 +82,8 @@ try-runtime = [
 	"pallet-assets/try-runtime",
 	"pallet-balances/try-runtime",
 	"pallet-message-queue/try-runtime",
-	"pallet-proxy/try-runtime",
 	"pallet-revive/try-runtime",
 	"pallet-timestamp/try-runtime",
-	"pallet-utility/try-runtime",
 	"pallet-xcm/try-runtime",
 	"polkadot-runtime-parachains/try-runtime",
 	"sp-runtime/try-runtime",
diff --git a/substrate/frame/revive/rpc/Cargo.toml b/substrate/frame/revive/rpc/Cargo.toml
index 674abdd5b73e1f192e21dab821f97e74cb8f7d3c..31b8f505dedcd01df507246b1250e799a859e246 100644
--- a/substrate/frame/revive/rpc/Cargo.toml
+++ b/substrate/frame/revive/rpc/Cargo.toml
@@ -42,40 +42,33 @@ clap = { workspace = true, features = ["derive"] }
 anyhow = { workspace = true }
 futures = { workspace = true, features = ["thread-pool"] }
 jsonrpsee = { workspace = true, features = ["full"] }
-serde_json = { workspace = true }
 thiserror = { workspace = true }
 sp-crypto-hashing = { workspace = true }
 subxt = { workspace = true, default-features = true, features = ["reconnecting-rpc-client"] }
 tokio = { workspace = true, features = ["full"] }
 codec = { workspace = true, features = ["derive"] }
-log.workspace = true
+log = { workspace = true }
 pallet-revive = { workspace = true, default-features = true }
 sp-core = { workspace = true, default-features = true }
 sp-weights = { workspace = true, default-features = true }
-sp-runtime = { workspace = true, default-features = true }
 sc-rpc = { workspace = true, default-features = true }
 sc-rpc-api = { workspace = true, default-features = true }
 sc-cli = { workspace = true, default-features = true }
 sc-service = { workspace = true, default-features = true }
 prometheus-endpoint = { workspace = true, default-features = true }
-
 rlp = { workspace = true, optional = true }
 subxt-signer = { workspace = true, optional = true, features = [
 	"unstable-eth",
 ] }
 hex = { workspace = true }
-hex-literal = { workspace = true, optional = true }
-scale-info = { workspace = true }
-secp256k1 = { workspace = true, optional = true, features = ["recovery"] }
 ethabi = { version = "18.0.0" }
 
 [features]
-example = ["hex-literal", "rlp", "secp256k1", "subxt-signer"]
+example = ["rlp", "subxt-signer"]
 
 [dev-dependencies]
 env_logger = { workspace = true }
 static_init = { workspace = true }
-hex-literal = { workspace = true }
 pallet-revive-fixtures = { workspace = true, default-features = true }
 substrate-cli-test-utils = { workspace = true }
 subxt-signer = { workspace = true, features = ["unstable-eth"] }