Skip to content

Committee Operations

The committee (worker proposal) system lets community members request funding from the committee fund. SHARES holders vote to approve or reject requests; approved requests receive a payout from the fund.


committee_worker_create_request_operation (ID 35)

Auth: regular of creator

Creates a new funding request. A committee_create_request_fee is charged to the creator on submission.

FieldTypeDescription
creatoraccount_name_typeAccount creating the request
urlstringURL describing the proposal (non-empty, max 255 bytes)
workeraccount_name_typeAccount that will receive the payout
required_amount_minasset (VIZ)Minimum acceptable payout
required_amount_maxasset (VIZ)Maximum acceptable payout
durationuint32_tRequest duration in seconds
json
[35, {
  "creator": "alice",
  "url": "https://alice.example.com/proposal",
  "worker": "alice",
  "required_amount_min": "100.000 VIZ",
  "required_amount_max": "500.000 VIZ",
  "duration": 604800
}]

Constraints:

ParameterValue
Minimum duration5 days (432000 s)
Maximum duration30 days (2592000 s)
required_amount_maxMust be > required_amount_min
  • required_amount_min ≥ 0; required_amount_max > required_amount_min.
  • worker may differ from creator.

committee_worker_cancel_request_operation (ID 36)

Auth: regular of creator

Cancels an existing funding request before it expires.

FieldTypeDescription
creatoraccount_name_typeCreator of the request
request_iduint32_tID of the request to cancel
json
[36, {
  "creator": "alice",
  "request_id": 42
}]
  • Only the creator of the request can cancel it.
  • request_id must refer to an existing active request.

committee_vote_request_operation (ID 37)

Auth: regular of voter

Votes on a funding request. Voting power is proportional to the voter's SHARES stake.

FieldTypeDescription
voteraccount_name_typeAccount casting the vote
request_iduint32_tID of the request
vote_percentint16_tVote weight in basis points (−10000 to 10000)
json
[37, {
  "voter": "bob",
  "request_id": 42,
  "vote_percent": 10000
}]
  • vote_percent > 0 → support; vote_percent < 0 → oppose; vote_percent = 0 → remove vote.
  • A request is approved when weighted net vote percent ≥ committee_request_approve_min_percent chain property.

Virtual operations triggered by committee lifecycle:

Virtual OpTrigger
committee_cancel_request_operationRequest expires without approval
committee_approve_request_operationRequest reaches approval threshold
committee_payout_request_operationPayout is processed
committee_pay_request_operationWorker receives payment

See also: Data Types, Operations Overview, Virtual Operations, Committee Governance.