Front is a red flag. There are some decent contractors who are going to require it.
My advice would be to never pay 100% of the contract until you are completely satisfied. I agree with the other recommendations, but I wouldn’t make the deposit a deal breaker.