Skip to main content

Billing

Billing — ɳSelf documentation.

nself Cloud billing is handled by Stripe. This page covers subscriptions, metered usage, invoices, plan changes, and cancellation.


How Billing Works

You pay two separate charges:

  1. nself Cloud management fee: charged by nself.org via Stripe (monthly or annual)
  2. Hetzner infrastructure cost: charged directly by Hetzner to a payment method you add in their portal

The management fee covers provisioning, monitoring, SSH bridge, backups, and support. Infrastructure cost is passed through at Hetzner list prices with no markup.


Plans

PlanMonthlyAnnualServersPlugins
Starter$5/mo$49/yr131 free MIT
Pro$15/mo$149/yr3All pro plugins
Elite$29/mo$289/yr10All pro + email support
Business$79/mo$799/yrUnlimitedAll pro + 24h support

Annual plans save ~17% vs monthly.


Metered Usage

Certain events are metered and may appear on invoices for high-volume plans:

EventUnitNotes
api_callPer 1,000 requestsHasura GraphQL requests through your server
storage_writePer GBObjects written to MinIO (if enabled)
storage_readPer GBObjects read from MinIO
compute_minutePer minuteCustom service CPU usage above baseline

Metered events are recorded via /api/metering/usage and visible in Dashboard → Usage.

Starter and Pro plans include generous free tier allowances. Metered overages apply to Elite and above.


Payment Methods

Add a card or bank account via the billing portal (Dashboard → BillingManage Payment Method). This opens the Stripe customer portal.


Invoices

Invoices are generated by Stripe at the end of each billing period. They are sent to your account email and available in the Stripe customer portal.


Changing Plans

Dashboard → BillingChange Plan.

  • Upgrade: takes effect immediately; prorated credit applied
  • Downgrade: takes effect at the end of the current billing period
  • Downgrading below your current server count prevents the downgrade until servers are destroyed

Cancellation

Dashboard → BillingCancel Subscription.

On cancellation:

  • Subscription ends at the current period’s end date
  • Servers continue running until the period ends
  • After the period ends, servers are suspended for 7 days then destroyed
  • You can reactivate within the 7-day grace period without losing data

Payment Failure

If a payment fails, Stripe retries automatically (day 1, day 3, day 5, day 7). During retries:

  • Your servers continue running
  • A banner appears in the dashboard with the outstanding amount

If payment fails after all retries:

  • Servers are suspended (stopped but not destroyed)
  • A 14-day reactivation window begins
  • Pay the outstanding balance to reactivate

Webhook Events

nself Cloud listens for Stripe webhooks at /api/webhooks/stripe:

EventAction
checkout.session.completedTrigger server provisioning
customer.subscription.updatedApply plan changes
customer.subscription.deletedSchedule server cleanup
invoice.payment_failedSuspend server after grace period
invoice.payment_succeededRestore suspended server