Bouncr is a drop-in AI negotiation agent that lets any subscription app offer personalized, haggled pricing — backed by a deterministic policy engine that guarantees you never sell below cost.
AI-era products have per-user costs that swing 10–50×. One power user can take an indie founder's bill from $127 to $890 a month, while light users quietly overpay and churn. A static pricing page captures zero information about what anyone would actually pay.
Stripe handles your payments. Orb meters your usage. Bouncr discovers what each user will actually pay — and closes the deal.
An embeddable chat that haggles in character — sassy, persistent, screenshot-worthy. It feels like texting a real bouncer at the door.
Pure deterministic code sets every price. Cost floors, concession curves, reasoning tiers. The LLM never touches the number that gets charged.
Every offer, walk-away, and close — your true demand curve, often for the first time. The data exhaust no billing platform has.
The LLM and the numbers never touch. It converses and extracts your offer into structured data — a separate, deterministic engine decides accept / counter / hold / walk, and tells the bouncer only what it's allowed to say. A validator catches any number it tries to invent. The price can't be talked below the floor, because the floor lives in code, not a prompt.
A script-tag loader drops a sandboxed widget onto your pricing page. Your server mints a session, the widget haggles inside your guardrails, and the closed deal hands off to Stripe.
One line on your pricing page — it mounts the bouncer in an iframe.
List price, floor, target, concession curve, persona. The engine never breaches them.
Closed deals create a subscription at the negotiated price. You never touch money — or PCI.
<!-- on your pricing page --> <script src="https://bouncr.tech/embed.js" data-plan="pro_monthly" data-user="user_123" data-mount="#bouncr"></script> // or wire it up yourself Bouncr.mount({ el: "#bouncr", planId: "pro_monthly", userRef: user.id, onDeal: (d) => location = d.checkoutUrl, })
Or drop it into an AI agent →
# MCP server — any agent can negotiate url: "https://thebouncr.com/mcp" # tools: bouncr_start_negotiation · bouncr_offer # bouncr_accept · bouncr_status
Same policy engine — an agent can't talk it below your floor either.
Bouncr speaks MCP. Point any agent at the endpoint and it gets four negotiation tools — and the same policy engine, so it still can't talk the price below your floor.
claude mcp add --transport http bouncr https://thebouncr.com/mcp
.cursor/mcp.json (and most MCP clients) {
"mcpServers": {
"bouncr": { "url": "https://thebouncr.com/mcp" }
}
}
Claude Desktop: add it as a custom connector (Settings → Connectors) pointing at the same URL. Any MCP-capable client works — it's a standard Streamable HTTP server.
Changing the way people deal with ridiculous subscription prices.
Put a bouncer on your door. Watch your real demand curve draw itself.