diff --git a/services/friendService.js b/services/friendService.js
new file mode 100644
index 0000000000000000000000000000000000000000..8b93749c431a127d94bf87dc63605fedb1ff011f
--- /dev/null
+++ b/services/friendService.js
@@ -0,0 +1,38 @@
+const { Op } = require('sequelize');
+const Friend = require('../models/Friend');
+const User = require('../models/user');
+
+class friendService {
+    
+    /**
+     * 친구 요청 보내기
+     * 나 자신에게 보내기 or 이미 존재하는 친구 -> X
+     * 이후, PENDING 상태로 변환 -> 수락/거절에 따라 변화
+     */
+    async sendFriendRequest(userId, friendId) {
+        if (userId === friendId) {
+            throw new Error('Cannot send friend request to yourself');
+        }
+
+        const existingFriend = await Friend.findOne({
+            where: {
+                [Op.or]: [
+                    { user_id: userId, friend_id: friendId },
+                    { user_id: friendId, friend_id: userId }
+                ]
+            }
+        });
+
+        if (existingFriend) {
+            throw new Error('Friend request already exists');
+        }
+
+        return Friend.create({
+            user_id: userId,
+            friend_id: friendId,
+            status: 'PENDING'
+        });
+    }
+}
+
+module.exports = new FriendService();
\ No newline at end of file