← Back to Taskify

How Taskify works

The full protocol reference. For quick answers, see the FAQ instead.

Overview

Taskify is an on-chain bounty board on Mezo. Owners post tasks and lock MUSD (or MEZO) in escrow, contributors apply and get paid on approval, and Patrons fund a shared grant pool and vote on which grant-funded tasks get built.

Every step that matters — escrow, experience gating, payout, voting weight — is enforced by the Taskify smart contract itself, not by a central party. Nobody, including the Taskify team, can move escrowed funds outside the paths the contract allows.

Task types

Every task is one of two kinds, chosen at creation and fixed for its lifetime:

  • Development — a single contributor applies, the Owner picks one assignee from the applicants, and the full escrow (minus fee) releases to them when their submission is approved. Gated by an experience-tier range the Owner sets.
  • Community — open to any registered wallet, no experience gate. Anyone joins with a proof-of-participation link (a post, a write-up, a PR — whatever the task asks for). The Owner reviews submissions off-chain and picks up to maxWinners addresses; the escrow splits evenly between them in one transaction.

Funding types & fees

Development tasks can be funded one of two ways:

  • Self-funded — the Owner deposits the full bounty themselves at creation. 3% protocol fee.
  • Grant-funded — the Owner proposes the task with no upfront deposit. If patrons approve it by vote (see below), MUSD is drawn from the shared grant pool automatically. 5% protocol fee.

Community tasks are always self-funded (3%) — grant-funded Community tasks aren't supported yet.

Every fee splits the same way: 60% to the protocol treasury, 40% into the current wave pool.

Task lifecycle

A task moves through a fixed set of on-chain statuses. The exact path depends on how it's funded and what kind it is:

Development, self-funded:
Open → Assigned → In Progress → Submitted → Payment Released
(Open can also go to Cancelled or Expired; Submitted can go back to Open via a rejected submission.)

Development, grant-funded:
Grant Pending → (vote) → Open → Assigned → In Progress → Submitted → Payment Released
(Grant Pending resolves to either Open, on approval, or Grant Rejected.)

Community:
Open → Payment Released (via selectWinners, once)
(Open can also go to Cancelled or Expired before any winners are picked.)

A creator can cancela self-funded task before it's assigned, refunded minus the fee. Anyone can call markExpiredon a task past its deadline that hasn't reached Submitted — this never touches work that's already been delivered or a grant proposal that was never funded.

Experience tiers

Contributors declare a tier at registration (self-attested, changeable once a day). Development tasks set a minimum and maximum tier at creation — the contract checks the match on-chain when a contributor calls applyForTask, not just in the UI.

TierExperience
Newcomer0 – 1 year
Junior1 – 2 years
Mid-level2 – 3 years
Senior3 – 5 years
Expert5+ years

Community tasks skip the experience gate entirely — anyone registered can join.

Grant voting & veBTC

Taskify doesn't custody anything for governance. Voting weight is read live from your veBTC position on Mezo Earn — lock BTC there to mint veBTC, and pair it with a veMEZO lock via Mezo's Matching Market to boost weight up to 5x. It's completely decoupled from MUSD deposits: depositing into the pool funds grants and earns Patron tiers, but grants no votes on its own.

Each grant proposal opens a 3-day voting window and fixes a snapshot — both the timestamp and the veBTC contract address — the moment it opens. Locking veBTC after a vote has started doesn't let you swing it, and the snapshot can't be affected by a later change to which contract Taskify reads from.

A proposal passes at 70% support of cast weight. Grant voting is currently in an invite-only pilot: holding real veBTC weight is necessary but not sufficient — only wallets the project owner has explicitly approved can cast a vote. Reach out via @taskifyhq if you hold veBTC and want to be considered.

Patron tiers & wave rewards

Any registered wallet can deposit MUSD into the shared grant pool (minimum 50 MUSD), independent of role or voting status. Cumulative deposits unlock a tier:

TierTotal deposited
Bronze100+ MUSD
Silver500+ MUSD
Gold1,000+ MUSD
Diamond5,000+ MUSD

Separately, every self-funded task's fee sends 40% into a rolling wavepool. Every 30 days, the wave closes and that pool splits among the wave's self-funded creators, proportional to how many tasks each one posted — a small ongoing incentive for creators who keep the board active. Grant-funded tasks contribute fees to the wave pool too, but don't count toward any creator's share.

Escrow & wallet safety

Funds move only through the Taskify contract: MUSD or MEZO locks in at task creation and only leaves escrow when the Owner approves submitted work, a task is cancelled before assignment, or a task expires past its deadline. There's no custodial intermediary holding funds at any point, and Taskify only ever requests an approval for the exact amount about to be escrowed — never unlimited.

For wallet setup and phishing-safety guidance, see the Wallet safety section of the FAQ.

Read the FAQ →Terms & Conditions →Privacy Policy →