diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 8dd72df3e7..e57fabb13b 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -119,6 +119,9 @@ dependencies {
implementation(project(":features:referral:presentation"))
implementation(project(":features:referral:domain"))
implementation(project(":features:referral:data"))
+ implementation(project(":features:swap:presentation"))
+ implementation(project(":features:swap:domain"))
+ implementation(project(":features:swap:data"))
/** AndroidX libraries */
implementation(AndroidX.coreKtx)
diff --git a/features/swap/data/.gitignore b/features/swap/data/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/features/swap/data/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/features/swap/data/build.gradle.kts b/features/swap/data/build.gradle.kts
new file mode 100644
index 0000000000..298948e089
--- /dev/null
+++ b/features/swap/data/build.gradle.kts
@@ -0,0 +1,37 @@
+plugins {
+ id("com.android.library")
+ kotlin("android")
+ kotlin("kapt")
+ id("com.google.dagger.hilt.android")
+}
+
+android {
+
+ defaultConfig {
+ compileSdk = AppConfig.compileSdkVersion
+ minSdk = AppConfig.minSdkVersion
+ targetSdk = AppConfig.targetSdkVersion
+ }
+
+ kotlinOptions {
+ jvmTarget = JavaVersion.VERSION_1_8.toString()
+ }
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
+ isCoreLibraryDesugaringEnabled = false
+ }
+}
+
+dependencies {
+
+ /** Project*/
+ implementation(project(":core:datasource"))
+ implementation(project(":core:utils"))
+ implementation(project(":features:swap:domain"))
+
+ /** DI */
+ implementation(Library.hilt)
+ kapt(Library.hiltKapt)
+}
\ No newline at end of file
diff --git a/features/swap/data/src/main/AndroidManifest.xml b/features/swap/data/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..5981b0aeee
--- /dev/null
+++ b/features/swap/data/src/main/AndroidManifest.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/features/swap/domain/.gitignore b/features/swap/domain/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/features/swap/domain/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/features/swap/domain/build.gradle.kts b/features/swap/domain/build.gradle.kts
new file mode 100644
index 0000000000..e8259cee84
--- /dev/null
+++ b/features/swap/domain/build.gradle.kts
@@ -0,0 +1,9 @@
+plugins {
+ id("java-library")
+ id("org.jetbrains.kotlin.jvm")
+}
+
+java {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
+}
\ No newline at end of file
diff --git a/features/swap/presentation/.gitignore b/features/swap/presentation/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/features/swap/presentation/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/features/swap/presentation/build.gradle.kts b/features/swap/presentation/build.gradle.kts
new file mode 100644
index 0000000000..8eac586d41
--- /dev/null
+++ b/features/swap/presentation/build.gradle.kts
@@ -0,0 +1,59 @@
+plugins {
+ id("com.android.library")
+ kotlin("android")
+ kotlin("kapt")
+ id("com.google.dagger.hilt.android")
+}
+
+android {
+
+ defaultConfig {
+ compileSdk = AppConfig.compileSdkVersion
+ minSdk = AppConfig.minSdkVersion
+ targetSdk = AppConfig.targetSdkVersion
+ }
+
+ kotlinOptions {
+ jvmTarget = JavaVersion.VERSION_1_8.toString()
+ }
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
+ isCoreLibraryDesugaringEnabled = false
+ }
+
+ buildFeatures {
+ compose = true
+ }
+
+ composeOptions {
+ kotlinCompilerExtensionVersion = Versions.compose
+ }
+}
+
+dependencies {
+ /** Core modules */
+ implementation(project(":core:utils"))
+ implementation(project(":core:ui"))
+
+ /** AndroidX */
+ implementation(AndroidX.appCompat)
+ implementation(AndroidX.fragmentKtx)
+ implementation(AndroidX.lifecycleViewModelKtx)
+
+ /** Compose */
+ implementation(Compose.foundation)
+ implementation(Compose.material)
+ implementation(Compose.uiTooling)
+
+ /** Domain */
+ implementation(project(":features:swap:domain"))
+
+ /** Other libraries */
+ implementation(Library.composeShimmer)
+
+ /** DI */
+ implementation(Library.hilt)
+ kapt(Library.hiltKapt)
+}
\ No newline at end of file
diff --git a/features/swap/presentation/src/main/AndroidManifest.xml b/features/swap/presentation/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..927ad53a71
--- /dev/null
+++ b/features/swap/presentation/src/main/AndroidManifest.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 76949019de..a0a79551bb 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -18,4 +18,7 @@ include(":libs:auth")
include(":features:referral:data")
include(":features:referral:domain")
include(":features:referral:presentation")
+include(":features:swap:data")
+include(":features:swap:domain")
+include(":features:swap:presentation")
// endregion Feature modules
\ No newline at end of file