Docs
Install the plugin. Run /voltaire. Everything else is automatic.
Claude Code plugin
Install once. Voltaire connects your Stripe, reads your codebase, tracks behavioral data, and surfaces targeted fixes inside Claude Code. No config, no API key to copy.
curl -fsSL https://mcp.hivoltaire.com/install | bash
A browser window opens to connect your account. Then run from any project:
/voltaire
Commands
| Command | What it does |
|---|---|
/voltaire |
Full session: connect Stripe, analyze codebase, apply a fix |
/voltaire-status |
Quick pulse check: conversion rate, revenue, trend |
You can also say it naturally, like "fix my paywall", "how is my conversion rate", "undo that last change", and Claude picks it up automatically.
First run
When you run /voltaire for the first time, Voltaire runs this sequence without stopping:
- Asks for your Stripe key, imports your full revenue history
- Benchmarks your conversion rate against your SaaS category
- Reads your codebase to locate the paywall
- Installs
voltaire-sdkand adds the 7 tracking events - Proposes a targeted fix, waits for your confirmation before touching anything
- Logs what was changed so future sessions build on it
Every run after
Once Stripe and the SDK are connected, each /voltaire session leads with data. On Lumière Intelligence, three agents run in parallel:
- Timing: when your paywall fires vs the optimal moment, with confidence rating based on data volume
- Cohort: what separates converters from bouncers, the one feature that predicts conversion
- Churn: MRR health, monthly churn rate, median days before cancel, top cancellation reasons from Stripe
- Builds on past fixes. Knows what was tried and what moved the needle
In the background (free)
- Hourly anomaly detection: email alert if conversion drops significantly
- Daily digest with conversion delta, anomalies, and session patterns
- Weekly recommendation ranked by revenue impact, every Monday
Requires Claude Code. Free plan includes SDK install, data tracking, paywall analysis, daily digest, anomaly alerts, and weekly recommendations. Lumière Intelligence ($49/mo) adds the three on-demand agents (Timing, Cohort, Churn) that run on every /voltaire.
Events reference
Voltaire tracks 6 behavioral events. /voltaire installs them automatically — session_started fires on Voltaire.init() with no manual call needed. This section is for reference or manual instrumentation.
| Event | When to fire |
|---|---|
session_started |
Fired automatically by Voltaire.init() — no manual call needed. Proves the SDK is live in production. |
feature_used |
When the user hits the key feature that leads to the paywall, identifies your value moment |
feature_gate_hit |
User tried to use a premium feature and got blocked. Strongest upgrade intent signal |
upgrade_clicked |
User clicked an upgrade or pricing CTA but didn't complete payment |
paywall_shown |
When the paywall UI becomes visible |
paywall_dismissed |
When the user closes the paywall without purchasing. Include dismiss_seconds |
paywall_converted |
After a successful purchase or subscription |
JavaScript / TypeScript
Install the SDK manually if you want to control instrumentation yourself. Works with React, Vue, Angular, Next.js, Svelte, and vanilla JS.
npm install voltaire-sdk
import Voltaire from 'voltaire-sdk'
// Initialise once at app startup
Voltaire.init({ apiKey: process.env.VOLTAIRE_SDK_TOKEN, category: 'your_category' })
// Optional: auto-fire paywall_shown after N uses of a feature
Voltaire.setPaywallTrigger({ feature: 'export_pdf', threshold: 3 })
// session_started fires automatically on init — no manual call needed
// 1. Key feature used
Voltaire.track('feature_used', { feature: 'export_pdf' })
// 3. User hits a premium gate (strongest intent signal)
Voltaire.track('feature_gate_hit', { feature: 'export_pdf' })
// 4. Paywall appears: save the timestamp
const paywallShownAt = Date.now()
Voltaire.track('paywall_shown')
// 5a. User clicks upgrade but doesn't complete
Voltaire.track('upgrade_clicked')
// 5b. User closes without buying
Voltaire.track('paywall_dismissed', { dismiss_seconds: (Date.now() - paywallShownAt) / 1000 })
// 5c. User subscribes
Voltaire.track('paywall_converted')
All calls are fire-and-forget: they never throw, never block your UI.
Request format
All events go to the same endpoint via HTTP POST.
POST https://mcp.hivoltaire.com/api/events
X-Api-Key: volt_YOUR_API_KEY
Content-Type: application/json
{
"event_type": "paywall_shown", // required: one of the 6 events above
"user_session_id": "user_abc" // required: your user or device ID
}
Returns {"ok": true, "event_id": "..."} on success. Fire-and-forget, do not block your UI on it.
Optional properties
Extra data goes inside the properties object:
{
"event_type": "paywall_dismissed",
"user_session_id": "user_abc",
"properties": {
"dismiss_seconds": 4.2
}
}
| Property | Type | When to use |
|---|---|---|
dismiss_seconds |
number | On paywall_dismissed: time user spent on the paywall |
feature |
string | On feature_used / feature_gate_hit: name of the feature (e.g. "export_pdf") |