Shared pool
How pool allocation works
The shared pool releases AI capacity to eligible repositories on a published schedule. This page explains the current formula. It is not a promise that a repository will receive an allocation.
Weekly release
Every Monday at 09:00 UTC. The run starts with the pool balance recorded for that week.
- Set the release. The release is the lower of 10% of the opening pool balance and $30.00 for each eligible repository, in whole cents.
- Share 20% equally. This is the floor slice, divided among eligible repositories. Any cents left by equal division stay in the pool.
- Score the remaining 80%. This score slice is divided in proportion to the score below. Its cents use largest-remainder rounding.
- Apply the $50.00 cap. A repository receives no more than $50.00. The $30.00 for each eligible repository only sets the size of the release. It is not a per-repository amount or cap. Capacity held back by the cap is not redistributed.
- Apply the $1.00 minimum. After the cap, a final per-repository amount below $1.00 is not distributed. It is not redistributed in that run and stays in the pool for a later run.
The pool does not release more than its opening balance. The release can be larger than the capacity actually allocated, because the cap, the minimum, and rounding hold some of it back. If the pool is not positive or no repository is eligible, no capacity is released. Any amount not allocated, including rounding remainders, cap remainders, and minimum holdbacks, stays in the pool for a later run.
Score formula
Each term is its current weight multiplied by its transform, then the terms are added together. A count or amount below zero is treated as zero. For a repository that has been funded, the utilization ratio is spend in the last 30 days divided by that spend plus remaining capacity; it is kept between 0 and 1. A repository that has never been funded uses 1 instead, as explained below.
| Input | Source | Window | Transform | Weight |
|---|---|---|---|---|
| Commits to the default branch, including automated and AI-agent commits | Public GitHub data | Last 30 days | ln(1 + count) |
3 |
| Utilization: 1 until the repository is first funded, then the measured ratio | Our ledger and gateway spend | Funding history: lifetime. Spend: last 30 days | Direct value from 0 to 1 |
5 |
| Open pull requests by non-owners | Public GitHub data | Current | ln(1 + count) |
1.5 |
| Stars | Public GitHub data | Current | ln(1 + count) |
1 |
| Open issues, excluding pull requests | Public GitHub data | Current | ln(1 + count) |
1 |
| Direct boost payments | Our ledger | Last 90 days | ln(1 + count) |
1 |
| Distinct human contributors | Public GitHub data | Last 30 days | ln(1 + count) |
0.5 |
A score refresh reads public GitHub statistics separately from the weekly release. The allocation run recalculates the score using the current configured weights.
Repositories that have never been funded
A repository that has never received a direct boost or a pool allocation gets the full utilization term: its weight multiplied by 1, currently 5 points. From its first credited direct boost or pool allocation onward, its measured utilization sets the term instead.
Funding history belongs to the repository and covers its whole lifetime. Boosts to the developer's personal page or to other repositories do not count, and the 90-day count of direct boost payments plays no part. Later refunds, disputes, expiry, or a new key do not make a repository new again.
This rule changes one score term only. The full term does not mean the repository used any capacity, it does not add up from week to week, and the repository can still receive no allocation.
Eligibility gates
Scoring happens only after every gate below passes. A repository that misses a gate is skipped for that week.
- It is an active repository recipient with a gateway key. Personal developer recipients are not eligible.
- Its claimant account and current GitHub owner are not operator accounts.
- The latest stored badge check found the boostmyagents badge in its README.
- Its remaining capacity is below $100.00. For a funded repository, remaining capacity is also used with recent spend to calculate the utilization score term above.
- Its latest public GitHub read did not find the repository gone.
- Its stored score inputs are no more than 14 days old. Failed reads do not replace prior inputs.
Hypothetical score example
This illustrative repository has been funded before. It has 20 commits, 75% utilization ($30 spent in the window and $10 remaining), 3 open non-owner pull requests, 100 stars, 8 open issues, 5 direct boost payments in the last 90 days, and 2 distinct human contributors. It is an example only; these signals are allocation inputs, not a measure of project quality.
ln(1 + count) gives each additional count diminishing returns: the first few count more than later ones.
| Term | Input | Calculation | Contribution |
|---|---|---|---|
| Commits | 20 | 3 × ln(1 + 20) | 9.13 |
| Utilization | 75% ($30 spent / ($30 spent + $10 remaining)) | 5 × 75% | 3.75 |
| Open pull requests by non-owners | 3 | 1.5 × ln(1 + 3) | 2.08 |
| Stars | 100 | 1 × ln(1 + 100) | 4.62 |
| Open issues | 8 | 1 × ln(1 + 8) | 2.20 |
| Direct boost payments | 5 in the prior 90 days | 1 × ln(1 + 5) | 1.79 |
| Distinct human contributors | 2 | 0.5 × ln(1 + 2) | 0.55 |
| Illustrative score | 24.12 | ||
For comparison, a repository with the same GitHub signals that has never been funded has no capacity and no direct boost payments. Its utilization term uses 1:
| Term | Input | Calculation | Contribution |
|---|---|---|---|
| Utilization | Never funded | 5 × 1 | 5.00 |
| Direct boost payments | 0 | 1 × ln(1 + 0) | 0.00 |
| Other five terms | Same as above | Unchanged | 18.57 |
| Illustrative never-funded score | 23.57 | ||
Hypothetical allocation example
With an opening pool of $1000.00 and 4 eligible repositories with illustrative scores of 40, 30, 20, and 10, the current formula creates a $100.00 release budget. It splits $20.00 equally and $80.00 by score.
| Repository | Illustrative score | Equal share | Score share | Final allocation |
|---|---|---|---|---|
| Repository A | 40.00 | $5.00 | $32.00 | $37.00 |
| Repository B | 30.00 | $5.00 | $24.00 | $29.00 |
| Repository C | 20.00 | $5.00 | $16.00 | $21.00 |
| Repository D | 10.00 | $5.00 | $8.00 | $13.00 |
| Actually allocated | $100.00 | |||
No capacity is held back in this illustrative run. A release budget is not an entitlement: caps, the minimum, and rounding can leave money in the pool without redistribution.
For a second example, $5000.00 with one eligible repository creates a $30.00 release budget and $30.00 is allocated in this illustration.
What this page does not publish
We do not publish live scores, recipient names or identifiers, usage, balances, funding history, supporter messages, or prompt contents. We do not inspect prompts to prove repository attribution.
Help power open-source work. Boost the shared pool.