# End users An end user is a person your product serves, under your own ID. Give each their own agents, caps and token, and bill them from what their agents cost. ```sh harebox platform set --enabled true harebox end-user set ada --policy '{"wakes_per_hour": 60, "compute_monthly_usd": 5, "ai_monthly_usd": 3}' harebox agent new --end-user ada --name ada-assistant harebox end-user info ada harebox end-user usage ada ``` ## Policy | Field | What it does | |---|---| | `wakes_per_hour` | Messages their agents take in any hour. Past it, `429 end_user_rate_limited`. | | `compute_monthly_usd` | A monthly budget on their agents' machine time. At it, their agents stop. | | `ai_monthly_usd` | Each of their agents' monthly AI budget at the credentials proxy. | | `idle_seconds` | How long their new agents stay awake when idle. | `harebox end-user suspend ada` puts their agents to sleep and refuses their messages until `resume`. Deleting an end user deletes their agents and tokens. ## Tokens for their browser or app ```sh harebox end-user token ada --ttl-seconds 900 ``` The token lasts 30 to 3,600 seconds and reaches only that end user's agents. By default it can only send and read messages (`agent.message`); ask for `file.read`, `desktop` or `events.read` too when your app needs them. ## Billing your users `harebox end-user usage ada` gives their agents' machine cost and their messages for a period. Their agents' sandboxes carry the label `end_user`, so `harebox usage export` groups by it too.