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

Plan Monthly Annual Servers Plugins
Starter $5/mo $49/yr 1 127 free MIT
Pro $15/mo $149/yr 3 All pro plugins
Elite $29/mo $289/yr 10 All pro + email support
Business $79/mo $799/yr Unlimited All pro + 24h support

Annual plans save ~17% vs monthly.


Metered Usage

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

Event Unit Notes
api_call Per 1,000 requests Hasura GraphQL requests through your server
storage_write Per GB Objects written to MinIO (if enabled)
storage_read Per GB Objects read from MinIO
compute_minute Per minute Custom 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 → Billing → Manage 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 → Billing → Change 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 → Billing → Cancel 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:

Event Action
checkout.session.completed Trigger server provisioning
customer.subscription.updated Apply plan changes
customer.subscription.deleted Schedule server cleanup
invoice.payment_failed Suspend server after grace period
invoice.payment_succeeded Restore suspended server