$814 of AI got 25 things done.
Built 10 things, fixed 9 bugs, figured out 3 problems, researched 1 topic, wrote 1 piece, planned 1 thing and went in circles 6 times.
Checked by Chainlink, once a month
On Nov 7, 2026, 2:14 AM, a Chainlink CRE workflow read Payments's receipts straight from Arkiv, checked every signature, added up the signed numbers and asked GitHub whether what shipped is still there (each merged PR still merged, each push to main still in main's history), then wrote the result on Ethereum Sepolia.
Nobody can post or change a score, not even Acme. Only Chainlink's forwarder can post to that contract.
- 1Reads the team's receipts from Arkiv
Straight from Arkiv, not from our server.
- 2Checks every signature
Each receipt's EIP-712 signature against the person it is about. Any that fail are left out.
- 3Adds up the signed numbers
Spend, things done, spend that went in circles, and what shipped.
- 4Asks GitHub about what shipped
Is each merged PR still merged, and each push to main still in main's history?
- 5Writes the score to Ethereum Sepolia
Only Chainlink's forwarder can write to that contract.
- Sepolia
Every score Chainlink has posted for any team, in the contract's events.
Every score on Sepolia Etherscansepolia.etherscan.io - GitHub
The workflow's code, so you can see exactly what each node runs.
The workflow on GitHubgithub.com
How the team worked this week
From log and GitHub timestamps. No AI involved.
Typical time between steps
- Idea to code20mover 26
- Code to commit31mover 18
- Commit to PR9mover 19
- PR to merge36hover 17
From idea to merged: 38h typical, over 17. Time with the AI before writing code: 14h.
Pull requests
19 merged of 28 opened, 3 still open, 4 closed, 2 reverted.
AI cost per shipped change (merged PR or push to main): $21.42
Where the money went
- Shipped $407
- Learning $12.75
- In progress $76.17
- Wasted $318
Waste, by reason
- Plans nobody acted on2$5.02
- Left on the AI's question2
- Went in circles4$160
- Code that never shipped8$153
- Answers stopped midway10
Typical times are the median of each person's median. People are never ranked.
Everyone's week
Ordered by things done. People are never ranked.
You7 things done, $229, 7 shipped changesThings done 7AI spend $229Shipped changes 7Signature checked
Ship features fast, stabilize infra, and document ops
- BuiltCSV export for ledgers$22.21
- BuiltRate limit per API key$40.46
- BuiltCI cache improvements$50.88
- BuiltRefactor fees into pure functions$22.17
- WroteRunbook for incidents$44.54
- FixedWebhook signature checkin progress$17.48
- Figured outSettlement batching mechanics$5.79
- WastedRetry queue for payouts$25.05
Pull requests
| Pull request | Status | AI cost |
|---|---|---|
| docs: runbook for incidents acme-demo/infra#127 | Merged | $34.26 |
| chore: CI cache acme-demo/infra#123 | Merged | $30.08 |
| feat: retry queue for payouts acme-demo/infra#126 | Reverted | $25.05 |
| feat: CSV export for ledgers acme-demo/payments-api#120 | Merged | $22.21 |
| refactor: move fees into pure functions acme-demo/infra#124 | Merged | $22.17 |
| chore: CI cache acme-demo/infra#125 | Merged | $20.80 |
| feat: rate limit per API key acme-demo/infra#128 | Merged | $20.53 |
| fix: webhook signature check acme-demo/infra#121 | Open | $17.48 |
| feat: rate limit per API key acme-demo/payments-api#122 | Merged | $10.73 |
- Signature checked
- Written by 0G private AI, TEE verified, signed as @you.
- Idea to merged 47h
Asha5 things done, $140, 4 shipped changesThings done 5AI spend $140Shipped changes 4Signature checked
Built 1 thing, fixed 4 bugs and went in circles once.
- BuiltSplit payments service$20.18
- FixedTimezone bug in settlement report$65.67
- FixedTimezone bug in settlement report$17.36
- FixedDouble charge on retryin progress$16.17
- FixedNull merchant name in receipts$2.59
- WastedCover payout edge cases$18.37
Pull requests
| Pull request | Status | AI cost |
|---|---|---|
| fix: timezone bug in settlement report acme-demo/infra#141 | Merged | $65.67 |
| refactor: split payments service acme-demo/infra#140 | Merged | $20.18 |
| test: cover payout edge cases acme-demo/payments-api#138 | Closed, not merged | $18.37 |
| fix: timezone bug in settlement report acme-demo/payments-api#137 | Merged | $17.36 |
| fix: double charge on retry acme-demo/web-app#142 | Open | $16.17 |
| fix: null merchant name in receipts acme-demo/web-app#139 | Merged | $2.59 |
- Signature checked
- Written by simple rules, signed as @asha-acme.
- Idea to merged 33h
Meera5 things done, $82.91, 2 shipped changesThings done 5AI spend $82.91Shipped changes 2Signature checked
Built 1 thing, fixed 1 bug, figured out 1 problem, researched 1 topic, planned 1 thing and went in circles once.
- BuiltSplit payments service$13.99
- FixedTimezone bug in settlement report$30.60
- Figured outWhy the webhook test is slow$4.30
- ResearchedQueue options for payouts compared$2.66
- PlannedPlan for splitting the payments service$3.78
- WastedFlaky login redirect$27.58
Pull requests
| Pull request | Status | AI cost |
|---|---|---|
| fix: timezone bug in settlement report acme-demo/web-app#142 | Merged | $30.60 |
| fix: flaky login redirect acme-demo/payments-api#143 | Closed, not merged | $27.58 |
| refactor: split payments service acme-demo/web-app#141 | Merged | $13.99 |
- Signature checked
- Written by simple rules, signed as @meera-acme.
- Idea to merged 39h
Kabir5 things done, $225, 4 shipped changesThings done 5AI spend $225Shipped changes 4Signature checked
Built 2 things and fixed 3 bugs.
- BuiltBump dependencies$57.54
- BuiltRate limit per API keyin progress$42.52
- FixedTimezone bug in settlement report$72.31
- FixedWebhook signature check$37.99
- FixedDouble charge on retry$14.71
Pull requests
| Pull request | Status | AI cost |
|---|---|---|
| fix: timezone bug in settlement report acme-demo/web-app#142 | Merged | $72.31 |
| chore: bump dependencies acme-demo/web-app#143 | Merged | $57.54 |
| feat: rate limit per API key acme-demo/infra#141 | Open | $42.52 |
| fix: webhook signature check acme-demo/payments-api#145 | Merged | $37.99 |
| fix: double charge on retry acme-demo/infra#144 | Merged | $14.71 |
- Signature checked
- Written by simple rules, signed as @kabir-acme.
- Idea to merged 26h
Ravi3 things done, $137, 2 shipped changesThings done 3AI spend $137Shipped changes 2Signature checked
Built 2 things, figured out 1 problem and went in circles 3 times.
- BuiltAdd refund status webhook$43.87
- BuiltRetry queue for payouts$29.74
- Figured outPlan for splitting the payments service$1.24
- WastedRunbook for incidents$27.06
- WastedAdd refund status webhook$24.20
- WastedRate limit per API key$10.82
Pull requests
| Pull request | Status | AI cost |
|---|---|---|
| feat: add refund status webhook acme-demo/payments-api#118 | Merged | $43.87 |
| feat: retry queue for payouts acme-demo/payments-api#121 | Merged | $29.74 |
| docs: runbook for incidents acme-demo/payments-api#117 | Closed, not merged | $27.06 |
| feat: add refund status webhook acme-demo/web-app#120 | Closed, not merged | $24.20 |
| feat: rate limit per API key acme-demo/infra#119 | Reverted | $10.82 |
- Signature checked
- Written by simple rules, signed as @ravi-acme.
- Idea to merged 38h
Where this data comes fromSigned receipts on Arkiv
Shared receipts live on Arkiv (testnet Rabdi) as read-only entities of schema receipts-ethglobal-mumbai.receipt.v2, each owned by the person who signed it. Anyone can read them, so this page does not depend on our server, and every receipt is checked against its signature before it counts. 5 receipts for this team found on Arkiv right now, plus 20 signed demo receipts from the repo.
arkiv.schema = str('receipts-ethglobal-mumbai.receipt.v2') AND type = str('receipt') AND team = str('acme-payments')