Published August 13, 2026 · Source xai-org/x-algorithm

X For You Algorithm 2026: the official weights revealed by the xAI repo

On August 12, 2026, xAI released the second open-source wave of the X (Twitter) code under the repo xai-org/x-algorithm. 370,523 lines of code, full Phoenix + Grok + SimClusters architecture. After three years of speculation since the first the-algorithm repo of March 2023, we finally have the exact weights of every signal that boosts or kills a tweet in the For You feed. This breakdown separates real levers from busted myths.

60-second summary

Contents: How it works · Positive weights · Negative weights · 3 post-scoring cuts · How you enter the pool · Filters that kill a high score · Hidden levers (exclusive) · What to do · What not to do · FAQ

How For You scoring works in 2026

Contrary to what most creators think, Grok doesn't assign a global quality score to your tweet. It does something much more granular: for each potential reader, it predicts what that specific person will do with your tweet. Then it multiplies each prediction by a fixed weight, and sums them up. The total is the tweet's value for that reader specifically. The tweet with the highest score climbs highest in that reader's feed.

In other words, the same tweet can score 12 with reader A and 0.4 with reader B, depending on what the model predicts each will do (copy the link vs just scroll). The score doesn't exist in absolute terms. It's rebuilt at every feed opening, for every (tweet, reader) pair.

The prediction model itself is a 2560-dimension transformer, 8 layers, looking at 1,022 items of reader history. Its weights are not in the repo. But the formula that applies weights on top of predictions is published openly, and that's what follows.

What the algorithm rewards: weights that lift a tweet

Here are the exact weights in descending order of impact. These are production values synced August 12, 2026, as exposed in the phoenix-rankall/ module.

Reader's predicted actionWeightLike equivalent
Copies the tweet link and shares it+2040 likes
Replies to an original tweet, if you mutually follow (5 + 15 bonus)+2040 likes
Quote-tweets+510 likes
Replies (non-mutual)+510 likes
Shares via DM+510 likes
Follows you from this tweet+48 likes
Taps the "share" button+24 likes
Reposts+12 likes
Likes+0.5baseline
Taps the tweet (opens it)+0.40.8 like
Opens an external link+0.20.4 like
Expands photo / opens video / "quality" video view+0.050.1 like
Taps a quoted tweet+0.050.1 like
Keeps reading (dwell time, per tick)+0.004negligible
Binary "dwell" yes/no0zero
Taps your profile0zero
Key insight: copy-link is the real king. A tweet that makes people want to share it privately (via DM, screenshot then copy-link) is worth 40 times a tweet that just collects silent likes. And profile visits count zero. Farming profile clicks does nothing for ranking.

What kills a tweet: penalties

The negative weights are massive. A single predicted negative signal can wipe out dozens of predicted likes.

Reader's predicted actionWeightLikes canceled
Reports the tweet-234468 likes canceled
Mutes you-58.8117 likes canceled
Taps "Not interested"-43.286 likes canceled
Blocks you-31.262 likes canceled
Doesn't dwell (immediate bounce)-0.02negligible
Counter-intuitive: a silent mute (-58.8) does nearly twice as much damage as a loud block (-31.2). "Not interested" (-43.2) is also worse than a block. These UX buttons that feel "light" from a user standpoint are actually the most punishing signals for your account.

Three systemic cuts after scoring

1. Same-author penalty in the same feed

Your first tweet in a reader's feed keeps its full score (multiplier 1). Your second tweet in the same feed is multiplied by 0.625. Your third by ~0.44. The penalty keeps dropping but floors at 0.25. Flooding a feed is explicitly coded against. Spacing your posts is an algorithmic decision, not just a nice editorial habit.

2. The 25% tax (non-follower)

If the reader doesn't follow you, your score is multiplied by 0.75 before ranking. That's the famous "in-network bonus" flipped. More counter-intuitive: the same tax applies to replies and reposts even if the reader follows you. Only original tweets from followed accounts keep full weight. Replies and reposts are structurally weaker, even in-network.

3. Similar-post reranking

After the initial score, a reranker with a θ = 0.65 threshold trims tweets that are too similar to one another. You can lose several slots in a feed simply because your tweet looks too much like the one just above. Two very similar threads on the same topic won't climb together, even if both score high individually.

