How to run a bounty board in Discord with Open, Claimed and Completed status
The simplest Discord bounty board bot is a table with a title, a reward and a status of Open, Claimed or Completed, plus a member column for who took the job. CordBase, which we build, ships that as its Bounty Board template, and members post, claim and look up bounties with slash commands instead of editing a pinned message.
The same shape works for commissions, job boards and request queues. It also has limits: no claim buttons, no notifications and no payments. Those are covered below, along with what to use instead.
What you'll end up with
- A
/bounty-boardcommand withadd,query,view,updateandleaderboardactions. - One row per bounty: title, description, reward (a number), status and assigned to (a user column). That covers the usual ask of a username, an objective, a reward and a status.
- Role permissions for who can read, post and change bounties.
- An Open-bounties lookup anyone can run in one command.
Step 1: Install the template
- Sign in at cordbase.gg with Discord, pick your server, and add the bot when the dashboard asks.
- Open the Bounty Board template and click Use this template. You need Manage Server on the server you pick.
- The table arrives with five columns: Title (text, required), Description (text), Reward (number, required), Status (choice: Open, Claimed, Completed; required) and Assigned To (user).
The template says Completed, not Closed. If you want Closed, open the table's edit page before you post anything and change the Status choices. Rows saved earlier keep their old text, so they won't match a renamed choice. It counts as one of the two tables on the Free plan. See templates for what you can change after installing.
Step 2: Decide who can post, claim and close
Permissions are set per table, in three levels. Read allows query, view and leaderboard. Write adds add and update. Admin adds delete and the bulk actions. Until you assign any role, every member can run everything, including delete.
A sensible setup:
- Give the role all members have (for example @Member) read.
- Give your staff role write so they can post bounties.
- Keep admin for whoever deletes old bounties.
Be aware of what this can't do. Claiming a bounty is an update, the same permission as posting one, and it applies to every row. You can't let members claim without also letting them post and edit any bounty. Nothing checks that Assigned To is the person running the command. Your choices:
- Staff-only changes. Members ask in chat and staff run the
update. Safest, most manual. - Members get write. Members claim for themselves, and you trust the group not to touch each other's bounties.
- Two tables. Staff post in Bounty Board and members log claims in a second table you create. Free plans have exactly two tables.
Discord Administrators always have full access, and once any role is set, members without a listed role can't use the table at all. See tables and permissions.
Step 3: Post and claim
/bounty-board add title:Clear the Ashen Caves description:Kill the boss and post a screenshot reward:500 status:Open
The reply is posted in the channel where you run the command, so run it in your bounties channel. Use a unique title for each bounty: the row picker in later commands searches by title.
When someone takes it, start typing in the row option and pick the bounty:
/bounty-board update row:Clear the Ashen Caves status:Claimed assigned_to:@Kai
When it's done:
/bounty-board update row:Clear the Ashen Caves status:Completed
Only the fields you give are changed. The _mode option matters only for numbers: reward:100 _mode:Increment adds 100 to the current reward, and Set (the default) replaces it.
Step 4: Find open bounties
/bounty-board query status:Openlists open bounties. Status is a menu, so nobody types it wrong./bounty-board query status:Claimed assigned_to:@Kailists what Kai is working on. Filters combine./bounty-board view row:Clear the Ashen Cavesshows one bounty in full, including who created it./bounty-board leaderboard column:rewardranks bounties by reward. It ranks every row, not just open ones.
Results show the newest first, 10 by default and up to 25 with limit. The list shows only the first four columns (title, description, reward, status), so Assigned To appears in view, not in query. On Pro, you can save an "Open bounties" view in the dashboard (status equals Open) and run /bounty-board saved-view name:Open bounties.
Commissions, job boards and request queues
- Commissions: add a Requester member column on the edit page. Assigned To becomes the artist, and Reward becomes the agreed price as a plain number.
- Job board: the template works as is. Put pay in Reward and requirements in Description.
- Request queue: the Task Board template has task, assignee, priority, status (Todo, In Progress, Done) and due date.
Dates are stored as typed (YYYY-MM-DD) and nothing acts on them, so a deadline column is a label, not an expiry.
When something else fits better
- If you want a Claim button on each post, use a bot built around buttons. CordBase has none.
- If each commission needs a private conversation, a ticket bot such as Ticket Tool fits better. A forum channel with a post and tags per bounty also works with no bot.
- CordBase does not take payments, hold escrow or pay rewards. The reward is a number in a table. If rewards are in-server currency, an economy bot such as UnbelievaBoat handles balances.
Limits worth knowing
- CordBase doesn't notify anyone when a status changes. Nothing is pinged, DMed or reminded.
- Free: 2 tables, 100 rows each. Completed bounties stay as rows until an admin deletes them, so free boards fill up. Pro ($8/month) allows unlimited tables, 10,000 rows per table, saved views and bulk actions.
- Up to 25 columns per table, and keep select lists to 25 choices or fewer (Discord's limit).
- Tables are designed on the web. Members can't create them from Discord.
- Command syntax is in the commands reference.
Questions people ask
Can members claim a bounty with a button?
No. CordBase has no buttons on posts. Claiming is the update slash command, with the status and assigned_to options. If you need a one-click Claim button, use a bot built for that.
Will anyone be notified when a bounty is claimed or completed?
No. CordBase sends no pings, DMs or reminders when a status changes. The update is posted in the channel where the command is run, and members can check with /bounty-board query status:Open.
Can I use Closed instead of Completed?
Yes. The Bounty Board template uses Open, Claimed and Completed, but the Status choices can be edited on the table's edit page. Change them before posting bounties, because existing rows keep their old text.