Get used to the "not knowing the clients budget" idea...you probably will rarely know that information, and to be honest, it's irrelevant anyway.
You have to put a value on your time and knowledge...productivity etc etc. Learn to break projects down into small bite-sized chunks and start getting a real handle on how long it you to get stuff done in a professional manner.
You mention you have no experience with this...fine, all the more reason to follow this advice. Not only will you learn the processes, but you will gain very valuable insight on how fast (or slow) development takes without losing you shirt if you guess wrong in the beginning.
You can't afford to be the cheapest estimate around...that race-to-the-bottom is a losing proposition for everyone involved.
The ability to estimate time and negotiate a fair and "value-rich" agreement between you and clients could very well be as if not more important than actual coding skills if you decide to be a long-term IC.