TL;DR
When a milestone is disputed on FiduWork, a panel of 3, 5, or 7 jurors votes inside a 72-hour window, and both parties lock 5% of the disputed milestone in USDC before the panel is drawn. The contract redistributes that pool 30% to jurors and 70% to the winning side. Most of your defense was built before the vote started.
The panel mechanism is already documented. What has not been written is the part that matters when a dispute lands: what a fixed-duration vote can and cannot do for you, and which levers stay yours.
A dispute moves the decision off your keyboard onto a panel. Jurors are drawn, and a voting window with a fixed end time starts. On-chain governance frameworks work this way generally: Aragon's token voting plugin records a proposal's start and end dates at initialization and supports 3 distinct voting modes, each set before anyone votes.
For juror selection, panel sizing, and quorum behavior, read the Aragon-OSx panel mechanics for freelance disputes.
Panel size, window length, and stake percentage are contract parameters. None move because you argue well or because the milestone is large.
You do not pick jurors, set deadlines, or talk anyone into a longer look. A rule set nobody can bend mid-dispute is one your client cannot bend.
The window closes on block time, not on your calendar. Ethereum runs on slots of 12 seconds, and the execution payload header carries a timestamp field described in the Ethereum blocks documentation as the block time. A 72-hour window is therefore 72 hours in Sydney, Lagos, and Lisbon at once. Plan around when the clock started.
Work backwards from the window's end in UTC and put that timestamp where you will see it. Fixed duration rewards front-loading, since nothing extends.
Preparation is the only part of a dispute you fully control, and it happens months earlier. In the 2025 Stack Overflow developer survey, 13.9% of 48,178 respondents described themselves as independent contractors, freelancers, or self-employed, which means counterparty risk on a contested milestone lands on a person, not on an employer's legal department. Prepare as if that person is you.
Whatever platform you work on, define acceptance criteria in writing before the first commit. "Redesign the dashboard" invites a dispute; "ship 4 responsive views passing the agreed QA checklist" has an answer.
Record work as it happens instead of reconstructing it later. Commits, deploy logs, and dated notes carry weight a summary typed mid-argument never will. Keep the milestone conversation in one place.
A screenshot is a claim about a record. A transaction log is the record. Solidity's contract events documentation explains that events write to the transaction log, that up to 3 parameters can be marked indexed, and that each of those topics holds a single 32 byte word. Anyone can filter that log without asking you for a copy.
Contracts see only the last 256 block hashes, per the same Solidity reference, so external readers carry the longer history. Off-chain deliverables lack that property, but hashes and timestamps of what you shipped move you closer.
Treat the choice as arithmetic before you treat it as a principle. USDC is backed 100% by highly liquid cash and cash-equivalent assets and redeemable 1:1 for dollars, so the disputed amount does not drift in value while the panel votes. Weigh the milestone against the 5% you committed and the 3 days of attention the window will cost you.
Both sides carry identical exposure, so a client opening a bad-faith dispute pays for the privilege. Why that symmetry exists is covered in the 5% stake economics for freelancers. Run the numbers on your own milestone before you argue about principle. On a 4,000 USDC milestone you commit 200 and the pool holds 400. A win returns the milestone plus 280, which is your 200 back and 80 on top. A loss costs the 200 and the milestone with it.
Compare on what each option costs you in time, money, and control. The Aragon OSx protocol repository is public and licensed under AGPL-3.0, with a permission manager specifying which addresses may call which functions, so the rules of the vote are readable long before you need them. Read them once now, not at 2am.
Only one column gives you a date you can plan around. A queue and a goodwill negotiation both end when somebody else decides they are done, which is how unpaid invoices outlive their projects.
Change 3 things and most disputes stop being close calls: pin acceptance criteria in writing, keep the delivery trail in one durable place, and agree who signs a milestone off. On-chain, a transaction is a cryptographically signed instruction from an account, and the Ethereum transactions documentation notes it can be proven to have come from the sender.
Platform Signal. A disputed milestone on FiduWork goes to an Aragon-OSx panel of 3, 5, or 7 jurors with a 72-hour voting window. Both sides lock 5% of the disputed milestone in USDC when the dispute is raised, and the contract redistributes that pool 30% to jurors and 70% to the winning side. On the Sepolia beta, 1,200+ freelancer profiles have worked alongside a <2h average response time.
Write the acceptance check next to the deliverable, keep the delivery trail somewhere both of you can see it, and name the person who signs. Milestone size sets how much ceremony each needs.
Compliance corner. In the EU, MiCA Article 75 of Regulation (EU) 2023/1114 governs the custody and administration of crypto-assets on behalf of clients, and requires a written custody policy from any provider holding them. A non-custodial milestone escrow sits on the other side of that line: disputed funds stay in a contract rather than an operator account while a panel votes, so no intermediary holds custody of your crypto-asset balance on your behalf. Confirm the treatment in your own jurisdiction.
For anything procedural not covered here, the FiduWork documentation is the honest destination.
Weighing escrow against bank rails? See how USDC escrow compares with bank milestone payouts, then the guide to landing your first on-chain contract when you scope the next one.
Start Your First On-Chain Contract. Scope a milestone with written acceptance criteria, funded in USDC escrow, under a dispute path whose rules you can read in advance. Open the app.
More articles









