Skip to content

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 name from Google sub (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
curl -sS -X POST 'https://api.clusterclaw.ai/openclaw.v1.AccountService/Signup' \
  -H 'Content-Type: application/json' \
  -d '{"name":"acme","tier":"developer","email":"ops@acme.example"}'

CLI

1
claw signup --name acme --tier developer

Reading account details

AccountService.GetAccount returns the authenticated customer (requires API key):

1
claw account

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": "tier:developer",
  "status": "active",
  "granted_at": "2026-01-15T12:00:00Z",
  "source": "stripe:sub_..."
}

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