Something was off. I’d set my Hermes bot to work through Slack and I’d asked it to research something for a pitch but it wasn’t working because I needed to re-authenticate my account.
I’ll not bore you with the log files and gateway restarts. It’s the interesting bit that came next.
The detour that paid for itself
While I was geetting DeepSeek v4 Flash (my favourite model at the moment in Hermes), my agent noticed something else was broken: vision. The tool for reading images was pointing at a model that no longer existed on the provider. It returned a 404, quietly, the way these things do.
I asked it to find a working one. It went digging through the provider’s live catalogue and came back with something better than a fix — it came back with a free one.
Nous carries genuinely free models. Not free-trial, not free-until-the-end-of-the-month. Free. And the free vision model worked perfectly – but whist the agent was working through the logic of finding the free model, it was pinging around reading price lists of different provider APIs.
That’s when the actual idea arrived.
“Am I on the best model?”
So by default I have some credits in Nous and Merge. I also think that Nous can route through Open Router, but whenever I’ve tried to do that before, I’ve got frustated and gave up.
So Hermes is logicizing as a good agent would and then I stopped it:
That’s interesting that Merge and Nous expose their model prices. Can you set up a skill and a cron job to email me the list of the cheapest once a week so that I know I’m on the best model? Or maybe actually that list would be too long — I don’t need any Anthropic or OpenAI or Gemini info because I have monthly plans for all of those. It’s really where is the cheapest DeepSeek model and if there are any new models at a good price to try.
That last bit is the whole thing. A list of every cheap model is noise. A list that says here’s the cheapest DeepSeek, and here’s anything new worth trying is a decision. And the filter that makes it useful is the one only I could give: I already pay flat monthly rates for Anthropic, OpenAI and Google. Their prices are irrelevant to me. Showing them would be filling the page to look thorough.
So: two providers I actually route to (Nous and Merge), cheapest-first, with the flat-rate vendors stripped out.
Then we hit the small problem
I’d asked for it by email. My agent went looking and found that email isn’t set up on this machine at all. No mail client, no SMTP credentials, nothing. A perfectly good idea, blocked on a delivery route.
What I liked about this bit is that it didn’t just stop and ask me to configure email. It went and found what was already wired up. Which helped me to also suggest an option:
Me: Slack?
Slack. Already connected, already delivering, already where I’d see it. The channel was the easy part; I’d just assumed email because that’s what I’d asked for.
The build
What came out the other side was three things:
- A script that queries both providers’ live catalogues, reads the real per-token prices, and prints a short digest. No AI in the loop for the data — it’s deterministic, so the numbers can’t drift or get “summarised”.
- A skill — a note to my agent about how the whole thing works, so next time it doesn’t have to rediscover that one provider quotes prices per token and the other per million, or that a listed route sometimes 404s on the real call.
- A cron job — every Monday at 8am, straight into my Slack.
It also keeps a list of every model it has seen, so from week two onward it can tell me what’s new rather than re-reading the whole catalogue at me. Small detail. But that’s the difference between a report and a notification.
The first thing the radar found was me
Here’s the bit I didn’t expect. I asked it to check the cheapest DeepSeek route, assuming the answer would be “the one you’re on, well done”. It wasn’t.
Same model, different route, and the price gap was silly:

| Route | Input $/Mtok | Output $/Mtok |
|---|---|---|
| Nous (what I was on) | 0.0128 | 0.7680 |
| Merge (particle vendor) | 0.0350 | 0.0700 |
Merge’s input price is higher. Its output price is eleven times cheaper. Which one wins depends entirely on how you actually use the thing — and I didn’t know that, so I asked it not to guess either. It went to my real logged usage and did the maths on my own numbers, not a hypothetical.
Merge came out about 57% cheaper for me. The reason is that my usage is dominated by cached reads — the same long context being re-read over and over — and Merge charges a fraction of what Nous does for exactly that.
But a price on a page isn’t proof. So it made one live call, and the listed price matched the actual bill to the cent. Then it switched me over and checked the gateway came back up on the right model.
Me: Yes, make the switch please
Done. Same model, roughly half the price, verified rather than assumed.
What I’m taking from it
Silent failures are the expensive ones. A model that stops answering tells you immediately. A model that quietly downgrades itself tells you nothing, and you carry on for weeks wondering why the thinking feels thinner. If a setting matters, test that it works, not that it’s set.
The useful version of “monitor prices” is “answer one question”. I didn’t want a market report. I wanted to know whether I was on the cheapest DeepSeek and whether anything good had shown up. Everything else was decoration.
Give the constraint, not the spec. “I have flat plans for those three” is the most valuable sentence I gave it. That’s the bit a generic tool can’t know and can’t guess — and it’s the bit that turned a long list into a decision.
The best fixes are the ones that keep working. I could have asked “what’s the cheapest model?” and got an answer that was stale within a fortnight. Instead I’ve got a robot that checks every Monday, and a note to my agent that means it won’t have to learn the same lessons twice. The answer is the small part. The habit is the useful part.
And it did, in the end, find itself a cheaper model. I just had to ask.
If you think this would be useful, you can have it. The script and the skill are on GitHub — point them at your own providers and they’ll do the same job for you:
github.com/andygauk/model-price-radar