How your tweet enters the candidate pool

For You is rebuilt at every app open. About 35 publications make the final feed you scroll. Before scoring, they must first enter the candidate pool via one of three channels:

Once in the pool, Grok scores every candidate together. It ignores the entry door, except for the -25% tax applied when the reader doesn't follow you.

Small account boost: if you have fewer than 1000 followers, fewer than 1000 cumulated impressions, and your tweet is original and under 24 hours old, it can receive a boost that lifts it toward slot 15 or 16 of the feed. Never slot 1. And the tweet must already score in the top 85 percent of the stack. It's a nudge, not an elevator.

Filters that can still kill a high score

Ranking and visibility are two separate systems. A tweet can score first in For You and be pulled from the feed right after by a visibility filter. Two regimes:

In-network (followers): softer filters. Only blocks, mutes, suspensions. NSFW often stays behind a warning rather than being hidden.

Recommendations (out-of-network): much stricter filters. Removed: spam, "Do Not Amplify", NSFW, compromised accounts, impersonation. A tweet may stay visible to your followers and disappear entirely from For You recommendations.

Video case: the small +0.05 credit for "quality view" only applies if the video exceeds 10 seconds of watch time. Below that, it counts as a plain play, near-zero positive signal.

10 hidden levers (exclusive from direct source-code reading)

Direct reading of files in the xai-org/x-algorithm repo surfaced ten mechanisms not mentioned in the summaries floating around. Each point below is verifiable in the code (exact file path indicated).

1. The Premium moat via UserCredV2

The user credibility PageRank (user-cred-v2/UserCredV2App.scala:174) uses Premium accounts as its exclusive seed (blue, gold, gray verified, verified org, affiliate). Translation: if you're not Premium, your credibility score only grows through follows and engagements you receive from Premium accounts. The formula (UserCredV2.scala:10-18): score = clamp(0, 100, 165.2 + 7.07 × ln(mass)). A score above 50 exempts you from most Botmaker anti-spam rules. Structural moat.

2. Grox "slop_score": AI-generated content detection

The grox/flows/upa/models.py pipeline runs a Gemma classifier on every tweet and emits a slop_score (generic low-value AI content), has_minor_score, isHighQuality, isSpam. A high slop_score feeds enforcement_user.yaml:52-56 which applies the SpamHighRecall label for 30 days. For anyone generating AI content at scale: this is the most hostile lever of 2026. Tweets must have structure, specific context, not be paraphrased templates.

3. Report is 3x heavier than in 2023

The -234 report weight is three times more destructive than in 2023 (where it was around -74). xAI massively increased the report signal's power. An account accumulating reports also sees its PageRank mass drop via agatha/scalding/labels/reports_per_fav/ on a 30-day window.

4. New-user friction: the 5-follow wall

A new account with fewer than 5 follows has an OON factor of 0.00001 (home-mixer/params/config.rs:38). In other words: its tweets barely ever surface to non-followers. The condition to "exit the sandbox" is following 5+ accounts and exceeding an engagement threshold (NewUserMinEngagementFilter). Order to respect for a fresh account: follow 5+ accounts, then post.

5. Topic feed OON penalty is x0.5 (not x0.75)

The non-follower tax is 25% in the main feed, but climbs to 50% in a topic feed (TopicOonWeightFactor, param.rs:267-271). A tweet seen from a topic is twice as devalued as one seen from the regular For You.

6. BDSM: 8 named behavioral detectors

The BDSM transformer (bdsm/README.md:23-40) runs 8 detection heads with explicit names: FollowBot, LikeBot, EngagementAmplifier, ReplySpamBot, TweetSpamBot, RTBot, MultiActionBot. Uses time-aware RoPE to detect burstiness and mechanical cadences. Avoid at all costs: constant intervals between actions, repeating sequences, dozens of actions per minute. The model uses 256 action types and 512-token sequences.

7. Coordinated inauthentic behavior

grox/flows/reply_spam/classifier_coordinated_spam.py and Botmaker AgathaSpamProduction__ApplySearchTopTweetLabel.bot detect groups of accounts replying in coordination on the same content. Trigger anchor_campaign_suspend (direct suspension) or anchor_campaign_user (SpamHighRecall). Typical target: collectives boosting the same threads in sync.

