DROP-IN SDKHARD SPENDING CAPSPROMPTS STAY LOCAL
Your agent can spiral.
Your LLM bill can't.
Solwyn wraps the LLM client you already use and denies over-budget calls in your own process — before they reach the provider.
Import, wrap, set a cap — three steps.
Budget Status
nightly-batch
your process
client = Solwyn(client)
client.chat.completions.create(…)
BudgetExceededError: Budget exceeded
for project nightly-batch
call not sent to provider
The bill stopped at $50.00 — exactly where you set it.
Hard-deny is a single setting in your dashboard — alerts-only is the default, so nothing breaks until you flip it.
How runaway spend actually happens
Not stolen keys. Not your cloud bill. The spend that originates inside your own code — the only kind a local cap can stop.
The retry job with no ceiling.
A background job with no max-retry limit re-sent the same work until the developer noticed: “I assumed that not having a default meant there was a fixed number of retries, not infinite.” A daily cap ends this at your limit.
Triplett, micro.webology.dev, Nov 2025 — self-reported, named.
The agent stuck in a tool-call loop.
An assistant fell into a function-call loop: “burned $100 in a couple of hours… by the next morning, it burned another $160.” A hard-deny cap stops the loop at the cap, not at the refund.
OpenAI Developer Community, Dec 2023 — self-reported, guardrail code posted; OpenAI later credited the charges.
The pattern
Every runaway is the same shape: your code calls the model, the result triggers another call, and nothing in the loop knows to stop. The calls succeed, so no error fires — until something external intervenes.
The model kept answering because the code kept asking. Solwyn adds the stop condition.
Three steps between your agents and a runaway bill.
No infrastructure changes. No proxy. No new dependencies. Just a wrapper around the client you already use.
Deploy an agent, cross your fingers, check the bill next month.
Deploy an agent that can't spend more than you allow, fails over to your configured fallback, and reports every dollar.
5K requests a month and one hard cap, free. No card.
What you get
The cap is just the start.
Set the limit before the damage starts.
Daily, weekly, or monthly budgets per project. Alerts fire by default, so your agents keep running while you get notified. Opt into hard-deny and over-budget calls stop in your process — before they ever reach the provider.
Budget Status
Team and Scale plans
When your provider goes down, your agents don't.
A local circuit breaker tracks provider health client-side — no network hop — and routes to your configured fallback automatically. The decision happens in your own process, with no server in the loop, so you don't get paged.
Provider Health
The agent burning money has a name.
Per-project cost breakdown by model and time period. Real-time spend vs. budget. Trend indicators that show you where costs are accelerating before they become a problem. All powered by metadata — your prompts never leave your environment.
Breakdown — by model
| Model | Share of cost | Requests | Tokens | Cost |
|---|---|---|---|---|
gpt-5.2OpenAI | 1,392 | 4,214,284 | $650.00 · 47% | |
claude-sonnet-4-5Anthropic | 732 | 3,196,428 | $410.71 · 30% | |
gpt-5-miniOpenAI | 1,464 | 8,964,284 | $171.43 · 12% | |
gemini-3-proGoogle | 350 | 2,246,428 | $158.93 · 11% | |
| Total · 4 models · 3 providers | 3,938 | 18,621,424 | $1,391.07 | |
Every channel on all paid plans
Text the founder. Page the on-call. Ping the Discord.
Email and SMS out of the box; Slack, Microsoft Teams, and PagerDuty for the eng team; Telegram and Discord for the community you run. Every channel ships on every paid plan — configure a destination once and reuse it across all your projects.
Notification Channels
founder@acme.dev
Webhook ****XXXX
Routing key ****R3y0
Webhook ****T3AM
Webhook ****D1SC
Bot token ****B0T9 · chat -1001234567890
Your prompts never touch our servers.
Not by policy. By architecture.
Solwyn runs inside your process — your LLM calls go straight to the provider, and we're never in the path.
- ✓Token count
- ✓Model
- ✓Cost
- ✓Latency
- ✓Status
- ✓Project ID
- ✕Prompts
- ✕Responses
- ✕System messages
- ✕Function calls
- ✕Conversation history
- ✕Any content whatsoever
Audit exactly what leaves your process — read the open-source SDK →
We can't leak what we never had.
The dashcam vs. the brakes.
Other tools watch. Solwyn prevents.
Helicone, Portkey, LiteLLM
In hosted proxy mode, every call routes through their servers — they see your prompts and add latency. When their proxy is down, your calls are too.
LangSmith, Langfuse
Great dashboards — after the damage. A recursive agent loops overnight. Other tools email you the report. Solwyn denies the call before it leaves your app. The dashboard shows you the fire. It doesn't stop it.
Local SDK. Budgets enforced before the request leaves your app. Failover handled client-side. Only metadata reaches us.
Your prompts never leave. Ever.
A loop won't wait for you to check the dashboard.
Wrap your client, set a cap, deploy. Three steps, and over-budget calls stop before they reach your provider. The free tier includes a hard cap — no card, no prompts transmitted.
Start Free30-day money-back guarantee on all paid plans. Refund policy