Docs

Concepts

Limits and warm-up

Read effective limits, warm-up levels, and how the action ledger records usage.

View Markdown

Limits are calculated separately for each account and action group. The value you enter may not be the value being enforced. The mode, warm-up week, and slowdown state can also change the result.

Safe baseline limits

The table below shows baseline values before warm-up or slowdown multipliers. Spacing is the interval between actions in the same group, not the time needed to complete a job. The full table, generated from code, is in the Limits reference.

Action group Actions/day Spacing, seconds
Message strangers — stranger_message 20 120–420
Reply — reply_message 300 3–15
Join a group — join_group 5 900–2,700
Leave a group — leave_group 5 600–1,800
Scan a group — scan_group 10 20–90
Open a profile — open_profile 100 5–20
Search for groups — search_groups 20 30–120
React — react 20 30–180
Edit a profile — edit_profile 2 0–0
View a channel — view_channel 30 60–300
Check SpamBot — spambot_check 2 600–900
Create a group — create_group 3 600–1,800
Invite to a group — group_invite 20 60–300
View a story — view_story 200 3–20
Post a story — post_story 3 1,800–5,400
Create a bot — create_bot 2 900–2,700
Edit a group — edit_group 10 60–300
Create a topic — create_topic 20 30–180
Moderate members — moderate_member 30 10–60

Weekly limits are 5 times daily limits. Members collected through group scans have a separate cap of 2,000 members/day. Community reference values in the configuration are used only for warnings. They are not guaranteed limits.

null, zero, and missing values

These representations mean different things:

perDay value Meaning
Missing field Inherit from the layer below
null Explicitly set no cap (effective only in Free)
0 Block the action group
Positive number Daily action cap

The resolver prioritizes account configuration, then workspace, platform, and baseline values. In Safe, null cannot be used to remove the cap.

Free has its own rule: if neither the workspace nor the account sets a limit or spacing, that group defaults to no cap and no spacing. Platform configuration still plays a role in Safe and during slowdown.

Warm-up by week and account age

Safe uses this default curve:

Warm-up week Limit percentage
1 15%
2 30%
3 50%
4 75%
5 onward 100%

The new age group starts at week 1; mid at week 2; old at week 3. Every 7 days from the warm-up start adds another week. This is elapsed time from the warm-up start, not calendar weeks.

Week 1 blocks messages to strangers and group invitations. Its separate daily caps are 2 group joins, 1 group creation, and 1 story post.

When Slowed down, the limit multiplier is 0.5 and spacing is 2 times the normal interval. Do not look only at baseline numbers to predict whether a job can run.

Where does usage come from?

Usage is counted only from the append-only action ledger (action_events). Records are added, not edited. The messages visible in Inbox are not the counter, and deleting displayed content does not reset usage.

An action whose execution on Telegram is uncertain still counts as a precaution. If confirmation arrives late, the system reconciles it rather than counting the same send again.

Day boundaries follow each account’s time zone, not your browser’s clock. If reading the ledger fails, the system does not treat that as zero usage.