diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberController.kt
index 436e23f..7070169 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberController.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberController.kt
@@ -4,6 +4,7 @@ import kr.co.vividnext.sodalive.common.ApiResponse
 import org.springframework.data.domain.Pageable
 import org.springframework.security.access.prepost.PreAuthorize
 import org.springframework.web.bind.annotation.GetMapping
+import org.springframework.web.bind.annotation.PostMapping
 import org.springframework.web.bind.annotation.PutMapping
 import org.springframework.web.bind.annotation.RequestBody
 import org.springframework.web.bind.annotation.RequestMapping
@@ -14,6 +15,12 @@ import org.springframework.web.bind.annotation.RestController
 @RequestMapping("/admin/member")
 @PreAuthorize("hasRole('ADMIN')")
 class AdminMemberController(private val service: AdminMemberService) {
+    @PostMapping("/password/reset")
+    fun resetPassword(@RequestBody request: ResetPasswordRequest) = ApiResponse.ok(
+        service.resetPassword(request = request),
+        "비밀번호가 초기화 되었습니다."
+    )
+
     @PutMapping
     fun updateMember(@RequestBody request: UpdateMemberRequest) = ApiResponse.ok(
         service.updateMember(request = request),
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberRepository.kt
index 4b1a2ed..538259b 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberRepository.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberRepository.kt
@@ -15,6 +15,7 @@ interface AdminMemberQueryRepository {
 
     fun searchMemberTotalCount(searchWord: String, role: MemberRole? = null): Int
     fun getCreatorAllList(): List<GetAdminCreatorAllListResponse>
+    fun findByIdAndActive(memberId: Long): Member?
 }
 
 class AdminMemberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : AdminMemberQueryRepository {
@@ -109,4 +110,15 @@ class AdminMemberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
             )
             .fetch()
     }
+
+    override fun findByIdAndActive(memberId: Long): Member? {
+        return queryFactory
+            .selectFrom(member)
+            .where(
+                member.id.eq(memberId)
+                    .and(member.isActive.isTrue)
+            )
+            .orderBy(member.id.desc())
+            .fetchFirst()
+    }
 }
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberService.kt
index 8b81fbc..7cccc74 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberService.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/AdminMemberService.kt
@@ -6,6 +6,7 @@ import kr.co.vividnext.sodalive.member.MemberRole
 import org.springframework.beans.factory.annotation.Value
 import org.springframework.data.domain.Pageable
 import org.springframework.data.repository.findByIdOrNull
+import org.springframework.security.crypto.password.PasswordEncoder
 import org.springframework.stereotype.Service
 import org.springframework.transaction.annotation.Transactional
 import java.time.ZoneId
@@ -14,6 +15,7 @@ import java.time.format.DateTimeFormatter
 @Service
 class AdminMemberService(
     private val repository: AdminMemberRepository,
+    private val passwordEncoder: PasswordEncoder,
 
     @Value("\${cloud.aws.cloud-front.host}")
     private val cloudFrontHost: String
@@ -133,4 +135,12 @@ class AdminMemberService(
     fun getCreatorAllList(): List<GetAdminCreatorAllListResponse> {
         return repository.getCreatorAllList()
     }
+
+    @Transactional
+    fun resetPassword(request: ResetPasswordRequest) {
+        val member = repository.findByIdAndActive(memberId = request.memberId)
+            ?: throw SodaException("잘못된 회원정보입니다.\n다시 시도해 주세요.")
+
+        member.password = passwordEncoder.encode(member.email.split("@")[0])
+    }
 }
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/ResetPasswordRequest.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/ResetPasswordRequest.kt
new file mode 100644
index 0000000..009df01
--- /dev/null
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/member/ResetPasswordRequest.kt
@@ -0,0 +1,3 @@
+package kr.co.vividnext.sodalive.admin.member
+
+data class ResetPasswordRequest(val memberId: Long)
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeEventService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeEventService.kt
index 7a8ff3e..ba53b6e 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeEventService.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeEventService.kt
@@ -89,7 +89,7 @@ class ChargeEventService(
     }
 
     private fun applyFirstChargeEvent(charge: Charge, member: Member) {
-        val additionalCan = ceil(charge.chargeCan * 0.2).toInt()
+        val additionalCan = ceil(charge.chargeCan * 0.15).toInt()
         applyEvent(
             additionalCan = additionalCan,
             member = member,
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt
index 3287f3e..0f147df 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt
@@ -19,7 +19,11 @@ class LiveRecommendRepository(
     @Value("\${cloud.aws.cloud-front.host}")
     private val cloudFrontHost: String
 ) {
-    fun getRecommendLive(memberId: Long, isAdult: Boolean): List<GetRecommendLiveResponse> {
+    fun getRecommendLive(
+        memberId: Long,
+        isBlocked: (Long) -> Boolean,
+        isAdult: Boolean
+    ): List<GetRecommendLiveResponse> {
         val dateNow = LocalDateTime.now()
 
         var where = recommendLiveCreatorBanner.startDate.loe(dateNow)
@@ -41,6 +45,9 @@ class LiveRecommendRepository(
             .where(where)
             .orderBy(recommendLiveCreatorBanner.orders.asc())
             .fetch()
+            .asSequence()
+            .filter { !isBlocked(it.creatorId) }
+            .toList()
     }
 
     fun getOnAirRecommendChannelList(
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendService.kt
index a842415..1c6e486 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendService.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendService.kt
@@ -14,6 +14,7 @@ class LiveRecommendService(
     fun getRecommendLive(member: Member): List<GetRecommendLiveResponse> {
         return repository.getRecommendLive(
             memberId = member.id!!,
+            isBlocked = { blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it) },
             isAdult = member.auth != null
         )
     }