Skip to content

Epic: Bounty Configure wizard (organizer host-a-bounty flow) #603

Closed

Description

@0xdevcollins

Context

Boundless Bounty pillar, Configure phase wizard (organizer "host a bounty") in the legacy v1 app boundless. The app is REST-only (openapi-fetch + axios; no GraphQL). This flow mirrors the existing hackathon Configure wizard and reuses the escrow runner, prize math, and wallet/treasury layers. AI assist is deferred.

Depends on the backend draft endpoints for the draft DTOs: boundlessfi/boundless-nestjs milestone Bounty Configure (Host a Bounty) (#310-#317, key dependency boundlessfi/boundless-nestjs#313). The bounty escrow paths/DTOs are already in lib/api/generated/schema.d.ts, so the escrow client is unblocked.

Wizard (5 steps)

Scope -> Mode -> Submission Model -> Reward -> Review & Publish. The ModeTab (two-axis picker) and SubmissionModelTab (mode-conditional fields) are net-new with no hackathon analog; the rest mirror the hackathon tabs.

Plain taxonomy (see boundless-nestjs#317)

claimType (Single claim / Competition) x entryType (Open / Application (light) / Application (full)). A Competition pays a single winner or multiple winners (1-3 prize positions).

Mode -> field matrix (drives ModeTab + SubmissionModelTab)

Field Open + single claim Open + competition App (light) + single claim App (light) + competition App (full) + single claim App (full) + competition
entryType OPEN OPEN APPLICATION_LIGHT APPLICATION_LIGHT APPLICATION_FULL APPLICATION_FULL
claimType SINGLE_CLAIM COMPETITION SINGLE_CLAIM COMPETITION SINGLE_CLAIM COMPETITION
submissionVisibility ORGANIZER_ONLY HIDDEN (forced) ORGANIZER_ONLY HIDDEN (forced) ORGANIZER_ONLY HIDDEN (forced)
reputationMinimum required hidden hidden hidden hidden hidden
applicationWindowCloseAt hidden hidden required required required required
maxApplicants hidden required (>=2) optional optional optional optional
shortlistSize hidden hidden optional required (>=2) optional required (>=2)
submissionDeadline required required required required required required
Prize tiers (winners) 1 1-3 1 1-3 1 1-3

Blueprint to mirror

  • features/hackathons/*
  • app/(landing)/organizations/[id]/hackathons/*
  • components/organization/hackathons/new/*
  • hooks/use-hackathon-{steps,draft,publish}.ts
  • Reused as-is: lib/utils/hackathon-escrow.ts, lib/config/tokens.ts, lib/wallet/wallet-kit.ts, components/providers/wallet-provider.tsx, features/treasury/, the useEscrowOpRunner primitive.

Tasks

Verification (testnet)

Create a draft in each of the six combinations, save + resume, publish MANAGED (draft -> draft_awaiting_funding -> open), confirm one winner for single claim and the multi-position split for a competition, and confirm the negative gate checks block (competition shortlistSize < 2, open + single claim missing reputationMinimum, application entry type missing applicationWindowCloseAt).

Out of scope

Bounty Operate / Decide / Payout, AI "Draft with AI", category / tags, builder-facing discovery and apply.

Activity

  1. linear commented on Jun 15, 2026

    @linear
  2. coderabbitai commented on Jun 15, 2026

    @coderabbitai
    🔗 Related PRs

    #379 - Feat/abstract wallet [merged]
    #503 - Feat/improved rewards tab [merged]
    #505 - Feat/improved rewards tab [merged]
    #576 - fix(rewards): show track winners on the organizer rewards page [merged]
    #586 - fix(submissions): unbreak submission detail page + publish hackathon recap [merged]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

  3. rayj6 commented on Jun 15, 2026

    @rayj6

    Hi! I would like to work on these bounties. I am from Scarlet Technology (scarlet-technology.com), a professional software development company with strong Next.js, TypeScript, and frontend experience. I can deliver the full Bounty Configure wizard flow.

    Please let me know how to get started with the bounty process for this repo. Looking forward to contributing!

  4. Idrhas commented on Jun 15, 2026

    @Idrhas

    Hi, I'd like to work on this issue, I have experience with the relevant technologies and ecosystem and have previously contributed to similar issues. I’m comfortable working with the codebase and familiar with standard practices.

  5. manasehstephen131-ops commented on Jun 15, 2026

    @manasehstephen131-ops

    I am a motivated developer with experience working on code issues, debugging, and contributing to projects. I work with JavaScript and Next.js, among other tools, and I’m comfortable understanding existing codebases and implementing solutions efficiently.

    I am proactive, quick to learn, and committed to delivering quality work while continuously improving my skills.

  6. dorisadams commented on Jun 15, 2026

    @dorisadams

    i would love to work on this issue, please me,

  7. Senorespecial commented on Jun 15, 2026

    @Senorespecial

    i would love to work on this issue, please me,

  8. Arome8240 commented on Jun 15, 2026

    @Arome8240

    Can I work on this?

  9. akintewe commented on Jun 16, 2026

    @akintewe
    Contributor

    I've been creating intricate forms and e-commerce systems for more than four years as a full-stack developer. I have designed inventory management systems for agricultural enterprises and have experience with image processing and large-scale state management. I have also worked on this project in the past.
    My ETA is one hour, and I would love to work on this problem.

  10. self-assigned this
    on Jun 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions