← back to blog

Case study: running 500 Reddit accounts for upvote services

Case study: running 500 Reddit accounts for upvote services

i’ve spoken to a lot of operators over the past two years through the multiaccountops community. most of them run 20-50 accounts for personal use, maybe drip-feeding content across subreddits or testing affiliate landing pages. but occasionally someone is running something bigger, and those conversations are the ones worth writing up.

this case study is based on an extended conversation with a Southeast Asia-based operator, who i’ll call M, who built and runs a Reddit upvote service as a client-facing business. at peak he was managing just under 500 accounts. the service sells upvote packages to SaaS founders, content marketers, and occasionally PR agencies who want posts on r/entrepreneur, r/smallbusiness, and similar communities to clear the vote threshold before they die in the new queue.

the headline result after 14 months of operation: M built a recurring client base of around 30 clients, with monthly revenue in the $2,500-$4,500 range. those numbers aren’t life-changing but the operation runs at roughly 60% margins once the infrastructure is dialled in, and it’s largely automated. this is not a story about getting rich. it’s a story about what the stack actually looks like, what keeps breaking, and what you’d do differently.


the setup

M started with 50 accounts and scaled to 500 over about eight months. the architecture at 500 accounts looks like this:

antidetect browser: GoLogin (Business plan, $149/month at time of setup). each account gets its own browser profile with a unique fingerprint. GoLogin stores profiles in the cloud which matters when you‘re managing this count, because jumping between machines doesn’t reset your session state. antidetectreview.org has a comparison of GoLogin versus alternatives if you’re deciding on a browser at this scale. M considered Multilogin but the pricing differential at 500 profiles was significant, around $100/month more.

proxies: residential rotating from Smartproxy, ~$3.50/GB on a 100GB/month plan. reddit is not especially bandwidth-heavy per session but 500 accounts doing upvote actions across a day adds up. M’s average is 60-80GB/month. he assigns each account a sticky session proxy tied to a specific geo, because accounts registered with a US IP should consistently log in from US IPs. mixing geos on the same account is one of the faster ways to trigger a checkpoint.

account sourcing: mixed. roughly 300 accounts are self-registered, built over time using burner email addresses and SMS verification via SMS-Activate (~$0.15-0.25 per US number). the remaining 200 are aged accounts purchased from a private seller M found through a forum. aged accounts (12+ months, 100+ karma) cost $2-8 each depending on activity. total one-time account acquisition cost at this scale was approximately $900-1,400.

automation layer: Python scripts using the Reddit API via PRAW combined with Selenium for actions that can’t go through the API without triggering rate limits differently. M runs this on a $20/month Hetzner VPS. the scripts handle action queuing, account rotation, and cooldown timers between votes.

account tracking: Notion database with fields for account age, karma, last action date, current status (active/warming/banned), and assigned proxy. crude but functional at this count.

total recurring infrastructure cost: approximately $380-420/month.


what worked

1. karma stratification matters more than account count

not all 500 accounts contribute equally. M learned early that Reddit’s vote fuzzing, documented in their own help center, means that votes from accounts with under 50 comment karma on relevant subreddits often get stripped algorithmically within 24-48 hours. the visible vote count on a post may tick up and then drift back down.

the fix was treating accounts as tiered inventory. tier 1 (200+ comment karma in relevant subs) gets used on client posts. tier 2 (50-200 karma) gets used on warm-up content to build toward tier 1. tier 3 (under 50 karma) doesn’t touch client work at all. once M rebalanced this way, client post stickiness improved noticeably.

2. warming on low-risk subreddits first

new accounts or aged accounts that haven’t been active recently need a warming period. M runs a 3-week warming script that has accounts comment on r/AskReddit, r/mildlyinteresting, and similar high-volume, low-moderation communities. around 2-3 comments per week, plus upvoting random posts. this builds comment karma without attracting mod attention.

warming 50 accounts in parallel takes about 3 weeks to hit the 50 karma threshold. M runs a cohort of 30-40 new accounts through warming at any given time to replenish losses.

3. action spacing and randomisation

early versions of the automation fired upvotes in tight clusters. a post would receive 40 upvotes within a 90-minute window, which is obviously anomalous. M rebuilt the scheduler to spread actions over 6-18 hours with randomised inter-action delays between 4 and 22 minutes, drawn from a non-uniform distribution (more actions in the 8-14 minute range, fewer at the extremes, to avoid a flat random that itself looks synthetic).

this change alone dropped the account ban rate from roughly 15% per campaign to under 5%.

4. subreddit-specific account pools

some subreddits are easier to work than others. r/entrepreneur has lighter moderation than r/marketing. r/startups is harder than both. M maintains separate account pools mapped to subreddit tiers. tier A accounts (high karma, long history, active in the target sub) are reserved for harder subreddits. this prevents burning good accounts on easy placements.

5. client onboarding filters out bad orders

this is operational not technical but it matters. M declines orders on posts that are already flagged by automod, posts in subreddits with karma thresholds he can’t clear, and posts that are clearly spam with no engagement. taking bad orders burns accounts without delivering results, which creates chargebacks. M estimates filtering out roughly 20% of incoming orders saved him more in account replacement costs than it cost in revenue.


what broke

account loss from Reddit API changes

in mid-2023 Reddit’s API pricing changes and the subsequent third-party app crisis led to a wave of platform policy tightening. around the same time, a wave of account checkpoints hit M’s inventory. roughly 80 accounts (16% of the pool) hit phone verification demands over a two-week period. SMS-Activate numbers that had already been used couldn’t be recycled. M had to spend around $180 on fresh numbers to recover those accounts, and about 25 couldn’t be salvaged.

