CashoutGuard: fraud prevention for rewards, GPT, faucet, PTC and offerwall sites.

How to stop bots on PTC and faucet sites

A paid-to-click or faucet site pays a few cents at a time, so a single human is not the threat. The threat is a script that clicks every ad on a thousand accounts, or a farm that claims every faucet on every account and withdraws to the same few wallets. This guide covers how to spot them without punishing real users.

Short answer

Stop PTC and faucet bots by linking accounts to devices and withdrawal wallets and checking the withdrawal, not every click: timers and captchas only slow automation down. Group withdrawals by address first, because one FaucetPay email or wallet paid for many accounts is the clearest sign of a farm.

Automation signs
Headless browsers, perfect timing, many accounts on few devices, datacenter networks, a handful of wallets.
Limits that work
Claims per account and per device, accounts per withdrawal wallet, no claims from datacenter networks.
Captchas
Raise the cost of automation, but solving services get through.
Instant payouts
Keep them for clean accounts; the check takes a fraction of a second and fails open.

Why PTC and faucets attract automation

The reward per action is tiny, but actions are unlimited in number: every ad view, every claim, every shortlink. A human earns a few dollars a month. A script running on a hundred accounts, around the clock, earns a hundred times that, and its cost is close to zero.

The advertisers who buy PTC views and the faucets' ad partners notice when the traffic never converts. They lower the price they pay per view or stop buying altogether. For the site, automation costs twice: the rewards paid out and the advertising revenue lost. Both grow with every account the farm adds.

What automated traffic looks like

  • Headless browsers and automation tools. Selenium, Puppeteer and Playwright leave traces in the browser that a collector can detect, even with stealth plugins.
  • Perfect timing. A view timer of 15 seconds completed in 15.0 seconds every time, claims exactly when the cooldown ends, no pauses at night.
  • Many accounts, few devices. The same browser or emulator logging in under dozens of usernames, often after clearing cookies.
  • Datacenter and proxy networks. Scripts run on servers or behind rotating proxies, not on home connections.
  • A handful of wallets. Hundreds of accounts withdrawing to a few FaucetPay, Litecoin or USDT addresses.

Protecting ad views

A PTC view is only worth paying if a person saw the ad. Three checks catch most scripted views:

  1. Scan the device when the view starts. Automation flags, emulators and datacenter networks are known before the timer even runs.
  2. Require focus and activity. Count the timer only while the tab is visible, and ask for a simple interaction at the end.
  3. Look at speed and rhythm per account. Humans are irregular. A day of views spaced exactly like a cron job is not a person.

Mobile traffic needs a little care. Many PTC users browse from phones, some inside the WebView of a rewards app, where screen sizes, fonts and graphics look alike across thousands of devices. Rely on the persistent device ID and the network more than on the fingerprint alone there, and treat an Android emulator or a desktop browser pretending to be a phone as the strong signal it is.

Record each credited view as an event with the ad ID. When an account turns out to be a bot later, you can see exactly which views to remove and which advertisers to credit back.

Protecting faucet claims

Faucet claims are the same problem with a different reward. Keep the cooldown, but also limit claims per device and per wallet, not only per account. A farm can create accounts faster than you can ban them; it cannot as easily multiply devices and wallets.

LimitStops
Claims per account per periodSingle-account bots
Claims per device per periodMulti-account farms on the same browser or phone
Accounts per withdrawal walletFarms that consolidate earnings
Claims from datacenter networksScripts running on servers

Check the withdrawal, not every click

You do not need to be perfect on every view. The withdrawal is where the money leaves, and by then the account has a full history. Before paying, check whether the account shares a device or wallet with other accounts, whether it ever used automation, and how its earnings compare with a normal user's.

$r = $cg->evaluate([
    'event'          => 'cashout',
    'account_id'     => (string) $user->id,
    'request_id'     => $request->input('cg_request_id'),
    'amount'         => $usd,
    'currency'       => 'USD',
    'payout_method'  => 'faucetpay',
    'payout_address' => $faucetPayEmail,
]);
if (! $r->isAllowed()) {
    $withdrawal->status = 'review';   // a person looks before any money moves
}

Instant payouts are a selling point for faucets. Keep them for accounts that pass the checks and hold only the flagged ones. Honest users keep their instant payments; farms lose theirs.

Referral farms

PTC and faucet sites often pay a share of each referral's earnings for life. Farms exploit it by referring their own bot accounts: the bots do the clicking and the "upline" collects the commission. Because the upline never clicks anything suspicious itself, it looks clean. Look at the whole referral tree instead: when most of an account's referrals share devices, networks or withdrawal wallets with each other, the commission is the fraud.

Paying referral commissions only on earnings that pass the withdrawal check, and holding them for a few days, removes the incentive without touching honest referrers.

Measuring your bot share

Before tightening anything, measure. Run the checks in shadow mode for a week and look at the share of views and claims that came from automation, emulators or datacenter networks, and the share of withdrawals going to wallets used by more than one account. Most PTC sites are surprised by one of the two numbers. Watch them again after each change: a good rule lowers them without lowering the number of real users who withdraw.

What to tell your advertisers

Advertisers who buy PTC views know the channel has bots. What they want is evidence that you filter them. A short monthly note with the share of views you removed as automated, and a promise that you do not bill for those, turns bot filtering into a sales argument and supports higher prices per view.

Next steps

Start in shadow mode to see how much of your traffic is automated before changing any rule. The cashout checklist covers the withdrawal review, the multi-accounts guide explains device and wallet linking, and the blocking guide shows where to act. CashoutGuard is free up to 1,000 monthly users; see pricing.

Frequently asked questions

Can bots pass a PTC timer?

Easily. A timer only proves that time passed. Checking for automation tools, tab focus and whether the device belongs to many accounts is what tells you a person was there.

Should I block every VPN user on a faucet?

Not automatically. Many crypto users use VPNs for privacy. Block datacenter and Tor traffic more strictly, and treat a VPN as one signal among several.

How do I find wallet farms?

Group withdrawals by address. One FaucetPay email or wallet paid for many accounts is the clearest sign of a farm, and it is the check to run first.

Will this slow down instant payouts?

Only for flagged accounts. Clean accounts keep instant payouts; the check itself takes a fraction of a second and fails open if the service is unreachable.

Keep reading