re: "I want to receive half my pay in advance before I start, is this possible on Upwork?"
Yes, it IS possible on Upwork.
Using fixed-price contracts, it is possible for you to negotiate with clients and ask them to set up a milestone purely for paying you half of the pay in advance. The client is able to do this, and can release any amount of payment to you before you do any work.
To all clients:
I strongly suggest that you DO NOT WORK with anybody on Upwork who asks for pay in advance.
It is not Upwork's intention that you do that. Upwork has a robust and fully-functional escrow payment system in place. This protects both the freelancer and the client.
It is Upwork's intention that you FUND the complete payment of a milestone, and THEN the freelancer will do the work and submit it to you. After you have reviewed the work, then you should promptly release the payment to the client if they have done the work that you both agreed to in the contract.
Upwork’s “intention” is irrelevant to how we run our businesses. In fields where some form of advance payment or retainer is common practice, contractors should ask for it, and should expect professional clients in that field to be familiar with the practice and to cooperate.
Essie - Yes, that is possible. That is usually done if the job warrents it, such as you need to buy special equipment related to the job, and the client pays you so you can purchase it. If you need to hire actors or reserve places in order to do the job. The job needs to have special circumstances for a client to do that.
Clients have been scammed by paying freelancers first and then those freelancers disappear and never do work,
It's best that you set up smaller milestones with quicker and shorter deliverables so that you will get payment faster. That's what escrow is used for. To protect a clients money so the freelancer doesn't run off with it without doing any work. And the freelancer can't take it without giving a deliverable.