Local usage and cost tracking for your AI API spending
Metered API billing is only uncomfortable when it is invisible. SideNote Pro keeps a local ledger of what you used, by provider and model, so you can see the shape of your spending without waiting for an invoice.
What gets recorded
- Token counts
- Local estimates, replaced by provider-reported figures when the endpoint returns usage metadata.
- Provenance
- Which provider profile and model a request went to, recorded immutably against the response.
- Pricing snapshots
- The price used for an estimate is recorded with it, so historical entries do not silently change when a price does.
- A daily ledger
- Bounded daily aggregates by provider, model and request category.
- Local cost estimates
- derived from the above.
Provider-reported usage takes precedence over local estimates whenever it is available. SideNote Pro recognises the common prompt, input, completion, output and total token fields in final stream events and response metadata. Endpoints that omit usage entirely remain fully supported; you simply get estimates rather than reported figures.
Settings › Usage & cost

Settings › Usage & cost

Where prices come from
SideNote Pro ships no provider prices, not even for the default OpenAI model. Provider rates can change, so SideNote Pro uses prices you enter for local estimates instead of figures built into the application.
So set the price yourself. Each provider profile and model can carry an input and an output price in USD per million tokens, entered in Settings, AI providers. Prices you configure are labelled as user-configured, and historical responses keep the price snapshot they were recorded with. The GPT-6 Luna setup works through both figures for a current low-cost OpenAI model, along with what a typical request costs at those rates.
Settings › AI providers › Model pricing

Get the numbers from your provider's own pricing page at the moment you configure them. Model prices change, and a figure copied from a blog post six months ago will quietly make every estimate wrong.
The optional daily limit
You can set a daily estimate limit in USD. When the day's estimated spend would exceed it, SideNote Pro stops before sending, and it can stop an in-flight stream that crosses the line mid-response.
This is a guard rail against a runaway afternoon, not a billing control. It works from local estimates, so it cannot know about usage from other applications sharing the same API key, and it cannot reconcile against your provider's meter. Treat it as a seatbelt, and set a hard spending cap in your provider's own dashboard as the real limit.
Settings › Usage & cost

Estimates, and what the ledger stores
SideNote Pro does not query a hosted provider's billing system. It sends the key you configured to authenticate requests, but has no access to the provider's account or charges from the usage page. A local endpoint may use no key at all.
Everything here is an estimate. For a hosted provider, its invoice is the authority. Estimates help you compare configurations; they do not reconcile a bill to the cent. A local model has no API charge, though its token counts still appear here.
The ledger stores counts, dates, provider and model provenance, request categories and cost aggregates. It does not store prompts, responses, selected text, filenames, document contents, screenshots, image data or API keys. Usage never leaves your PC and is never sent to BediniLabs.
What to do with the numbers
Use the ledger to compare a week of requests by provider and model. Look at which combinations dominate, and ask whether the expensive ones were doing work that needed them.
If a heavy model is handling quick rewrites out of habit, reducing your AI API costs shows ways to spend less, and choosing the right model helps match models to the work.