Skip to content

meridianix/moltbot-spend-guard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moltbot Spend Guard

Spend protection plugin for Moltbot. Monitors API costs and stops the gateway when limits are breached.

Problem

Moltbot users wake up to $120+ API bills from runaway loops. No native spend limits exist.

Solution

A plugin that:

  1. Runs a background service checking spend every minute
  2. Gets session data via moltbot sessions --json
  3. Calculates cost using models.providers pricing config
  4. Alerts at 80% of limit, stops gateway at 100%

Install

moltbot plugins install github:meridianix/moltbot-spend-guard

Config

Add to ~/.clawdbot/moltbot.json:

{
  "plugins": {
    "entries": {
      "spend-guard": {
        "enabled": true,
        "config": {
          "dailyLimitUsd": 50,
          "hourlyLimitUsd": 10
        }
      }
    }
  }
}

Restart gateway for changes to take effect.

Options

Option Default Description
dailyLimitUsd 50 Daily spend limit
hourlyLimitUsd 10 Hourly spend limit
checkIntervalMs 60000 Check interval (1 min)
alertThreshold 0.8 Log warning at this %
stopThreshold 1.0 Stop gateway at this %

Commands

moltbot spend-guard status   # Show current spend
moltbot spend-guard check    # Force immediate check
moltbot spend-guard reset    # Clear alert state

RPC

moltbot gateway call spend-guard.status --params '{}'

How It Works

Plugin loads
  → api.registerService({ id, start, stop })
    → setInterval(checkIntervalMs)
      → exec('moltbot sessions --json')
      → calculate cost from token counts
      → compare against limits
        → 80%: api.logger.warn()
        → 100%: exec('moltbot gateway stop')

Documented APIs used:

  • api.registerService() - background service
  • api.registerCli() - CLI commands
  • api.registerGatewayMethod() - RPC endpoint
  • api.logger - logging
  • moltbot sessions --json - session data
  • moltbot gateway stop - halt on breach

Requirements

  • Token data (inputTokens, outputTokens) must be present in moltbot sessions --json output
  • If missing, plugin logs a warning and spend shows $0
  • Pricing config in models.providers recommended for accurate costs (falls back to $3/$15 per 1M tokens)

Architecture

src/
├── plugin.ts   # Entry point, registers service/cli/rpc
├── monitor.ts  # Background check loop
├── cost.ts     # Token → USD calculation
├── types.ts    # TypeScript definitions
└── index.ts    # Re-exports

License

MIT

About

Spend protection plugin for Moltbot. Prevents runaway API costs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors