TL;DR: A Direct Contract lets you invite a client you already found outside Upwork onto the platform, without either of you posting a job or writing a proposal. You get Upwork's escrow, Hourly Protection, and dispute resolution on money that would otherwise move on trust alone. It costs no Connects, and the freelancer service fee drops to 5% instead of 10% (0% if you're on Freelancer Plus). The catch: it only works if the client does not already have an Upwork account. Here's exactly how it works, what it costs on both sides, and what to do if your client is already on the platform.
Every guide to Upwork assumes the job starts with a post you found. Direct Contracts are for the opposite situation: you already have the client. A referral, a past coworker, someone from your own outreach, a client from another platform you want to move somewhere safer. The question is not how to win the work, you already have it, it's how to get paid for it without either wiring money on trust or giving up 10% and a pile of Connects to a marketplace you never actually used.
What a Direct Contract actually is
A Direct Contract is a private contract you create and send to a specific person's email address. There is no job post, no proposal, no Connects spent, and no other freelancer ever sees it. You fill in the scope, the rate or milestones, and the client's email, and Upwork sends them an invitation to review and accept it.
If the client does not yet have an Upwork account, accepting the invite creates one for them. Once they accept and fund the contract, it behaves exactly like a normal Marketplace contract from that point on: fixed-price milestones sit in escrow until you deliver and they approve, hourly work is tracked through the Work Diary and covered by Hourly Protection, and if something goes wrong you have the same dispute process everyone else on Upwork has. The private invitation is only how the contract starts. Everything after that, submitting work, getting paid, and leaving feedback, runs on the same rails as any job you'd have found through search.
That last part is the entire point. Off-platform, a client can simply not pay. On Upwork, the money for a funded milestone genuinely exists before you start working on it.
Who this is actually for
Direct Contracts solve one specific problem: you have a client relationship but no payment protection. That covers more situations than it sounds like:
- A referral or a warm introduction who was never going to sit through the job-post-and-proposal process
- A client you've worked with on another freelance platform or invoiced directly, and you want future work protected by escrow
- Someone who found you through your portfolio, your site, or a specialized profile rather than Upwork search
- A past Upwork client you're continuing to work with off a new job post, where a Direct Contract is simpler than either of you writing another proposal
It does not solve a different problem: finding new clients. Nothing about Direct Contracts puts you in front of anyone. It only protects the money once you already have someone to invite.
How to send one
- Go to Find Work > Direct Contracts in your freelancer dashboard and choose Create a Contract.
- Enter the client's email address. Upwork checks whether that email is already tied to an account (more on this below).
- Set the contract type, fixed-price with one or more milestones, or hourly with a weekly cap, and the scope of work.
- Send the invite. The client gets an email to review the terms and, if they don't have an account yet, create one.
- Once they accept and fund the contract (or set up billing for hourly), work starts exactly like any other Upwork contract.
Nothing here requires Connects, because there's no proposal and no competition. You're not applying to be considered, you already are.
What it costs
This is where Direct Contracts genuinely beat the standard route, at the time of writing:
For you: a 5% freelancer service fee on what you bill, half of the flat 10% fee that applies to ordinary Marketplace contracts. If you're an active Freelancer Plus subscriber, Direct Contracts drop to 0% freelancer fee, which alone can be worth the membership if you run several of these.
For your client: the same Contract Initiation Fee Upwork charges on any new Marketplace contract, a small one-time charge reported in the roughly $1 to $15 range depending on contract size, plus whatever payment-processing costs apply to their account. It's worth mentioning this to the client up front so the number on their invoice isn't a surprise, since it's genuinely small next to the alternative of no payment protection at all.
Compare that to inviting the same client through a normal job post and proposal: you'd spend Connects to apply, pay the full 10% fee, and the client would go through Upwork's standard hiring flow for a person they'd already decided to hire. Direct Contracts skip all of that friction on both sides.
The one hard restriction
Direct Contracts only work if the client does not already have an Upwork account. Try to invite an email tied to an existing account and Upwork blocks it, you'll get an error instead of a sent invite. The feature exists to bring new clients onto the platform, not to reroute existing ones around the normal marketplace.
If your client is already on Upwork, you have two options instead:
- Have them hire you the normal way, either by posting a job you apply to or by sending you an invitation to a job they've posted. Standard Marketplace fees and flow apply.
- Client-Initiated Direct Contracts, a separate mechanism where an Upwork client hires a specific freelancer directly without a job post. The freelancer pays no service fee on these, but the client is billed a recurring monthly fee per active contract to use the feature. This option lives on the client's side of the platform and Upwork has changed its terms here before, so if this is the situation you're in, have your client check the current terms in their own account rather than relying on a number from an article.
Either way, once a client already has an account, the private-invite Direct Contract flow described above is closed to you.
Direct Contracts don't replace vetting
It's tempting to treat "I already know this client" as a substitute for the checks you'd run on a stranger, and that's the actual risk with this feature. A referral can still ghost you, still dispute a milestone, still ask you to start before funding escrow. Fund-before-you-work is not a marketplace-only rule, it applies to every fixed-price contract on Upwork including this one. If the relationship is new enough that you're not certain how they'll behave under a real contract, run the same client vetting habits you would on any job post, and don't skip the step of confirming the first milestone shows as funded before you open your editor.
The bottom line
Direct Contracts are the answer to a narrow but real question: you already have the client, how do you get paid safely without the marketplace's fees and Connects. For a client who isn't on Upwork yet, it's close to a strict upgrade over invoicing them yourself, half the fee, full escrow and dispute protection, and no proposal required. What it will never do is find you that client in the first place. That's still a reach-and-timing problem, and for the proposals you do send to jobs you haven't already won, Upwork Scout filters the feed down to fresh, well-funded, verified-client posts before you spend a Connect on any of them. The free tier is enough to start seeing the difference.
Frequently asked questions
Do Direct Contracts cost Connects on Upwork? No. There's no job post and no proposal involved, so nothing about creating or sending a Direct Contract spends Connects. The only costs are the reduced freelancer service fee on what you eventually bill, and a small one-time fee the client pays when the contract is created.
Can I send a Direct Contract to a client who's already on Upwork? No. The freelancer-initiated Direct Contract flow only works for a client whose email isn't already tied to an Upwork account. If they're already registered, you'll need them to hire you through a normal job post or invitation instead, or look into Client-Initiated Direct Contracts, which is a separate feature the client sets up on their end.
Is a Direct Contract as safe as a normal Upwork job? Yes, once it's accepted and funded. From that point it runs on the same escrow, Hourly Protection, and dispute system as any Marketplace contract, the private invite only changes how it started. It is not automatically safer just because you know the client personally, so still confirm each milestone is funded before you start work, the same rule that applies to every fixed-price contract on the platform.