Account¶
Your customer account is the top-level identity in OpenClaw Hosted. One account owns all deployments, billing, usage limits, and API keys.
Account model¶
| Field | Description |
|---|---|
id |
UUID — stable account identifier |
name |
Unique account slug (used in internal hostnames) |
tier |
Billing tier: free, starter, hobbyist, developer, team, business, or enterprise |
plan |
Legacy/plan label; often mirrors tier |
status |
Account status (active, etc.) |
created_at / updated_at |
Timestamps |
There is no organization or multi-user model in the current release. One Google identity or API signup maps to one customer record. Team features and seat-based access are planned but not shipped.
Creating an account¶
Google OAuth (dashboard)¶
Sign in at www.clusterclaw.ai/login. New users receive:
tier: free(can browse, cannot deploy)entitlements: [{"sku":"tier:free", ...}]- A derived internal
namefrom Googlesub(you can rename later in settings)
Each Google login rotates the API key and refreshes the dashboard cookie.
Programmatic signup¶
AccountService.Signup accepts:
| Field | Required | Notes |
|---|---|---|
name |
Yes | Unique account name |
tier |
No | Default starter; valid: free, starter, hobbyist, developer, team, business |
plan |
No | Defaults to tier |
email |
No | Used for Stripe checkout and deployment-ready notifications |
Response includes customer and apiKey (plaintext, once only).
1 2 3 | |
CLI¶
1 | |
Reading account details¶
AccountService.GetAccount returns the authenticated customer (requires API key):
1 | |
Tiers¶
Self-serve tiers are defined in the product catalog and enforced at deployment time.
| Tier | Typical use | Deployments (product) | Stripe checkout |
|---|---|---|---|
free |
Dashboard exploration | 0 (blocked at API) | No |
starter |
Individual hobby | 1 | Yes |
hobbyist |
Side projects | 1 | Yes |
developer |
Active development | 3 | Yes |
team |
Small teams | 5 | Yes |
business |
Production workloads | 25 | Yes |
enterprise |
GKE Autopilot, custom SLA | Custom | Contact sales |
Base subscription prices and marketing copy live on clusterclaw.ai/pricing. Usage rates vary by tier — see Billing and BillingService.GetRateCard.
Free tier guard
CreateDeployment returns permission_denied for tier: free with message to upgrade at the pricing page. The dashboard hides the deploy button; the API enforces this for scripted calls too.
Entitlements¶
Beyond the denormalized tier column, accounts carry a JSON entitlements array for flexible product flags:
1 2 3 4 5 6 | |
SKU namespaces:
| Prefix | Example | Meaning |
|---|---|---|
tier: |
tier:team |
Subscription tier |
skill: |
skill:my-bundle |
Purchased skill bundle |
template: |
template:onboarding |
Template entitlement |
addon: |
addon:priority-support |
Add-on feature |
feature: |
feature:beta-channel |
Feature flag |
Entitlements are managed by billing webhooks and operator tools. There is no customer RPC to mutate entitlements directly.
Auth providers¶
auth_provider |
How the account was created |
|---|---|
api_key |
Signup RPC or CLI |
google |
Google OAuth dashboard sign-in |
Both populations share the same API key authentication model for RPC calls.
Email and notifications¶
If email is set, ClusterClaw may send transactional mail (for example deployment-ready) via Resend when the operator has configured RESEND_API_KEY. Links in email use NOTIFY_ORIGIN (default https://www.clusterclaw.ai).
Account lifecycle¶
| Action | Supported today |
|---|---|
| Upgrade tier | Stripe checkout via dashboard or CreateCheckoutSession |
| Downgrade / cancel | Stripe Customer Portal via CreateBillingPortalSession |
| Rename account | Dashboard settings (where exposed) |
| Delete account | Contact support — no self-serve delete RPC |
Related guides¶
- Authentication — API keys and Google OAuth
- Getting started — first deployment
- Billing — subscriptions and usage