Skip to main content

Plugin Bounties

How the nself plugin bounty system works, submit requests, vote, fund, and ship.

The bounty system lets the community pool money to fund specific plugin development. You post a request, others vote and pledge, and ɳSelf builds the winner.

How it works

1. Submit a request. Any nself account holder can submit a plugin request at nself.org/bounties/new. Describe what the plugin should do and why it’s valuable.

2. Vote. Every logged-in user gets one vote per request. Votes are toggleable, cast and retract at any time while a bounty is open.

3. Pledge funds. The Pledge button on each bounty detail page redirects to the ɳSelf GitHub Sponsors page. Pledges are tracked and added to the bounty pool.

4. ɳSelf accepts the bounty. When a bounty crosses the $50 funding threshold and enough votes, ɳSelf marks it in_progress and begins development.

5. Plugin ships. Once complete, ɳSelf marks the bounty shipped, records the plugin slug, and the plugin becomes available via nself plugin install <name>.

Bounty statuses

StatusMeaning
openAccepting votes and pledges
fundedPool reached the $50 threshold
in_progressɳSelf accepted and is building it
shippedPlugin is live, install via CLI
closedRequest withdrawn or rejected

Pledging

Pledges go through the ɳSelf GitHub Sponsors page. The minimum pledge is $5. Pledges are tracked manually from GitHub Sponsors and added to each bounty’s pool total. There is no automatic payment processing, ɳSelf manually transfers payment to contributors after shipping.

Payout

Payout goes to the plugin author after ɳSelf ships the plugin, not before. payout is handled via Stripe transfer on the ship event.

API

The bounty API is available at ping.nself.org/api/bounties:

GET  /api/bounties              List (sort: votes|bounty|newest|shipped, filter: status)
GET  /api/bounties/stats        Pool total, open count, shipped count
GET  /api/bounties/leaderboard  Top voters and pledgers
GET  /api/bounties/:id          Single bounty detail
POST /api/bounties              Create a request (auth required)
POST /api/bounties/:id/vote     Toggle vote (auth required)
POST /api/bounties/:id/ship     Mark shipped (bounty_admin role only)

All write endpoints require authentication via x-hasura-user-id header (set automatically by the ɳSelf Nginx session layer).

Admin role

The bounty_admin Hasura role can update bounty status and mark bounties shipped. Assign via the user’s role column in the users table. This role is internal to ɳSelf team members.

Leaderboard

The leaderboard at nself.org/bounties/leaderboard shows the top 10 voters by vote count and the top 10 pledgers by total amount pledged.