diff --git a/src/handler/user/user.router.ts b/src/handler/user/user.router.ts
index 4ec56123235e46df1fb3f635e3ba20025389f35d..2702ca9e05402acb4e50eb8a521ecf53a5fb3f8b 100644
--- a/src/handler/user/user.router.ts
+++ b/src/handler/user/user.router.ts
@@ -68,3 +68,12 @@ UserRouter.post('/balance', async (request: Request, response: Response) => {
         return response.status(500).json(error.message);
     }
 })
+
+UserRouter.get('/user-detail/:username', async (request: Request, response: Response) => {
+    try {
+        const userData = await UserServices.getUserByUsername(request.params.username);
+        return response.status(200).json(userData);
+    } catch (error: any) {
+        return response.status(500).json(error.message);
+    }
+})
diff --git a/src/handler/user/user.service.ts b/src/handler/user/user.service.ts
index 1ed8480e4d8396627f61127eef8823b03a29a78f..c20a5e1e1df5309fcb477f921c1c91b7b6afea60 100644
--- a/src/handler/user/user.service.ts
+++ b/src/handler/user/user.service.ts
@@ -1,4 +1,5 @@
 import { User } from "../../interfaces/User";
+import { UserDetail } from "../../interfaces/UserDetail";
 import {db} from "../../utils/db.server"
 
 type queryResult = User | null;
@@ -98,3 +99,23 @@ export async function topup(username : string, topupBalance : number) {
     }
     return responseString;
 }
+
+export async function getUserByUsername(username : string) {
+    const userDetail : UserDetail | null = await db.user.findFirst({
+        where:{
+            username : username,
+        },
+        select: {
+            username : true,
+            name : true,
+            email : true,
+            saldo : true
+        }
+    })
+
+    if(userDetail === null) {
+        throw "error";
+    }
+
+    return userDetail;
+}
diff --git a/src/interfaces/UserDetail.ts b/src/interfaces/UserDetail.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8934888969e3f1cbd9babb3a82b6340076d21ca4
--- /dev/null
+++ b/src/interfaces/UserDetail.ts
@@ -0,0 +1,7 @@
+
+export interface UserDetail {
+    username : string
+    name : string
+    email : string
+    saldo : number
+}
\ No newline at end of file