Your agent can spiral.
Your LLM bill can't.
Budget Status
nightly-batch
Budget exceeded$4.96 / $5.00(99.2%)
your process
hard-deny on, cap $5.00
call 12 gpt-6-sol sent
call 13 gpt-6-sol sent
call 14 gpt-6-sol sent
call 15 gpt-6-sol sent
call 16 gpt-6-sol sent
call 17 budget check: denied (would pass the cap)
BudgetExceededError: Budget exceeded for project nightly-batch
call not sent to provider
Alerts-only is the default. Hard-deny is one setting in your dashboard.
Solwyn wraps the LLM client you already use and denies over-budget calls in your own process, before they reach the provider. Prompt content never routes through a hosted gateway.
Open-source Python SDK. Runs in your process; calls go straight to the provider.
$260 overnight, from one loop nobody was watching.
Not stolen keys. Not your cloud bill. The spend that starts inside your own code, the only kind a local cap can stop.
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.”
The loop spent $0 in the evening, $100 within about two hours, and $260 by the next morning. With an example $25 daily cap, the loop’s calls are denied once spend reaches $25, and the remaining $235 is never sent to the provider.
Drawn from the quoted figures; times approximate.
OpenAI Developer Community, Dec 2023, self-reported, guardrail code posted; OpenAI later credited the charges.
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 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.
Install, wrap the client you already use, and catch the one new exception. Set the cap itself in the dashboard.
# pip install "solwyn[openai]"
# export SOLWYN_API_KEY="sk_proj_..."
from openai import OpenAI
from solwyn import Solwyn, BudgetExceededError
client = Solwyn(OpenAI())
try:
reply = client.chat.completions.create(model="gpt-6-sol", messages=msgs)
except BudgetExceededError:
stop_the_run() # cap reached: the call was never sent to OpenAI# pip install "solwyn[anthropic]"
# export SOLWYN_API_KEY="sk_proj_..."
from anthropic import Anthropic
from solwyn import Solwyn, BudgetExceededError
client = Solwyn(Anthropic())
try:
reply = client.messages.create(model="claude-opus-5-5", max_tokens=1024, messages=msgs)
except BudgetExceededError:
stop_the_run() # cap reached: the call was never sent to Anthropic5K requests a month and one hard cap, free. No card.
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 plan and up
When your provider goes down, your agents don't.
A local circuit breaker tracks provider health client-side with 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
+ Anthropic, Groq: healthy
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 usage metadata. Prompt content is never sent to Solwyn.
Breakdown by model
| Model | Share of cost | Requests | Tokens | Cost |
|---|---|---|---|---|
gpt-6-solOpenAI | 1,392 | 4,214,284 | $650.00 · 47% | |
claude-opus-5-5Anthropic | 732 | 3,196,428 | $410.71 · 30% | |
gpt-6-lunaOpenAI | 1,464 | 8,964,284 | $171.43 · 12% | |
gemini-3.8-flashGoogle | 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.
All we ever receive
- Token count
- Model
- Latency
- Status
- Project ID
- Tags you attach
What never leaves your app
- Prompts
- Responses
- System messages
- Function calls
- Conversation history
- Tool arguments & payloads
- Your provider API keys
Your prompts stay between you and your provider.
The full data inventoryEvery field the SDK sends, and every one it doesn't./securityOr read the open-source SDK (opens in a new tab) on GitHub.
Keep the tools that help you see. Add Solwyn for the local financial stop.
Observability platforms help teams trace, evaluate, and improve AI behavior. Gateways centralize routing, access, and policy. Solwyn solves a narrower job: a project budget check inside your application process, before the next provider request.
Observability and evals
Langfuse, LangSmith, Braintrust, Arize, Datadog
Best when: You need traces, datasets, evals, and quality monitoring. Keep it. Solwyn is not a replacement.
Hosted gateway
Portkey, Helicone, LiteLLM (hosted modes)
Best when: You want a managed central policy and routing layer. Model traffic traverses another managed control point.
Self-hosted gateway
LiteLLM, Portkey (self-hosted)
Best when: You want central control inside your own environment. Your team deploys, scales, and operates the gateway service.
Solwyn
Project budgets enforced in the application, while provider calls remain direct. Failover handled client-side. Only usage metadata reaches us. Prompt content is never sent to Solwyn.
Use Langfuse, LangSmith, Braintrust, Arize, or Datadog for deep observability. Use Solwyn when the application itself needs to say “no more model calls for this project.”
Right for you if agents, queue workers or batch jobs call models while nobody watches, and you want a stop that works without a hosted proxy.
Not the tool if you need tracing and evals, or one gateway for every team. Keep retry limits and timeouts either way.
Solwyn is one layer in a defense-in-depth design. Keep your retry limits, step limits, and timeouts. It works alongside your observability stack, not instead of it.
Ten launch partners get founder-led setup and a 12-month price lock.
For teams with a production or staging workload that makes model calls unattended.
See what partners getA 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.
Add a hard cap freeStill deciding? See exactly what a cap guarantees
30-day money-back guarantee on all paid plans. Refund policy