Skip to Content
🚀 Fund the work, merge the proof, release the reward. Learn more →
Command Cheat Sheet

Command Cheat Sheet

The bot is @trustless-oss. Mention it anywhere in an issue or PR comment, followed by a command. Commands are case-insensitive, and a leading slash is optional — @trustless-oss pay 70 and @trustless-oss /pay 70 both work.

Comment a command on the bounty issue. Payout and reject commands also work on a PR comment, as long as the PR body links the issue (Closes #123).


Maintainer commands

Only repository owners, members, and collaborators can run these. Comments from anyone else are ignored for privileged commands.

GoalCommandWhat happens
Set a manual bounty amount@trustless-oss 150Sets the reward to 150 USDC. Works while the issue is still open or assigned-but-unlocked.
Split the payout@trustless-oss pay 70Saves a 70/30 split. On merge, the contributor gets 70%, you get the remaining 30% back.
Reject the work@trustless-oss rejectDisputes the milestone, refunds the escrow to your wallet, and cancels the bounty.
Force a re-check@trustless-oss retryRe-runs the automation now. Rarely needed — payouts advance on their own.
Comment on the bounty issue
@trustless-oss 150
↳ Sets a manual bounty to 150 USDC. The issue must have the 'rewarded' + 'manual' labels, or you can set the amount before adding a difficulty label.
Comment on the bounty issue or the linked PR
@trustless-oss pay 70
↳ Saves a split. On merge the contributor receives 70% and 30% returns to you. Percentage must be 1–99. Change it anytime before merging.
Comment on the bounty issue or the linked PR
@trustless-oss reject
↳ Rejects the work, refunds escrow to your wallet, and cancels the bounty. Irreversible.

Aliases. pay also accepts split, work, work-completion, and completion. reject also accepts rejected, no, and invalid. Stick to pay and reject — the aliases exist so the bot is forgiving, not so you have to remember them.


Contributor commands

Anyone can run these.

GoalCommandWhat happens
Connect or change your payout wallet@trustless-oss walletThe bot replies with a personal link to connect (or switch) your Stellar wallet for this bounty.
Comment on the bounty issue
@trustless-oss wallet
↳ The bot replies with a link to connect or update the wallet that will receive this bounty's payout.

wallet also accepts address, connect, change-address, ch-wallet, ch-address, and ch-add. They all do the same thing: return your connect link.


Anyone

GoalCommandWhat happens
List the commands@trustless-oss helpThe bot posts the full command list in the thread.
Comment on any issue or PR
@trustless-oss help
↳ Posts the command list as a comment. Also accepts 'h' and '--h'.

Labels

Labels are how an issue becomes a bounty. The bot reads them from GitHub webhook events.

LabelRoleNotes
rewardedRequired. Turns the issue into a bounty.Pair it with exactly one difficulty label.
low / medium / highReward tier.Uses the USDC amount you configured for that tier in the dashboard.
manualReward set per-issue.Set the amount with @trustless-oss <amount> or by putting the amount in the issue body.
rejectedCancels the bounty.Same effect as @trustless-oss reject: refunds escrow and cancels.

Tiers are just labels with an amount. The dashboard ships three defaults — low, medium, high — but you can rename them, delete them, or add your own tiers mapped to any GitHub label. See Set reward tiers.

rewarded on its own, with no difficulty label and no amount, creates an unpriced bounty. It stays inactive until you add a tier label or set a manual amount. Funds are only reserved once the bounty has an amount.


How the amount gets locked

Understanding this prevents most “why didn’t it update?” confusion.

  1. While the issue is open (or assigned but not yet locked on-chain), you can change the reward freely — relabel it, or comment a new manual amount.
  2. Once a contributor connects a wallet and the milestone is pushed on-chain, the amount is locked. Relabeling or re-commenting an amount after that is ignored, because the database and the escrow contract must stay in sync.

Next: Troubleshooting · How payouts work

Last updated on