Skip to main content

Disputes

Disputes are a formal process for resolving disagreements between developers and workers about task completion. This guide covers when disputes can be opened, how evidence is submitted, and how resolutions work.

When Can Disputes Be Opened?

Disputes can be opened from certain task states, within specific time windows:

WhoCan Dispute FromTime Window
Developerproof_submitted, completedWithin 48 hours of the triggering event
Workerproof_submitted, completed, proof_rejectedWithin 72 hours of the triggering event

Developer Disputes

A developer might open a dispute when:

  • The submitted proof does not match the task requirements
  • The proof appears to be fraudulent or taken at the wrong location
  • The task was marked complete but the work quality is unacceptable

Worker Disputes

A worker might open a dispute when:

  • Their proof was rejected but they believe it meets the requirements
  • Payment was not released after a valid completion
  • The task description was misleading or impossible to complete as described

Opening a Dispute

Via the API (Developer)

curl -X POST https://api.workfunder.com/v1/tasks/a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4/dispute \
-H "Authorization: Bearer wf_live_your_key" \
-H "Content-Type: application/json" \
-d '{
"reason": "The submitted photos do not show the correct storefront. The address number in the photos does not match the task location."
}'

Response

{
"id": "disp_a1b2c3d4e5f6",
"task_id": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4",
"opened_by": "developer",
"reason": "The submitted photos do not show the correct storefront. The address number in the photos does not match the task location.",
"evidence_deadline": "2026-02-26T16:00:00.000Z",
"created_at": "2026-02-24T16:00:00.000Z"
}

When a dispute is opened:

  1. Task status changes to disputed
  2. Funds are frozen -- no transfers are processed while the dispute is active
  3. Both parties are notified via email
  4. A 48-hour evidence submission window begins
  5. The task.disputed webhook fires

Evidence Submission

Both parties have 48 hours from the dispute opening to submit evidence.

What Counts as Evidence

Developer evidence:

  • The original task requirements and instructions
  • Screenshots or descriptions of what was expected
  • Comparison between expected and received proof
  • Any relevant communication

Worker evidence:

  • Additional photos or videos from the task location
  • Screenshots showing GPS at the task location
  • Explanation of circumstances (e.g., location was different from description)
  • Timestamps and context

Evidence Guidelines

  • Evidence must be relevant to the dispute
  • Both parties can submit multiple pieces of evidence
  • Evidence submitted after the 48-hour deadline may not be considered
  • All evidence is visible to both parties and the admin reviewer

Resolution Process

After the evidence window closes (or both parties have submitted their evidence), a WorkFunder admin reviews the dispute.

What the Admin Reviews

The admin has access to:

  • Task details: Original title, description, instructions, location, and budget
  • Proof files: All submitted photos/videos with full-resolution access
  • GPS data: Worker's GPS coordinates at proof submission vs. task location, displayed on a map
  • Distance calculation: Exact distance between worker and task location
  • Worker history: Worker's reputation score, task completion history, past disputes
  • Evidence from both parties
  • Task status history: Full timeline of state transitions with timestamps

Resolution Types

ResolutionDescriptionFinancial Outcome
resolved_developerDeveloper wins the disputeFull refund to the developer
resolved_workerWorker wins the disputeWorker receives full payout
resolved_splitPartial resolutionCustom split (e.g., 60% developer / 40% worker)

resolved_developer

The admin determines the work was not completed satisfactorily. The developer receives a full refund of the escrowed budget.

{
"id": "disp_a1b2c3d4e5f6",
"resolution": "resolved_developer",
"resolution_reason": "The photos submitted show a different storefront than the one at the task address. GPS data confirms the worker was 1.2km from the task location.",
"resolved_by": "admin_user_id",
"resolved_at": "2026-02-26T10:00:00.000Z"
}

resolved_worker

The admin determines the work was completed correctly. The worker receives their full payout.

{
"id": "disp_a1b2c3d4e5f6",
"resolution": "resolved_worker",
"resolution_reason": "The photos match the task requirements. GPS confirms the worker was 89m from the task location. The task description was ambiguous about which storefront.",
"resolved_by": "admin_user_id",
"resolved_at": "2026-02-26T10:00:00.000Z"
}

resolved_split

The admin determines both parties share responsibility. The escrowed budget is split according to specified percentages.

{
"id": "disp_a1b2c3d4e5f6",
"resolution": "resolved_split",
"resolution_reason": "The worker was at the correct location but only completed 2 of the 3 required photos. Splitting 40% to developer, 60% to worker.",
"split_developer_percent": 40,
"split_worker_percent": 60,
"resolved_by": "admin_user_id",
"resolved_at": "2026-02-26T10:00:00.000Z"
}

Dispute Timeline

Day 0: Dispute opened

├── Both parties notified via email
├── Task status → disputed
├── Funds frozen

│ 48-hour evidence window

Day 2: Evidence deadline

├── Admin reviews dispute
├── Admin examines proof, GPS, evidence from both sides

Day 2-3: Resolution

├── Admin selects resolution type
├── Both parties notified of outcome
├── Funds disbursed accordingly
└── Task status updated (completed or refunded)

Target Resolution Time

WorkFunder targets dispute resolution within 24 hours of the evidence deadline. Most disputes are resolved within the same business day.

Dispute Limits

  • One dispute per task. Once resolved, a task cannot be disputed again.
  • No appeals in v1. Admin decisions are final. This may change in future versions for high-value disputes.
  • Dispute window is firm. After 48 hours (developer) or 72 hours (worker), the right to dispute expires.

Impact on Reputation

Disputes affect worker reputation scores:

OutcomeImpact on Worker Score
Any dispute opened (regardless of outcome)-5 points
Dispute lost (resolved for developer)Additional -10 points
Dispute won (resolved for worker)No additional penalty
info

The -5 point penalty for any dispute (even when the worker wins) is intentional. It encourages clear communication and high-quality proof submission to avoid disputes altogether. Workers with high reputation scores have a track record of dispute-free completions.

Best Practices

For Developers

  1. Write clear task descriptions. Ambiguous tasks lead to disputes. Be specific about what you need.
  2. Use the instructions field. Provide detailed, private instructions for the worker.
  3. Review proofs promptly. Waiting too long to review proofs can lead to worker disputes.
  4. Provide evidence quickly. If you open a dispute, submit your evidence as soon as possible.

For Dispute Prevention

Most disputes stem from:

  • Unclear requirements -- Task description does not match expectations
  • GPS inaccuracy -- Worker was at the right place but GPS drifted
  • Photo quality -- Blurry or poorly composed photos

Investing time in clear task descriptions and instructions prevents the majority of disputes.

Webhook Events

EventWhen
task.disputedDispute is opened
task.completedDispute resolved for worker
task.refundedDispute resolved for developer