diff --git a/Cargo.lock b/Cargo.lock
index 726c8f5a1885a33ec22e944a2b8eb1e274f0334a..6151ed33c5b6e8c396258655469ca3f7fb3344e3 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -12121,14 +12121,10 @@ dependencies = [
 name = "pallet-atomic-swap"
 version = "28.0.0"
 dependencies = [
- "frame-support 28.0.0",
- "frame-system 28.0.0",
  "pallet-balances 28.0.0",
  "parity-scale-codec",
+ "polkadot-sdk-frame 0.1.0",
  "scale-info",
- "sp-core 28.0.0",
- "sp-io 30.0.0",
- "sp-runtime 31.0.1",
 ]
 
 [[package]]
diff --git a/substrate/frame/atomic-swap/Cargo.toml b/substrate/frame/atomic-swap/Cargo.toml
index db89a58da8f085bbde6e7242d9962c20df2b87e4..1f97f60149ba8a4eca67efdda0908d8aaf89785d 100644
--- a/substrate/frame/atomic-swap/Cargo.toml
+++ b/substrate/frame/atomic-swap/Cargo.toml
@@ -18,11 +18,7 @@ targets = ["x86_64-unknown-linux-gnu"]
 [dependencies]
 codec = { workspace = true }
 scale-info = { features = ["derive"], workspace = true }
-frame-support = { workspace = true }
-frame-system = { workspace = true }
-sp-core = { workspace = true }
-sp-io = { workspace = true }
-sp-runtime = { workspace = true }
+frame = { workspace = true, features = ["experimental", "runtime"] }
 
 [dev-dependencies]
 pallet-balances = { workspace = true, default-features = true }
@@ -31,17 +27,11 @@ pallet-balances = { workspace = true, default-features = true }
 default = ["std"]
 std = [
 	"codec/std",
-	"frame-support/std",
-	"frame-system/std",
+	"frame/std",
 	"pallet-balances/std",
 	"scale-info/std",
-	"sp-core/std",
-	"sp-io/std",
-	"sp-runtime/std",
 ]
 try-runtime = [
-	"frame-support/try-runtime",
-	"frame-system/try-runtime",
+	"frame/try-runtime",
 	"pallet-balances/try-runtime",
-	"sp-runtime/try-runtime",
 ]
diff --git a/substrate/frame/atomic-swap/src/lib.rs b/substrate/frame/atomic-swap/src/lib.rs
index c3010f5c9c03bce4b2dedc22f522a5fd84128980..9521f20fe0092c30c946c0b91c32e3c70c83404b 100644
--- a/substrate/frame/atomic-swap/src/lib.rs
+++ b/substrate/frame/atomic-swap/src/lib.rs
@@ -50,17 +50,11 @@ use core::{
 	marker::PhantomData,
 	ops::{Deref, DerefMut},
 };
-use frame_support::{
-	dispatch::DispatchResult,
-	pallet_prelude::MaxEncodedLen,
-	traits::{BalanceStatus, Currency, Get, ReservableCurrency},
-	weights::Weight,
-	RuntimeDebugNoBound,
+use frame::{
+	prelude::*,
+	traits::{BalanceStatus, Currency, ReservableCurrency},
 };
-use frame_system::pallet_prelude::BlockNumberFor;
 use scale_info::TypeInfo;
-use sp_io::hashing::blake2_256;
-use sp_runtime::RuntimeDebug;
 
 /// Pending atomic swap operation.
 #[derive(Clone, Eq, PartialEq, RuntimeDebugNoBound, Encode, Decode, TypeInfo, MaxEncodedLen)]
@@ -159,11 +153,9 @@ where
 
 pub use pallet::*;
 
-#[frame_support::pallet]
+#[frame::pallet]
 pub mod pallet {
 	use super::*;
-	use frame_support::pallet_prelude::*;
-	use frame_system::pallet_prelude::*;
 
 	/// Atomic swap's pallet configuration trait.
 	#[pallet::config]
diff --git a/substrate/frame/atomic-swap/src/tests.rs b/substrate/frame/atomic-swap/src/tests.rs
index 47ebe6a8f0acf26021a84f37bf76d703aeba1374..6fcc5571a5232382043ebc46907ca1d56d32ee01 100644
--- a/substrate/frame/atomic-swap/src/tests.rs
+++ b/substrate/frame/atomic-swap/src/tests.rs
@@ -19,13 +19,11 @@
 
 use super::*;
 use crate as pallet_atomic_swap;
-
-use frame_support::{derive_impl, traits::ConstU32};
-use sp_runtime::BuildStorage;
+use frame::testing_prelude::*;
 
 type Block = frame_system::mocking::MockBlock<Test>;
 
-frame_support::construct_runtime!(
+construct_runtime!(
 	pub enum Test
 	{
 		System: frame_system,
@@ -54,7 +52,7 @@ impl Config for Test {
 const A: u64 = 1;
 const B: u64 = 2;
 
-pub fn new_test_ext() -> sp_io::TestExternalities {
+pub fn new_test_ext() -> TestExternalities {
 	let mut t = frame_system::GenesisConfig::<Test>::default().build_storage().unwrap();
 	let genesis = pallet_balances::GenesisConfig::<Test> { balances: vec![(A, 100), (B, 200)] };
 	genesis.assimilate_storage(&mut t).unwrap();