seatledger · for the lead who pays for the team's coding-agent seats
What your team's Claude Code and Codex seats bought — per developer, model and client — and the day the rate changed.
Each developer's free npx seatledger already reads their own machine. The team ledger puts everyone on one page, keeps it 13 months instead of the 30 days a laptop keeps, and emails you when a step change shows up on anyone's machine: the same work suddenly costing more tokens, the cache read less, the 5-hour window filling faster — with the date and the client version where it starts.
How it works
GitHub sign-in creates the team and an invite link. Your plan, your seats, your history.
npx seatledger team join <link> --as alice gives each developer a key of their own, which you can revoke.
npx seatledger push — by hand, from cron or a session hook. Re-pushing a day replaces it. --dry-run prints exactly what would be sent.
What a push sends
- per developer, day, client, client version and model: the request count and four token counts (input, output, cache read, cache write)
- API-equivalent dollars: the same tokens at the vendor's API list prices
- what `seatledger rates` found, as numbers: the day a step starts, the client version, before and after
What it never sends
- prompts, responses, tool output or file contents
- file paths, session or request ids
- project folder names, unless a developer pushes with --project-names
Every text field the service accepts is an id with no spaces and a short limit; a field that could carry a sentence is refused. See the privacy note.
Plans
Team ledger for up to 3 developers, 30 days of history, findings on the dashboard
Up to 10 developers, 13 months of history, email and Slack alerts, CSV export
Up to 50 developers, 13 months of history, email and Slack alerts, CSV export
Dollars on the dashboard are API-equivalent: what the tokens would cost at API list prices, not what a seat costs. That is the number to compare seats, plans and months by.
For agents
POST /api/seatledger/v1/teams {"accept_terms": true} creates a free team with no human and returns an owner key and an invite link; POST /api/seatledger/v1/checkout returns a Stripe link a person can pay. The CLI's MCP server reads the team with seatledger_team_summary. Machine-readable: llms.txt, pricing.json, openapi.json.