This product was not featured by Product Hunt yet. It will not be visible on their landing page and won't be ranked (cannot win product of the day regardless of upvotes).
Product upvotes vs the next 3
Waiting for data. Loading
Product comments vs the next 3
Waiting for data. Loading
Product upvote speed vs the next 3
Waiting for data. Loading
Product upvotes and comments
Waiting for data. Loading
Product vs the next 3
Loading
spendctl
Budgets, approvals and receipts for AI agents that pay
AI agents can now pay per request (x402, Stripe MPP). spendctl decides whether they may: per-agent budgets, allowlists, human approvals and a receipt ledger, enforced in a sidecar you run, in front of the wallets you already have.
I kept seeing the same pattern: agents that can pay for APIs on their own, guarded by a line in the prompt ("don't spend more than $5"). Prompts aren't spending controls, and the SDK guardrails live inside the same process as the agent.
spendctl moves the decision out: the agent asks, a sidecar with your policy answers. Over budget, a human approves in the CLI or Slack. Every payment lands in a ledger you can export for expenses. Signing happens in the sidecar you run, against a wallet you own (Coinbase CDP by default). We never hold keys or funds.
The Free tier is $0 with no card: 2 agents, every enforcement feature, a local sandbox. Pro ($29, founding $19) and Team ($249, founding $149) add shared policies, Slack approvals, exports and SSO on the hosted control plane, which is in development. Founding members lock the price for 12 months and get a full refund if GA slips.
Try it without keys or an account: npx spendctl init && npx spendctl mock && npx spendctl start. I'd love to hear which rule you wish it had.
About spendctl on Product Hunt
“Budgets, approvals and receipts for AI agents that pay”
spendctl was submitted on Product Hunt and earned 3 upvotes and 1 comments, placing #101 on the daily leaderboard. AI agents can now pay per request (x402, Stripe MPP). spendctl decides whether they may: per-agent budgets, allowlists, human approvals and a receipt ledger, enforced in a sidecar you run, in front of the wallets you already have.
On the analytics side, spendctl competes within Fintech, Developer Tools, Artificial Intelligence and GitHub — topics that collectively have 1.1M followers on Product Hunt. The dashboard above tracks how spendctl performed against the three products that launched closest to it on the same day.
Who hunted spendctl?
spendctl was hunted by Hiroki Nomura. A “hunter” on Product Hunt is the community member who submits a product to the platform — uploading the images, the link, and tagging the makers behind it. Hunters typically write the first comment explaining why a product is worth attention, and their followers are notified the moment they post. Around 79% of featured launches on Product Hunt are self-hunted by their makers, but a well-known hunter still acts as a signal of quality to the rest of the community. See the full all-time top hunters leaderboard to discover who is shaping the Product Hunt ecosystem.
For a complete overview of spendctl including community comment highlights and product details, visit the product overview.
Hey Product Hunt, I'm the maker of spendctl.
I kept seeing the same pattern: agents that can pay for APIs on their own, guarded by a line in the prompt ("don't spend more than $5"). Prompts aren't spending controls, and the SDK guardrails live inside the same process as the agent.
spendctl moves the decision out: the agent asks, a sidecar with your policy answers. Over budget, a human approves in the CLI or Slack. Every payment lands in a ledger you can export for expenses. Signing happens in the sidecar you run, against a wallet you own (Coinbase CDP by default). We never hold keys or funds.
The Free tier is $0 with no card: 2 agents, every enforcement feature, a local sandbox. Pro ($29, founding $19) and Team ($249, founding $149) add shared policies, Slack approvals, exports and SSO on the hosted control plane, which is in development. Founding members lock the price for 12 months and get a full refund if GA slips.
Try it without keys or an account: npx spendctl init && npx spendctl mock && npx spendctl start. I'd love to hear which rule you wish it had.