Polkadot-JS Guides about Bounties
See this page to learn about Bounties.
Remember always to notify the Polkadot Direction Element Channel about OpenGov referenda so that the community can start reviewing them and voting on them.
Submit a Bounty Proposal
See this written tutorial to learn more about how to submit a bounty proposal.
See the video tutorial below to learn how you can create a bounty and submit it for approval through an OpenGov referendum.
When you add a bounty, this will show as "proposed" in the main Bounties page. Once the community approves your bounty proposal as an OpenGov referendum, the bounty will show as "funded" at the end of the spending period on the main Bounties page. You can then proceed with assigning curators to the bounty.
To minimize storage on chain in the same way as any proposal, bounties don't contain contextual information. When a user submits a bounty spending proposal, they will need to find an off-chain medium to explain the proposal, for example a bounty proposal document on Polkassembly or Subsquare. This template can be used to submit all the information needed by OpenGov voters to make an informed decision.
Submitting a bounty proposal will require a deposit.
Assign a Curator to a Bounty
See this written tutorial to learn more about how to assign a curator to a bounty.
Once your bounty is shown as "funded" on the main Bounties page, you can propose a bounty curator. The referendum must be submitted on the same track used for proposing the bounty or a track with a higher spending limit (see the code snippet). For example, if the bounty was submitted to the Medium Spender Track, the curator must be proposed using the same track or the Big Spender or Treasurer tracks. See the video tutorial below to learn how you can add a curator to a bounty and submit it for approval through an OpenGov referendum.
Once your OpenGov referendum has been approved by the community and served the required
spending period, the bounty will still show as "funded" on
the main Bounties page and await the curator's
acceptance. The curator must formally accept the curator role by signing a bounties.acceptCurator
extrinsic. More information about when to do this can be found on the main
Bounties page. Only after the curators claim their
candidacy the bounty will show as "active" on the main Bounty page.
Curator assignment must take place after the bounty has been funded, and approved bounties are funded after a spend period has been completed. A curator assignment referendum cannot be executed during the same spend period when the bounty is funded.
If your bounty has been awarded but is not funded yet, you need to make sure that the curator assignment referendum gets enacted in the subsequent spending period (you can set a delay in Polkadot-JS when you submit the proposal during the current spend period).
Create and Award Child Bounties
See this written tutorial to learn more about how to create and award child bounties.
When you add child bounties, please add contextual information on the governance forums Polkassembly or Subsquare.
See the video tutorial below to learn how to create a child bounty, assign a curator, and award a child bounty.
The video will show how to create and award a child bounty using a batch call. We will also include proposing and approving curator candidacy for the child bounty. The calls can be executed separately, depending on the process curators consider appropriate for their bounty.
Once a child bounty is awarded, awardees can claim the child bounty.
Claim a Child Bounty Reward
See this written tutorial to learn more about how to claim a child bounty reward.
The status of child bounties can be viewed on the Polkassembly Bounty page under the specific parent bounty. A child bounty status can be "Added", "Awarded", or "Claimed". For example, the parent bounty 17 refers to the Community Events Bounty, which has 183 child bounties.
After the child bounty has been rewarded, follow the guidelines in the video tutorial below to learn how to claim a child bounty reward. Note that the extrinsic to claim the child bounty reward is permissionless, and anyone can initiate the claim on behalf of the beneficiary.
Close Child Bounties
Child bounties can be closed without awarding them. To close a child bounty, you must submit a
childBounties.closeChild.Bounty
extrinsic, specifying the parent bounty and child bounty IDs. Only
the parent bounty curator can sign this transaction, resulting in the child bounty’s curator deposit
being returned.
See the video tutorial below to learn how to close a child bounty.
If the child bounty curator acts maliciously, the parent bounty curator can submit a
childBounties.unassignCurator
that slashes the curator's deposit.
Refill Parent Bounties
To refill a parent bounty, an OpenGov referendum must be submitted.
The preimage must contain a treasury.spendLocal
extrinsic specifying the amount of tokens to be
sent from the treasury to the receiver's address, in this case the
system account of the
parent bounty.
To get the bounty system account of a parent bounty, go to Subsquare, search for the bounty name, and the address will be shown under Metadata.