the lesson: keep a buffer of phone-verified numbers ready. buying in bulk from SMS-Activate at $0.15 each means stocking 100 numbers costs $15. the cost of not having them when a checkpoint wave hits is much higher.

proxy leakage across accounts

rotating residential proxies sometimes recycle IPs. in M’s setup, Smartproxy’s rotating pool would occasionally serve the same IP to two different account profiles within the same session window. Reddit’s backend correlates IPs with account activity, and two accounts logging in from the same IP in a short window is a linking signal.

the fix was switching to sticky sessions with a 24-hour lock, where each account has a dedicated proxy endpoint that doesn’t rotate during the session. bandwidth cost went up slightly but account correlation incidents dropped to near zero.

client expectation management

this is the most persistent problem and there’s no clean technical fix. clients buy upvote packages expecting visible vote counts to match the order. Reddit’s vote fuzzing means that’s not guaranteed. a 50-upvote order might show as 50, or it might show as 38 because some votes get stripped. M handles this by over-delivering by 15-20% and being explicit in the service terms that final counts depend on Reddit’s scoring algorithm. most clients who get the explanation are fine. the ones who aren’t were going to be problems regardless.


the numbers

after 14 months of operation, here’s what M’s unit economics look like:

monthly infrastructure: $380-420
account replacement and maintenance: $80-150/month (new accounts, SMS, occasional account purchases)
total monthly operating cost: ~$500-570

average order value: $45-90 depending on package size (25, 50, or 100 upvotes)
orders per month: 80-120
monthly gross revenue: $3,600-$10,800 (variable, typically $4,000-$6,000 in steady state)
gross margin after infrastructure: approximately 55-65%

client acquisition cost is low because M’s primary channel is word of mouth within founder and indie hacker communities, plus a small presence on forums. he’s never run paid ads. the initial 10 clients came from direct outreach on relevant subreddits and communities.

churn is moderate. clients who get good results on one campaign come back for others. clients who had posts flagged or removed despite the upvotes (which happens when the content itself violates subreddit rules) generally don’t return. M estimates 30-35% of clients place more than one order.

scaling beyond 500 accounts hits diminishing returns on attention. the bottleneck isn’t technical, it’s account quality maintenance. going from 100 to 500 accounts is manageable. going from 500 to 1,000 requires either more automation sophistication or another operator helping with account hygiene tasks.


lessons

1. account quality beats account quantity

100 well-warmed, karma-stratified accounts outperform 500 fresh ones. if you’re building toward a service, start with a smaller high-quality pool and build up rather than acquiring at scale immediately.

2. warming is infrastructure, not optional

the 3-week warming pipeline isn’t something you do once. it’s a permanent production process because accounts churn. factor it into your monthly time budget.

3. read the platform’s own documentation

Reddit’s content policy and their help articles on vote manipulation exist and are useful. understanding exactly what signals they describe as suspicious helps you build detection-aware automation. operating without reading these is operating blind.

4. randomisation needs to be realistic, not just random

uniform random distributions look synthetic. human behavior has time-of-day clustering, rhythms, and variance. model your automation on what a real person would plausibly do, not what a random number generator produces.

5. know the legal and compliance surface

this is not legal advice, but operators running any kind of engagement service should understand how the FTC’s endorsement guides apply to manufactured social signals. M’s service operates in a grey zone and he declines orders where a client is explicitly trying to mislead consumers about product reviews.

6. over-deliver and under-promise on metrics

Reddit’s vote fuzzing means you cannot guarantee an exact visible count. build this into your service terms and price accordingly. clients who understand this are better clients.


would I do it again

M’s answer was “yes, but I’d start with a cleaner playbook.” the first four months were expensive in terms of burned accounts and wasted proxy spend because the automation wasn’t sophisticated enough and the account stratification system didn’t exist yet.

the honest version of this business is that it works at $3,000-5,000/month gross with modest infrastructure costs, it’s mostly automated once set up, and it requires ongoing maintenance that most people underestimate. the warming pipeline, the account replacement cycle, the proxy hygiene, the client filtering. none of it is hard individually. together it’s a part-time job.

the ceiling is also real. reddit’s algorithm is actively adversarial to this kind of operation. the platform is publicly committed to fighting vote manipulation and periodically runs enforcement waves that hit account inventories hard. you are building on sand that shifts.

if you’re drawn to this kind of operation as a gateway into multi-account infrastructure, the skill transfer is real. the proxy management, browser fingerprinting, and account rotation knowledge from running a Reddit upvote service maps directly to other contexts, whether that’s airdrop farming, testing affiliate funnels, or managing social proof for launches. the infrastructure patterns repeat. the reddit-specific domain knowledge is just one application of them.

for operators newer to this space, starting with the fundamentals is worth the time before jumping to 500 accounts. the tools and guides on this site cover antidetect browsers, residential proxies, and account management patterns that apply here. specifically, the guide to antidetect browser selection and the residential proxy sourcing guide are the two pieces i’d read before committing to a stack. if you want to see how account warming compares across platforms, the reddit account warming guide goes into the specifics M covered above in more depth.

this case study reflects what one operator built. results vary with execution, market timing, and how much enforcement activity is happening on the platform at any given moment. if you’re thinking about building something similar, go in with realistic expectations and a solid understanding of your operating costs before you take your first client order.

Written by Xavier Fok

disclosure: this article may contain affiliate links. if you buy through them we may earn a commission at no extra cost to you. verdicts are independent of payouts. last reviewed by Xavier Fok on 2026-05-19.

need infra for this today?