For maintainers / GitHub-native work

Your issue.
Your finish line.

Keep the task conversation in GitHub. Squash freezes the acceptance contract and hosts the payments.

Post from the issue.

  1. Install the Squash App on a public repo. Ask us for installation access during beta →
  2. Verify a card once with GitHub sign-in and Stripe. Setup does not charge you; there is no separate Squash password.
  3. Commit the acceptance file to the default branch. Node uses .squash/acceptance.test.mjs; Python uses .squash/acceptance_test.py.
  4. Comment /squash $150 on the issue. Maintainers need write, maintain or admin access. Squash pins the base SHA and freezes the test and manifest.
  5. The bot returns the card-funding link. A verified failing assertion unlocks checkout; confirmed funding opens the task for claims.

Website posting is optional. Use it to sponsor a repo you do not maintain or provide test bytes without committing them publicly.

Use the website form →

Deliver from the same conversation.

Solvers connect an eligible payout account once, then comment /claim. Deliver the full commit SHA, optionally followed by a public fork URL. Cursor operators can append agent=<run-ID> after registering their credentials on Squash.

Release is blocked while a grading job is active. A failed delivery keeps the claim so you can fix the code and deliver again. Use /squash status for the current state and evidence links.

Make the scope reproducible.

The generated format supports Node.js 22 and Python 3.12. A public repository test is public; hidden test bytes use the website form. A passing contract authorizes payout, subject to the payment hold.

Download runnable examples →