# Limits, run hours & safety

> How action limits, run hours and pacing work, how X-Buddy reacts when X pushes back, and what it will never do.

Source: https://x.builera.app/docs/en/limits-and-safety
Last checked: 2026-10-24

## You set the limits {#you-set-the-limits}

X-Buddy ships **no preset caps** on new workspaces. How much each X account may do, and when, is your decision. With nothing set, X-Buddy applies no ceiling of its own: no daily cap, no run-hours window, no breaks, no warm-up. That does not turn automation on by itself, and it does not remove X's own restrictions — X can still slow, challenge or limit an X account.

> [!WARNING]
> No ceiling means X-Buddy won't stop you from doing too much. Set limits you're comfortable with before you enable campaigns or growth tasks.

## Three layers {#three-layers}

Every setting is resolved separately, from the most specific layer to the least:

1. **X account** — set on one X account (**X account → Limits**).
2. **Workspace** — your defaults for every X account (**Settings → Default limits**).
3. **Platform** — X-Buddy's own base value, if any.

Within a layer, a value means:

| Value | Meaning |
|---|---|
| a number | that is the ceiling |
| **no ceiling** (`null`) | X-Buddy doesn't limit this action — and an explicit no-ceiling on an X account overrides a number set in the layer below |
| **0** | none allowed |
| *not set* | inherit from the next layer |

Workspace limits are applied to all X accounts without overwriting limits you set on individual X accounts. Only Owners and Managers can change limits.

## What can be limited {#what-can-be-limited}

Per action — follow, unfollow, like, bookmark, reply, repost and quote, new post or thread, new message, message reply, join a community, add to a list, edit the profile, moderation, reads and sync — you can set a **daily** limit and a **7-day** limit.

- The **daily** limit resets at midnight in the X account's own time zone.
- The **7-day** limit is **rolling**: it looks at the last 7 days, not a calendar week. A job waiting on it starts again as older actions age out.

## Run hours, breaks and pacing {#run-hours-breaks-and-pacing}

- **Run hours** — the hours of the day an X account may work, in the X account's time zone. With run hours off, all 24 hours are allowed. A job outside the window waits (**Outside run hours**).
- **Breaks and rest days** — optional pauses during the day or on chosen days (**On a break**, **X account rest day**).
- **Delay between actions** — a minimum gap between two actions of the same kind (**Waiting for the required interval between actions**). Turning it off doesn't remove the time X itself needs to load pages.
- **Warm-up** — optional weekly multipliers that start a young X account gently, and can keep an action blocked in the first weeks (**Not yet available during warmup**). The number of weeks is whatever you configure.

Some things you ask for directly, such as a check or read you start yourself, are allowed outside run hours. They still respect safety and limits.

## When X pushes back {#when-x-pushes-back}

X-Buddy watches what X shows during work and **only ever lowers** an X account's safety state on its own:

| Signal from X | Safety state |
|---|---|
| Rate limit | **Throttled** |
| Captcha, phone or email verification | **Verification required** |
| Restricted, follow blocked | **Restricted** |
| Locked | **Locked** |
| Suspended | **Suspended** |

Only **Healthy** and **Throttled** X accounts receive work.

### Rate limit: wait 30 minutes {#rate-limit-wait-30-minutes}

When X itself reports a rate limit, the X account's work waits until **30 minutes** after the latest rate-limit result (**X rate limit reached — X account will resume automatically after a pause**). This happens even when you have no limits set. The signal also moves a Healthy X account to Throttled (it never improves a worse state). After the pause, work resumes by itself unless another hold reason still applies.

### Getting an X account back to healthy {#getting-an-x-account-back-to-healthy}

Normal signals never raise the state by themselves. Open the alert and choose **Let it run again**; a waiting period unlocks **Confirm resume**. For states that need proof — verification, locked — X-Buddy first checks that the X account signs in normally again. Resolve the issue on X first (see [Troubleshooting](/docs/en/troubleshooting)).

## Safety principles {#safety}

- **No captcha solving, ever.** X-Buddy never solves captchas or X verification. The X account stops, and you finish the check in [Remote view](/docs/en/x-accounts#sign-in-through-remote-view).
- **One fixed browser profile per X account**, matching its proxy, never random and never shared.
- **Executor only.** X-Buddy sends exactly the text you or your template wrote. No built-in AI changes or writes it.
- **Unknown stays unknown.** If X-Buddy can't tell whether a write happened, it checks X (reads only) before asking you, and never repeats it blindly — see [Unknown outcomes](/docs/en/troubleshooting#unknown-outcomes).
- **Do-not-contact is absolute.** A person on the do-not-contact list is never messaged, even by a job that was already queued.
- **A reply stops the person everywhere.** When someone replies, X-Buddy stops every live sequence for them in the workspace.

## Related {#related}

- [Core concepts](/docs/en/concepts)
- [Troubleshooting](/docs/en/troubleshooting)
