While not intimately familiar with every purchase contract in every state, I've bought and sold in several states during the past 35 years and in every instance the contract gives the buyer a period of time in which to get inspections completed and financing in squared away. During this time if you learn things that modify your opinion on the value of the property you have the right to either renegotiate terms with the seller or terminate your offer and walk away.
Usually the Buyer does not want to pay $600 for an inspection unless they know that their offer has been accepted.
If you do the inspection after the offer has been accepted, then there is usually not enough time to compete the inspection before the earnest money deposit is due (3 business days). Usually. It can be done.
An alternative is to include in the offer that the deposit will be made in 7 days, instead of 3, to give you time to complete the inspection. If there are not a lot of competive offers, then this might be a winning solution.