Non-custodial by design
USDC sits in an immutable smart contract. There is no admin function that can move, freeze or redirect escrowed funds — not even ours.
Escrow for freelancers and creators. Your client — or the brand sponsoring you — locks USDC in a smart contract. You deliver the work or the post goes live. It's released one milestone at a time. No invoices to chase, no platform holding your money, just a flat 1%.
How it works
Three steps, enforced by code. Each milestone is its own little escrow, so trust is earned one step at a time.
Client → escrow
Client
funds & approves
Escrow
smart contract
Freelancer
delivers & withdraws
Why Milestone
Built so neither side has to trust the other — or us.
USDC sits in an immutable smart contract. There is no admin function that can move, freeze or redirect escrowed funds — not even ours.
Charged only on what the freelancer receives, locked in per deal. Refunds are free. Capped at 3% in code.
No points, no governance token, no lockups. You pay and get paid in USDC — digital dollars by Circle.
Readable Solidity with unit, fuzz, invariant and re-entrancy tests, built on OpenZeppelin. The source will be published and verified on the block explorer at launch — verify it before you trust it.
Fast, cents-cheap payments on Base, or maximum settlement assurance on Ethereum. Same code on both.
Payouts are credited to your balance and withdrawn to any address — so nobody can block anyone else's money.
When things go sideways
Every disputed milestone has a guaranteed way out — no money stuck forever.
A neutral person you both approved splits the milestone — say 70% freelancer, 30% client — before the dispute timeout.
Both sides propose a split. The moment the numbers match, it executes. Works any time, with or without a referee.
If nobody decides before the timeout, anyone can trigger a fair-enough 50/50 split. A liveness guarantee.
Fees
Marketplaces and traditional escrow take a real cut. Milestone takes 1% of payouts — and nothing on refunds.
$6,000
You keep $840 more than on a typical marketplace.
1% of what the freelancer receives · + network gas (cents on Base)
Standard tier, per transaction; fee split negotiable
Typical: 10% freelancer fee (0–15%) + 5% client fee (up to 7.99%)
Estimates from public list prices checked Sep 2026 (Upwork client fees, Upwork freelancer fee, Escrow.com). Actual fees vary by plan, payment method and contract. Upwork includes services Milestone doesn't (talent marketplace, invoicing, support).
Who holds the money
Milestone: A smart contract — no one can redirect it
Marketplace: The platform
Traditional escrow: A licensed escrow company
Fee on a $6,000 project
Milestone: $60 (1%)
Marketplace: ≈ $900 (≈10% + 5%)
Traditional escrow: ≈ $144 (2.4%)
Milestone-by-milestone release
Milestone: Built in
Marketplace: Yes
Traditional escrow: Per transaction
When the client goes quiet
Milestone: Auto-claim after review window
Marketplace: Platform policy
Traditional escrow: Manual process
Disputes
Milestone: Referee you both pick · mutual split · 50/50 fallback
Marketplace: Platform mediation
Traditional escrow: Arbitration (extra cost)
Payout speed after approval
Milestone: Instant, withdraw 24/7
Marketplace: Days (holding period)
Traditional escrow: Business days
Who can use it
Milestone: Anyone with a wallet
Marketplace: Approved accounts & regions
Traditional escrow: KYC, supported countries
| Milestone | Upwork-style marketplace | Traditional escrow | |
|---|---|---|---|
| Who holds the money | A smart contract — no one can redirect it | The platform | A licensed escrow company |
| Fee on a $6,000 project | $60 (1%) | ≈ $900 (≈10% + 5%) | ≈ $144 (2.4%) |
| Milestone-by-milestone release | Built in | Yes | Per transaction |
| When the client goes quiet | Auto-claim after review window | Platform policy | Manual process |
| Disputes | Referee you both pick · mutual split · 50/50 fallback | Platform mediation | Arbitration (extra cost) |
| Payout speed after approval | Instant, withdraw 24/7 | Days (holding period) | Business days |
| Who can use it | Anyone with a wallet | Approved accounts & regions | KYC, supported countries |
For freelancers
Get a personal link and badge. Clients who click it land on a deal with you pre-filled — they add the milestones, fund, and you start work knowing the money is there.
Get my link & badgeAda · Product designer
Brand systems, web & mobile. Booking Q4.
milestone.app/pay/0x3C44…93BC
For creators & brands
The brand locks the budget up front. The creator gets paid per deliverable — no more chasing invoices 60 days after the campaign.
Example · Creator sponsorship
Spring launch campaign
Brand: Northwind Coffee · Creator: @ada.makes
Illustration only. Milestone is pre-launch — the preview is view-only until the testnet beta opens.
FAQ
No. Funds sit in a smart contract, not with us. The contract has no function that lets the Milestone team (or anyone) move, freeze or redirect escrowed funds — money only moves by the deal's rules: client approval, review-window timeout, freelancer refund, referee decision, mutual settlement or the 50/50 fallback.
A flat 1% of what the freelancer receives, locked in when the deal is created. Refunds to the client are never charged. You also pay normal network gas, which is typically a few cents on Base. There is no token and no subscription.
Every deal has a review window (for example 7 days). If the client neither approves nor disputes before it ends, the freelancer can claim the milestone. Silence counts as approval.
Either side can open a dispute on a funded milestone. The referee you both agreed on can split it (e.g. 70/30), you can settle between yourselves at any time, or — if nobody decides before the dispute timeout — anyone can trigger an automatic 50/50 split. The freelancer can also refund a milestone voluntarily.
Yes — same escrow, different wording. Pick “Creator sponsorship” when you create a deal: the brand funds USDC per deliverable (e.g. Post 1 live, Post 2 live, stays up 30 days), the creator marks each one live, and the brand approves or the creator claims it after the review window (3 days by default). Creators can share a pay-me link set up for brands.
It's a normal milestone the brand funds up front. Once the post has been live for 30 days, the creator marks it delivered; the brand checks the post is still up and approves — or it can be claimed when the review window ends. If the post came down early, the brand can dispute it.
Yes. Milestone only handles the payment. Paid posts must be clearly disclosed as ads — for example #ad or #sponsored up front plus the platform's paid-partnership label — as advertising rules (such as the FTC's in the US) and platform policies require. Brands shouldn't approve a post that isn't disclosed.
USDC on Base and Ethereum. Milestone isn't deployed yet: a public testnet beta on Base Sepolia and Ethereum Sepolia comes first, and mainnet launches only after an independent audit.
Open source at launch: the contract source, tests (unit, fuzz, invariant) and docs will be published, and the code verified on Basescan and Etherscan, when Milestone launches. It has not been audited yet — please don't use real funds until it is. During launch, deal sizes and total deposits are capped, and new deals can be paused (existing deals and withdrawals always keep working).
No. Parties, referee, amounts, review window, dispute timeout and fee are fixed when the deal is created and ratified when the freelancer accepts. Need something different? Create a new deal.
Payouts are credited to your balance in the contract. Press Withdraw to send them to your wallet — or any address you choose — whenever you like.
Milestone isn't live yet — you can explore the app preview today. Join the waitlist and we'll tell you when the testnet beta opens and when audited Milestone launches on Base and Ethereum.