AI agents and automation
Give every agent, workflow, or autonomous task an isolated cloud boundary with a revocable machine identity and controlled spend.
Developer platform
Create API-first sub-accounts for customers, agents, tools, and managed workloads. Every tenant gets its own wallet, projects, infrastructure boundary, audit context, and machine credentials—without another human login.

Built for platforms
Sub-accounts are designed for developers who need to provision and operate cloud environments on behalf of software—not for adding another person to a team.
Give every agent, workflow, or autonomous task an isolated cloud boundary with a revocable machine identity and controlled spend.
Provision dedicated projects, services, volumes, domains, and credentials for each customer without creating human Hubfly space users.
Create disposable tenant environments for branches, QA runs, integration tests, or customer demos while keeping production resources separate.
Operate infrastructure for clients from one parent account while preserving wallet, resource, and audit isolation per client.
Create controlled environments for workshops, coding labs, and internal developer portals with explicit lifecycle boundaries.
Build control panels, deployment products, and vertical developer tools on Hubfly space using platform and tenant-scoped credentials.
Architecture
Parent and tenant model
Your parent account
Personal account or organization
Customer A
sub_…
Automation
sub_…
Preview fleet
sub_…
wallet + projects
wallet + projects
wallet + projects
Fund each tenant from the parent account. Usage is charged against the same canonical balance that the dashboard and Scheduler enforce.
Projects and their containers, volumes, builds, domains, registry assets, networking, logs, and runtime sessions stay inside the tenant.
Issue multiple hfsk_ keys, rotate without downtime, revoke immediately, and inspect safe prefixes and last-use metadata.
Machine activity is attributed to the service principal that performed it—not incorrectly to the human who created the key.
Hubfly space resolves and verifies the effective sub-account before project authorization, preventing guessed IDs and header substitution.
Control tenant count, active keys, projects, spend, and API rate; suspend, resume, rotate, and close through durable lifecycle actions.
Authentication
The creator is not the runtime actor. Hubfly space records durable service principals and stores only credential hashes; plaintext secrets are returned once.
| Credential | Prefix | Tenant scope | Use it for |
|---|---|---|---|
| Sub-account key | hfsk_ | One tenant, fixed at creation | Operate supported resources inside that tenant |
| Platform key | hfpk_ | One personal or organization parent | Manage sub-accounts and target operations with X-HubFly-Subaccount |
| Personal token | hf_ | The issuing human and optional projects | Existing personal and CI workflows |
Sub-account key
Platform key
Personal token
Tenant-bound operation
Authorization: Bearer hfsk_…
GET /api/v1/projectsThe key is permanently bound to its tenant. It cannot select or escape to another sub-account.
Platform operation
Authorization: Bearer hfpk_…
X-HubFly-Subaccount: sub_…
GET /api/v1/projectsThe platform key belongs to the parent and explicitly selects an accessible tenant for resource operations.
Coverage
Projects, containers, builds, deployments, Compose, logs, exec, terminals, and tunnels
Volumes, scoped file sessions, registry images, credentials, tokens, and scanning
Subdomains, custom domains, ports, load balancers, firewall, redirects, TLS, and caching
Wallet funding, balance enforcement, usage, audit attribution, suspension, and closure
Lifecycle
Every control-plane mutation is designed around explicit authority, idempotency, and recoverable rotation—not a single permanent root secret.
Create the tenant with a name and optional parent-scoped external reference.
Transfer paid parent balance into the isolated wallet using an idempotency key.
Issue a tenant key, save the one-time secret, and configure the SDK, CLI, or your service.
Create projects and run containers, builds, volumes, domains, registry, logs, exec, tunnels, and networking.
Create a replacement key, move traffic, verify last use, and revoke the old credential.
Stop and delete resources, suspend access immediately, or close an empty tenant after its balance checks pass.
Wallets
Transfers atomically debit the parent’s paid balance and credit the tenant in micro-USD. Promotional credit never transfers. Stable idempotency keys prevent a network retry from funding twice, and immutable transfer records preserve the resulting balances for audit.
Atomic transfer
Parent paid balance
− $25.00
Tenant wallet
+ $25.00
one transaction · one idempotency key · immutable record
Start building
Create tenants, fund wallets, rotate keys, and suspend access from Profile → Sub-accounts.
Open dashboardUse the parent control plane to provision tenants, then operate resources with a tenant or platform key.
API guideTyped subaccounts and platformKeys modules plus a client-level subaccountId option are available in both SDKs.
SDK docsDeveloper platform
Start with one isolated sub-account, connect it with a machine credential, and scale the same model across customers and workloads.