Google Cloud Billing Audit — 2026-04-20
*By Claude for Chrome · Billing account "Integrations" · 6 projects · 8 API keys · $53.62 accrued.*
Executive summary (what actually matters)
1. The spend is NOT a leak. It's two known events compounded: (a) TP3 bulk backfill March 24–26 that loaded your OMI history into the vector DB — a one-time cost; (b) Grind project's Imagen runs on April 16–18. Both were intentional.
2. TP3-Neural-Stack project is at 98% of its $75 cap — with 10 days left in April. Needs cap raise OR acceptance that services will pause briefly.
3. 3 projects have NO spend cap set — Omi Integration, OMI Organized, Omi to Captain's Log. Attack surface if any key leaks.
4. Rate limits breached on TP3-Neural-Stack for 3 models (TTS, Embedding, Flash 3). Causing 429 errors under spike load.
5. No backup payment method on file. If Amex ••1005 declines, 6 projects go dark.
Project inventory
| Project | GCP ID | Keys | Apr Spend | Cap | Status |
|---|---|---|---|---|---|
| Bidet-AI | gen-lang-client-0586901300 | 2 | ~$0 | $25 | ✅ idle (until today's rotation moves Apex onto it) |
| TP3-Neural-Stack | tp3-neural-stack | 2 | $73.47 | $75 | 🔴 98% of cap |
| Creative | gen-lang-client-0412977796 | 3 | $0 | $50 | ✅ idle |
| OMI Organized | gen-lang-client-0533048237 | 0 | $0 | none | 🟡 uncapped |
| Omi Integration | omi-integration | 1 | $0 | none | 🟡 uncapped |
| Omi to Captain's Log | gen-lang-client-0123223097 | 0 | $0 | none | 🟡 uncapped |
API keys
| Key suffix | Label | Project | Created |
|---|---|---|---|
| ...ZwnQ | "YaYa asked" | Bidet-AI | 2026-04-20 (today) |
| ...oij0 | Gemini API Key | Bidet-AI | 2026-04-07 |
| ...Nais | tp3ns_3_26_26 | TP3-Neural-Stack | 2026-03-26 |
| ...bZDo | TP3 API | TP3-Neural-Stack | 2026-03-17 |
| ...hwOI | Hapra AI | Omi Integration | 2026-02-20 |
| ...2G50 | DigitalTwin_Audio_New | Creative | 2026-02-14 |
| ...xwSk | DigitalTwin_Health_New | Creative | 2026-02-14 |
| ...BfN8 | DigitalTwin_Vector_New | Creative | 2026-02-14 |
Rate limit breaches (TP3-Neural-Stack)
| Model | Metric | Peak vs limit | State |
|---|---|---|---|
| Gemini 2.5 Flash TTS | RPM | 11/10 | 🔴 over |
| Gemini Embedding 2 | TPM | 1.25M/1M | 🔴 over |
| Gemini 3 Flash | RPD | saturated | 🔴 over |
| Gemini 2.5 Pro | TPM | 1.85M/2M | 🟡 93% |
Action items Mark should decide on
P0 — today/tomorrow:
1. Undo my accidental project switch. I rotated Apex + Grind onto the "YaYa asked" key in Bidet-AI ($25 cap). Need to create new key on TP3-Neural-Stack and rotate onto that.
2. Raise TP3-Neural-Stack cap from $75 to $100 or $150 (whatever actual monthly headroom you want).
P1 — this week:
3. Set $5-10 caps on the 3 uncapped projects — tripwires, not actual budgets.
4. Revoke the "YaYa asked" key after I rotate off it.
5. Add backup payment method — 1 card / no backup is fragile.
P2 — longer term:
6. Audit the 3 DigitalTwin_* keys on Creative — zero spend in 28d. Likely orphaned. Revoke to reduce surface.
7. Fix rate limit breaches — client retry-with-backoff, or request quota increases.
8. Consider archiving OMI Organized + Omi to Captain's Log — 0 keys, 0 spend for months.
The accidental forensics from today's rotation
My key rotation earlier today moved Apex + Grind from TP3-Neural-Stack key (...Nais) to Bidet-AI key (...ZwnQ). Unintended consequence: over the next 24h we'll see:
- If TP3-Neural-Stack spend STOPS accumulating → confirms Apex + Grind were the culprits
- If it keeps accumulating → rogue service somewhere still has the old ...Nais key (something I don't know about)
Either way we learn something. Will re-check tomorrow.