Vibengine
Resources

Billing

Understanding Vibengine pricing and billing

Billing

Vibengine uses a simple, transparent pricing model based on sandbox usage time.

Pricing Model

Vibengine charges per second of sandbox running time. You only pay for the time a sandbox is actively running — from the moment it starts to the moment it is killed or times out.

PlanIncluded HoursPrice per Additional Hour
Free100 hours/month
Pro500 hours/month$0.10/hour
EnterpriseCustomCustom pricing

Free Tier

Every Vibengine account includes 100 sandbox hours per month at no cost. This is enough for:

  • Development and testing
  • Small-scale production applications
  • Evaluating the platform before committing

The free tier resets on the first day of each calendar month.

No credit card required. You can start using Vibengine immediately with the free tier. You will only be asked for payment information if you exceed the free allowance.

What Counts as Usage

Usage is measured as the wall-clock time a sandbox is running, rounded up to the nearest second.

Counts as usageDoes NOT count as usage
Sandbox is running (idle or active)Time before Sandbox.create() returns
Sandbox waiting for your next callTime after sandbox.kill() completes
Sandbox running codeAPI calls to list/manage sandboxes
Sandbox with open file watchersTemplate builds

Idle sandboxes still count. A sandbox that is running but not executing any code is still billed. Always kill sandboxes when you are done with them.

Viewing Usage

Monitor your sandbox usage in real time:

  1. Go to the Vibengine Dashboard
  2. Navigate to BillingUsage
  3. View usage breakdown by day, week, or month
  4. See per-sandbox usage for debugging high-consumption runs

Managing Your Plan

Upgrading

  1. Go to SettingsBilling in the dashboard
  2. Click Upgrade Plan
  3. Select your plan and enter payment details
  4. Changes take effect immediately

Downgrading

  1. Go to SettingsBilling
  2. Click Change Plan
  3. Select the lower tier
  4. The change takes effect at the start of the next billing cycle

Tips for Reducing Costs

1. Kill Sandboxes When Done

Always call sandbox.kill() when your work is complete. Do not rely solely on timeouts.

const sandbox = await Sandbox.create()

try {
  const result = await sandbox.runCode("print(hello)")
  console.log(result.stdout)
} finally {
  await sandbox.kill() // Always clean up
}

2. Set Reasonable Timeouts

Use the shortest timeout that makes sense for your use case. This prevents forgotten sandboxes from running indefinitely.

// Short timeout for quick code execution
const sandbox = await Sandbox.create({ timeoutMs: 30 * 1000 }) // 30 seconds

// Longer timeout for agent sessions
const agentSandbox = await Sandbox.create({ timeoutMs: 5 * 60 * 1000 }) // 5 minutes

3. Use Custom Templates

Custom templates with pre-installed dependencies start faster, meaning less idle time waiting for package installations.

4. Reuse Sandboxes

For batch operations, reuse a single sandbox instead of creating a new one for each task.

const sandbox = await Sandbox.create()

for (const task of tasks) {
  await sandbox.runCode(task.code) // Reuse the same sandbox
}

await sandbox.kill()

5. Monitor and Set Alerts

Set up budget alerts in the dashboard to get notified before unexpected usage spikes become expensive.

Billing FAQ

When does billing start? Billing starts the moment Sandbox.create() returns a running sandbox.

What happens if I exceed the free tier? Sandbox creation will fail with a quota error. Upgrade to a paid plan to continue.

Can I get a refund for unused time? Pre-paid plan hours do not roll over. Additional usage is billed at the per-hour rate.

Is there a maximum number of concurrent sandboxes? Free tier: 5 concurrent sandboxes. Pro: 50. Enterprise: custom limits.

On this page