Scala by the Bay 2017 In a microservice environment, it is painful to handle exceptions thrown by external services. We designed a mechanism for type-safe error handling using EitherT monad transformer to stack Future and Either. Calls to external services are implemented in a stack of EitherT for fail-fast error handling. Errors are separated for each logical external services. Error hierarchy is defined to expose different layers of the system. Location and reason of an error are provided for debugging. In addition, we validated input to each call of external service by Validated to accumulate errors. Validation rules are tested by property-based testing with ScalaCheck. We implemented both fail-fast and accumulated error handling with Cats in payment service for shopbot.