8. Pinning a low-quality link = 7 days of spam label

botmaker-rules/scarecrow/bot/PinnedLowQualityOrBadUrl.bot: pinning a tweet containing a link classified BAD or LOW_QUALITY (by internal Twitter tables) applies the SPAM_HIGH_RECALL label for 7 days, even if you change the pin afterward. Every new follow re-triggers this evaluation. Watch for shady URL shorteners, unmasked affiliate links, blacklisted sites.

9. Grok reply spam on high-viz conversation

A reply on a viral thread rated by Grok with a spamScore ≥ 0.97 triggers RISKY_HIGH_VIZ_REPLY for 14 days (botmaker-rules/scarecrow/bot/GroxTweetProcessor.bot). Exemptions: accounts with cred score ≥ 50 (engaged Premium), gray verified, root conversation authors. Practical translation: opportunistic replies on viral tweets are under active AI surveillance.

10. Under the Hood: audit your own labels

xAI opened a under-the-hood/ tool that lets each user see the labels applied to their account (SpamHighRecall, RiskyHighVizReply, DoNotAmplify, etc.). New in 2026. Go check your own status: if you're silently labeled, you can course-correct before your reach collapses.

Redacted by xAI (anti-gaming): Grok's j2 prompts for ranking, exact BDSM thresholds (sink_policy.yaml shipped with sentinel 9.99), and some Botmaker rules are explicitly withheld from the repo to prevent direct exploitation. About 20 rules published out of the total.

What to do (in practice)

What not to do anymore

FAQ

Who published the X For You algorithm source code in 2026?
xAI, the company that runs X, published the code on GitHub under the xai-org/x-algorithm repo on August 12, 2026. This is the second open-source wave after the first the-algorithm repo from March 2023. 370,523 lines of code, full Phoenix + Grok + SimClusters architecture.
Which signal weighs the most in tweet scoring?
Copying the tweet link is worth +20 points. It's the heaviest positive signal, tied with a mutual-follow reply on an original tweet (5 + 15 mutual bonus). A like is only worth +0.5 point, meaning 40 times less than a copy-link.
Which signal kills a tweet the most?
A report is worth -234 points, equivalent to 468 likes annihilated. A mute is -58.8, worse than a block (-31.2). Silent mute does more damage than a loud block. "Not interested" is -43.2.
Does dwell time really count?
Much less than most people think. Binary dwell (yes/no a user stays on the tweet) is worth 0 point. Continuous time is only worth +0.004 per tick. Spending 10 more seconds on a tweet is worth less than a single like.
How long is a tweet eligible for For You?
48 hours max. Nothing older enters the candidate pool. No weekly best-of, no revival of older content. After 48h, a tweet is dead on For You and cannot rebound.
How can a small account break through with For You?
There's an explicit boost: fewer than 1000 followers, fewer than 1000 cumulated impressions, tweet under 24 hours old. This lifts an original tweet to slot 15 or 16, not position 1. The tweet must also score in the top 85% of the stack to benefit from this boost.
Does the mutual boost apply to reposts and replies?
No. The +15 bonus for a mutual-follow reply applies only to original tweets, not replies or reposts. xAI shipped a broader version in July 2026 then rolled it back after complaints during the World Cup.
Does the Following tab use the same algorithm?
No. The Following tab is a pure reverse-chronological feed, no weighting. This algorithm and its weights apply only to the For You tab.
Do profile visits help my reach?
No. Profile click is worth zero points in the formula. It's a totally ignored signal for For You ranking. Farming profile visits does nothing algorithmically, even if it can help your follow conversions.
Do scores change based on the reader?
Yes, totally. A tweet's score is rebuilt for every (tweet, reader) pair based on the model's behavioral predictions on that specific reader. The same tweet can score 12 with one reader and 0.4 with another. There's no absolute quality score.
Julien CTR
Julien CTR
Black hat SEO enthusiast · @CTRBooster75

Over 10 years on advanced SEO and qualified traffic in France. Daily public publications on X @CTRBooster75: more than 5 million impressions and 6,000 new followers in 2026. Original analysis of the xai-org/x-algorithm repo, weights verified August 12, 2026.