HostAgentics Docs

HostAgentics Resource Limits

Last updated: 2026-08-06

Every HostAgentics runtime runs inside a fixed resource envelope defined by its plan. Limits are **hard limits, not billing meters**: the platform enforces them, and there is no overage billing. This document is the engineering reference for entitlements, enforcement points, and warning thresholds. The customer-facing summary lives in `docs/pricing.md` and `docs/fixed-pricing.md`.

1. Entitlements per runtime kind

Canonical values live in `packages/pricing` (`BASE_ENTITLEMENTS` / `BOOSTED_ENTITLEMENTS`) and are seeded into `plan_versions` / `plan_entitlements` and applied per runtime in `runtime_resources`.

n8n (n8n Cloud)

| Resource | Base | With Resource Boost |

| --- | --- | --- |

| vCPU | 2 (hard limit) | 4 (hard limit) |

| RAM | 4 GB (hard limit) | 8 GB (hard limit) |

| Persistent storage | 40 GB | 80 GB |

| Monthly outbound transfer | 250 GB | 500 GB |

| Concurrent workflow executions | 5 | 10 |

| Backup retention | 7 days | 14 days |

| Log retention | 7 days | 30 days |

| Included AI credit | €0 | €0 |

OpenClaw and Hermes Agent (OpenClaw Cloud / Hermes Cloud)

| Resource | Base | With Resource Boost |

| --- | --- | --- |

| vCPU | 2 (hard limit) | 4 (hard limit) |

| RAM | 4 GB (hard limit) | 8 GB (hard limit) |

| Persistent storage | 40 GB | 80 GB |

| Monthly outbound transfer | 250 GB | 500 GB |

| Concurrently active agent tasks | 2 | 4 |

| Concurrent managed browser sessions | 1 | 2 |

| Backup retention | 7 days | 14 days |

| Log retention | 7 days | 30 days |

| Included AI credit | €5 / month (non-rollover) | €5 / month (non-rollover) |

Complete

Complete includes one n8n runtime, one OpenClaw runtime, and one Hermes Agent runtime. Each runtime receives its own entitlements **individually** (n8n gets the n8n envelope, agents get the agent envelope); compute, storage, and transfer are never pooled across the three runtimes, so one runtime cannot starve the others. Complete includes €12/month shared AI credit across its runtimes and a three-member team allowance.

2. Enforcement points

Limits are enforced at multiple layers so that a limit holds even if one layer fails:

  • **Compute (CPU/RAM)**: enforced at the infrastructure layer — the runtime service is provisioned with exactly the plan's vCPU and memory; the provider applies the resource plan on plan changes (`applyResourcePlan` in the runtime adapters). These are hard caps at the container level.
  • **Storage**: enforced by the provisioned persistent volume size (per-runtime volume, sized to the entitlement) plus the monitoring engine's usage accounting. At 100% of the allowance, new work is blocked.
  • **Monthly outbound transfer**: enforced by the monitoring/limit engine (`apps/worker/src/monitoring.ts`) which collects usage snapshots and, at 100%, rate-limits or blocks new outbound work until the allowance resets or the plan is upgraded.
  • **Concurrency**: enforced at the runtime layer where the image supports it (n8n: `N8N_CONCURRENCY_PRODUCTION_LIMIT` / `QUEUE_CONCURRENCY` set from `maxWorkflowConcurrency`; agents: task and browser-session caps checked by the platform). Exceeding the cap blocks new executions/sessions rather than silently allowing more.
  • **Retention**: backup and log retention are enforced by the retention worker; expired artifacts are deleted per the retention window.
  • Every enforcement decision is recorded: `limit_events` stores each threshold crossing per runtime (70/85/95/100%), and `runtime_operations` records the operation that applied a resource plan.

    3. Warning thresholds

    The limit engine compares measured usage against the entitlement and emits warnings at **70%, 85%, 95%, and 100%** of storage and of monthly outbound transfer (threshold constants in `packages/pricing`). Warnings surface as dashboard notifications and email (`notifications`), each recorded once per runtime per threshold (`limit_events.notified`).

    4. No overage billing

    Exceeding a limit never produces a charge:

  • At 100%, data is preserved and new work is paused; the customer is offered an upgrade (Resource Boost or a higher plan) — never billed for the overage.
  • There is no meter-based component in any plan. Fixed pricing means the limit is the contract.
  • The only usage-sensitive purchase is optional prepaid AI credit, which is a fixed published amount chosen in advance (see `docs/ai-credit-system.md`).
  • 5. Notes

  • You can create as many workflows (n8n) or skills/memories (agents) as your storage and runtime capacity support; execution capacity is what the concurrency limits cap.
  • Usage accounting uses `usage_snapshots` (transfer, workflow executions, agent task counts per period) and `metric_snapshots` (CPU, memory, storage). Metric fields are nullable: a null value means "data unavailable" and is displayed as such — never an invented number.
  • Resource Boost is attributed to one explicit runtime via `subscription_items.runtime_id` and reflected in `runtimes.has_resource_boost`.
  • 6. Related documents

  • `docs/fixed-pricing.md` — what the limits mean for customers
  • `docs/monitoring.md` — how usage is measured and thresholds fire
  • `docs/database.md` — runtime_resources and limit_events schema