diff --git a/Cargo.lock b/Cargo.lock
index cf05b8981..953ae1563 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -969,6 +969,7 @@ dependencies = [
"pallet-treasury 37.0.0",
"pallet-xc-asset-config",
"parity-scale-codec",
+ "precompile-utils",
"scale-info",
"sp-arithmetic",
"sp-core",
@@ -1035,7 +1036,6 @@ dependencies = [
"pallet-evm-precompile-bn128",
"pallet-evm-precompile-dapp-staking",
"pallet-evm-precompile-dispatch",
- "pallet-evm-precompile-dispatch-lockdrop",
"pallet-evm-precompile-ed25519",
"pallet-evm-precompile-modexp",
"pallet-evm-precompile-sha3fips",
@@ -7867,7 +7867,6 @@ dependencies = [
"pallet-evm-precompile-bn128",
"pallet-evm-precompile-dapp-staking",
"pallet-evm-precompile-dispatch",
- "pallet-evm-precompile-dispatch-lockdrop",
"pallet-evm-precompile-ed25519",
"pallet-evm-precompile-modexp",
"pallet-evm-precompile-sha3fips",
@@ -9982,32 +9981,6 @@ dependencies = [
"sp-runtime",
]
-[[package]]
-name = "pallet-evm-precompile-dispatch-lockdrop"
-version = "0.1.0"
-dependencies = [
- "astar-primitives",
- "ethers",
- "fp-evm",
- "frame-support",
- "frame-system",
- "hex-literal",
- "libsecp256k1",
- "log",
- "pallet-balances",
- "pallet-evm",
- "pallet-evm-precompile-dispatch",
- "pallet-timestamp",
- "pallet-utility",
- "parity-scale-codec",
- "precompile-utils",
- "scale-info",
- "sp-core",
- "sp-io",
- "sp-runtime",
- "sp-std",
-]
-
[[package]]
name = "pallet-evm-precompile-ed25519"
version = "2.0.0-dev"
@@ -16121,7 +16094,6 @@ dependencies = [
"pallet-evm-precompile-bn128",
"pallet-evm-precompile-dapp-staking",
"pallet-evm-precompile-dispatch",
- "pallet-evm-precompile-dispatch-lockdrop",
"pallet-evm-precompile-ed25519",
"pallet-evm-precompile-modexp",
"pallet-evm-precompile-sha3fips",
@@ -16240,7 +16212,6 @@ dependencies = [
"pallet-evm-precompile-bn128",
"pallet-evm-precompile-dapp-staking",
"pallet-evm-precompile-dispatch",
- "pallet-evm-precompile-dispatch-lockdrop",
"pallet-evm-precompile-ed25519",
"pallet-evm-precompile-modexp",
"pallet-evm-precompile-sha3fips",
diff --git a/Cargo.toml b/Cargo.toml
index 8eb6d54a1..89fd7c29a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -341,7 +341,6 @@ pallet-evm-precompile-substrate-ecdsa = { path = "./precompiles/substrate-ecdsa"
pallet-evm-precompile-xcm = { path = "./precompiles/xcm", default-features = false }
pallet-evm-precompile-dapp-staking = { path = "./precompiles/dapp-staking", default-features = false }
pallet-evm-precompile-unified-accounts = { path = "./precompiles/unified-accounts", default-features = false }
-pallet-evm-precompile-dispatch-lockdrop = { path = "./precompiles/dispatch-lockdrop", default-features = false }
pallet-chain-extension-assets = { path = "./chain-extensions/pallet-assets", default-features = false }
pallet-chain-extension-unified-accounts = { path = "./chain-extensions/unified-accounts", default-features = false }
diff --git a/precompiles/dispatch-lockdrop/Cargo.toml b/precompiles/dispatch-lockdrop/Cargo.toml
deleted file mode 100644
index be38f2317..000000000
--- a/precompiles/dispatch-lockdrop/Cargo.toml
+++ /dev/null
@@ -1,63 +0,0 @@
-[package]
-name = "pallet-evm-precompile-dispatch-lockdrop"
-description = "Evm Precompile to dispatch calls for lockdrop accounts"
-version = "0.1.0"
-authors.workspace = true
-edition.workspace = true
-homepage.workspace = true
-repository.workspace = true
-
-[lints]
-workspace = true
-
-[dependencies]
-fp-evm = { workspace = true }
-frame-support = { workspace = true }
-frame-system = { workspace = true }
-hex-literal = { workspace = true }
-libsecp256k1 = { workspace = true, features = ["hmac", "static-context"] }
-log = { workspace = true }
-pallet-evm = { workspace = true }
-pallet-evm-precompile-dispatch = { workspace = true }
-parity-scale-codec = { workspace = true }
-precompile-utils = { workspace = true }
-sp-core = { workspace = true }
-sp-io = { workspace = true }
-sp-runtime = { workspace = true }
-sp-std = { workspace = true }
-
-[dev-dependencies]
-astar-primitives = { workspace = true }
-ethers = { workspace = true }
-frame-system = { workspace = true }
-pallet-balances = { workspace = true }
-pallet-timestamp = { workspace = true }
-pallet-utility = { workspace = true }
-precompile-utils = { workspace = true, features = ["testing"] }
-scale-info = { workspace = true }
-sp-core = { workspace = true }
-sp-io = { workspace = true }
-sp-runtime = { workspace = true }
-sp-std = { workspace = true }
-
-[features]
-default = ["std"]
-std = [
- "log/std",
- "libsecp256k1/std",
- "parity-scale-codec/std",
- "scale-info/std",
- "sp-std/std",
- "sp-core/std",
- "sp-io/std",
- "sp-runtime/std",
- "frame-support/std",
- "frame-system/std",
- "astar-primitives/std",
- "precompile-utils/std",
- "pallet-evm/std",
- "pallet-balances/std",
- "pallet-timestamp/std",
- "fp-evm/std",
- "pallet-evm-precompile-dispatch/std",
-]
diff --git a/precompiles/dispatch-lockdrop/DispatchLockdrop.sol b/precompiles/dispatch-lockdrop/DispatchLockdrop.sol
deleted file mode 100644
index f464b5c3d..000000000
--- a/precompiles/dispatch-lockdrop/DispatchLockdrop.sol
+++ /dev/null
@@ -1,20 +0,0 @@
-pragma solidity ^0.8.0;
-
-/**
- * @title Dispatch Lockdrop calls interface.
- */
-
-/// Interface to dispatch lockdrop calls precompiled contract
-/// Pre-deployed at the address 0x0000000000000000000000000000000000005007
-interface RescueLockdrop {
- /**
- * @dev Dispatch lockdrop call
- * @param call - SCALE-encoded call arguments
- * @param pubkey - full ECDSA pubkey 64 bytes
- * @return boolean confirming whether the call got successfully dispatched
- */
- function dispatch_lockdrop_call(
- bytes calldata call,
- bytes calldata pubkey
- ) external returns (bool);
-}
\ No newline at end of file
diff --git a/precompiles/dispatch-lockdrop/src/lib.rs b/precompiles/dispatch-lockdrop/src/lib.rs
deleted file mode 100644
index 5708a509d..000000000
--- a/precompiles/dispatch-lockdrop/src/lib.rs
+++ /dev/null
@@ -1,133 +0,0 @@
-// This file is part of Astar.
-
-// Copyright (C) Stake Technologies Pte.Ltd.
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-// Astar is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Astar is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Astar. If not, see .
-
-#![cfg_attr(not(feature = "std"), no_std)]
-
-extern crate alloc;
-
-use core::marker::PhantomData;
-use fp_evm::PrecompileHandle;
-use frame_support::pallet_prelude::IsType;
-use frame_support::traits::Get;
-use frame_support::weights::Weight;
-use frame_support::{
- dispatch::{GetDispatchInfo, PostDispatchInfo},
- traits::ConstU32,
-};
-use frame_system::Config;
-use pallet_evm::GasWeightMapping;
-use pallet_evm_precompile_dispatch::DispatchValidateT;
-use parity_scale_codec::DecodeLimit;
-use precompile_utils::prelude::{revert, BoundedBytes, RuntimeHelper};
-use precompile_utils::EvmResult;
-use sp_core::{crypto::AccountId32, H160, H256};
-use sp_io::hashing::keccak_256;
-use sp_runtime::traits::Dispatchable;
-use sp_std::vec::Vec;
-
-#[cfg(test)]
-mod mock;
-#[cfg(test)]
-mod tests;
-
-pub const LOG_TARGET: &str = "precompile::dispatch-lockdrop";
-
-// ECDSA PublicKey
-type ECDSAPublic = ConstU32<64>;
-
-// `DecodeLimit` specifies the max depth a call can use when decoding, as unbounded depth
-// can be used to overflow the stack.
-// Default value is 8, which is the same as in XCM call decoding.
-pub struct DispatchLockdrop>(
- PhantomData<(Runtime, DispatchValidator, DecodeLimit)>,
-);
-
-type CallLengthLimit = ConstU32<2048>;
-
-#[precompile_utils::precompile]
-impl
- DispatchLockdrop
-where
- Runtime: pallet_evm::Config,
- ::RuntimeOrigin: From