Trim Prompt Cost from $12.40 to $1.40 a Week
01 / The $12.40 week that forced a payload cleanup
Take this worked example, not a benchmark: one week of a small support bot, 260 customer questions, receipt line of 12.40 US dollars. That is about 4.8 cents per question. Most of that money did not pay for answers. It paid for shipping the same user data over and over: a full customer record, the last ten messages, a whole settings blob, and a 600-line system prompt that barely changed between turns.
Rewrite the request so the model sees only what the answer needs, and the same week lands near 1.40 US dollars in this example. That is 11.00 dollars back every week, roughly 44 dollars a month if traffic stays flat. Nothing fancy happened. No new model, no fine tuning, no subscription, no caching tricks. The saving came from sending less.
On a pay as you go relay the difference shows up immediately. CheapRelay charges per real token, including cache reads and cache writes, with no monthly fee and no subscription, so every token you delete is a token you stop paying for today rather than at some renewal date.
02 / Where user data hides inside a beginner prompt
Before you write a line of code, dump one real request and read it top to bottom. Most beginner prompts carry personal data in four places:
- ■ The system message. Repeating the user name, account ID, plan name and locale on every turn adds hundreds of tokens the model does not need to answer a question like reset my password.
- ■ Conversation history. Shipping the last 20 messages when the current question stands on its own can multiply the request size by five.
- ■ Tool payloads. A database row with 40 columns is not a tool result, it is a data dump. Pick the three columns the task actually needs.
- ■ File and log context. Whole stack traces, whole CSV rows and whole config files hide real customer values: emails, addresses, session tokens, internal notes.
The privacy cost matters as much as the price. Anything you put in the prompt becomes third party text: your provider processes it, and your own logs may store it. A smaller payload is a smaller blast radius if a log file leaks or a prompt is replayed in a support ticket. Stripping fields is the frugal move and the safe move at the same time, and the implementation cost is close to zero.
03 / Strip fields on your laptop before the request leaves
Build one allowlist function and call it on every payload before serialization. The rule is simple: a field goes in only if the answer would change without it.
- ■ Keep: the question, a short task description, two or three record fields, and the locale if answers must match it.
- ■ Drop: names, emails, phone numbers, street addresses, account IDs, card fingerprints, session tokens, full timestamps, internal notes, and any row belonging to another customer.
- ■ Replace: swap raw identifiers for stable placeholders such as USER_A, TICKET_7 and EMAIL_1. The model can still reason about relationships, and you merge real values back after the reply.
- ■ Redact by pattern as a second pass: a small regular expression sweep for email shapes, long digit runs, long hex strings and JWT-looking blocks catches fields your allowlist missed.
A 30-line Python function covers this. Run it before the object is serialized, so no logging middleware ever sees the raw record. Keep the raw record on your side and let the model work with placeholders. The model never needed the customer's last name to draft three refund policy bullets; it needed the policy text and the order total.
04 / The token math behind the 12.40 to 1.40 drop
Worked example numbers again, and your own receipt will differ. In the first version each request carried roughly 3,200 input tokens: 600 for the static system prompt, 2,100 for history and user data, 500 for the current question, plus 250 output tokens. Across 260 questions that is about 832,000 input tokens and 65,000 output tokens in a week.
After the trim each request carried about 700 input tokens: 250 system, 150 filtered context, 300 question, with the same 250 output tokens. That is 182,000 input tokens and 65,000 output tokens. The input side shrank by roughly 78 percent. The output side did not move at all, because the answers were already fine.
That is the pattern to expect: output tokens are the part you rarely cut, input tokens are the part you overpay for. If your receipt is still heavy after trimming, audit history length next, then tool payloads, then system prompt size. Cache reads and cache writes are billed as real tokens on CheapRelay, so do not bolt on a caching layer hoping for free reuse. Measure cached tokens like any other token, in your own table.
05 / Cheap models and honest per-request logging
Price per token matters twice: once in the rate table, and once in how many tokens a model needs to reach a usable answer. Before reaching for a large model, run the same 20 trimmed prompts through a compact one and read the outputs yourself. Beginner work is mostly classification, extraction, rewriting and short support replies.
Claude Haiku 4.5 is a sensible first stop for that workload on a relay. DeepSeek V4 Flash is another sale model worth the same 20-prompt test. Whichever you pick, the deciding evidence is your own reading of 20 answers, not a leaderboard score.
- ■ Log input tokens, output tokens, cache read tokens and cache write tokens for every request in a small table. Since billing is per real token including cache reads and writes, that table predicts your next receipt within a few cents.
- ■ Set a weekly spend cap and alert yourself at 80 percent of it. With no monthly fee there is nothing to cancel, only traffic to slow down.
06 / Ten minutes a week keeps the receipt flat
Put a recurring reminder in your calendar and spend ten minutes on these five lines:
- ■ Print the five largest prompts of the week and delete at least one unnecessary field from each.
- ■ Count how many requests still carry more than 20 history messages.
- ■ Check the cache read and cache write columns. If writes dominate, your prompt churns more than it reuses.
- ■ Run the same 20-prompt set through one alternative sale model and keep the cheaper answer quality.
- ■ Purge old logs that hold raw user payloads, keeping only token counts, latency and status codes.
The goal is not to starve the model of context. A missing field can cause a wrong answer, and a wrong answer costs a retry that usually exceeds the tokens you saved. Send the fields the task needs, nothing else, and record the numbers each week.
If you want to see those numbers on a real receipt without any monthly commitment, sign up at CheapRelay and run your trimmed prompt set for one week beside the untrimmed one. Your own 12.40 to 1.40 story is one allowlist function away.
Sign up Try the prices yourself, sign-up credit included.
More reading
| Date | Aisle | Written in | Title |
|---|---|---|---|
| 2026-10-30 | Cheap how-tos | EN | $3 a Month Bought Our Team a Prompt Style Guide A beginner walkthrough for writing a team prompt style guide on a $3 monthly budget: templates, token math, tests and a weekly review. |
| 2026-10-30 | Cheap how-tos | EN | A $10 Test Budget for Judging AI Output A beginner walkthrough for judging AI output quality with a spreadsheet, a rubric and a $10 budget. |
| 2026-10-30 | Cheap how-tos | EN | $3.80 a Month After Dropping the Free Tiers A beginner walkthrough for moving a hobby project from free AI tiers to pay-as-you-go on a five-dollar monthly budget. |
| 2026-10-30 | Cheap how-tos | EN | A $2.17 Receipt for My Personal Knowledge Chatbot A beginner walkthrough: 46 documents, 240 chunks, 1.42M tokens, one $2.17 monthly receipt. No subscription, no vector database, no fixed cost. |
| 2026-10-30 | Cheap how-tos | EN | 307 Flashcards for About $1.20 in Tokens A budget walkthrough: extract a textbook chapter, chunk it, prompt a cheap LLM, and export 307 flashcards for roughly $1.20 in tokens. |
| 2026-10-30 | Cheap how-tos | EN | $20 a Month, Hard Cap: My Side-Project AI Bill A beginner walkthrough for capping a tiny side project at $20 a month, with token math, a dry run and the CheapRelay setup I use. |