Best Poker Bot

Methodology

By Theo Brandt, independent poker bot operator ·

The test used one room (PPPoker), several commercial bots and an identical network environment per seat, with 26,000+ dealt hands in total. This is my own setup, described in general terms, together with what I did not control for.

Why the test ended

The test ran for several weeks. PPPoker then shipped a major update to its Windows client, after which the desktop bots in the field (Warbot, Shanky) could no longer attach to it, and their vendors did not adapt them. That ended the test. I had not run out of hands or budget. Continuing on broken products would have produced misleading numbers, so I stopped, locked the dataset, and wrote it up. Every price, ban event and winrate figure in this comparison is what those products looked like in that period.

Why PPPoker

Every product I ran either ships native PPPoker support or has a community profile for it. That is a low bar: most of these bots do not run on regulated tier-one rooms like Pokerstars or GGPoker, but it made PPPoker the one room where the field could start in the same place. For the OpenHoldem-family desktop bots, PPPoker has well-maintained table maps. For the Android-emulator products (NZT Poker, PokerBotAI), PPPoker is among their primary supported rooms. For 3upgaming, PPPoker is the first room in their advertised list. Products that do not list PPPoker (Inhuman, Deepermind) and PokerBot.com's resold profiles were not part of the test; they are covered on the comparison page from public data.

The setup

Desktop products ran in Windows VMs, each from its own clean image. The emulator products shared one Android emulator host configuration. All proxies routed through a single residential-grade IP pool: same vendor, same region distribution. FakeGPS-style location randomisation was enabled on every Android instance, with GPS coordinates correlated to each IP's location. Session schedules were randomised across the day, with no seat running long continuous sessions.

Configuring each product

Stock configurations first. Every product was first tested in its out-of-the-box recommended profile. Products that ship several profiles (Shanky/BonusBots, Warbot) were run on more than one. The vendor-side products (NZT, PokerBotAI, 3upgaming) were configured per the vendor's documentation, with all anti-detection options enabled.

Where vendors offered guidance on proxy / GPS / behavior, I followed it. I did not skip any product's recommendations and handicap it that way. If a vendor said "use mobile IPs," I used mobile IPs. If they said "limit sessions to a few hours," I limited sessions. Anyone who tells you a bot's success is independent of operator discipline has not actually run one.

Stakes and the opponent pool

Why low stakes. The test ran at micro-stakes cash on PPPoker, plus a thin slice of tournament play where the product advertised it. A bot's decision logic does not change between micro and mid-stakes. The strategy file, table-map, and CFR weights all compute the same action regardless of blind size. The per-hand fuel cost on the metered products does change with stake: NZT Poker and PokerBotAI both price fuel as a function of stake and room. Staying at micro-stakes kept fuel spend down without changing what any product was trying to do. This is also why the "realistic ceiling" notes for each product (NL50 for Warbot, micro-stakes for Shanky and so on) come from each vendor's published guidance and forum reception, not from observed performance at higher stakes.

Who was at the table. The opponent mix is what showed up on those micro-stakes PPPoker clubs: a working pool of recreational players, some grinders, a known but unquantified bot presence from competing operators. Same opponent profile across all tested products, because the seats were rotated across the same tables on overlapping schedules. Seats from different bot products ended up playing each other in the same game; that's part of why the comparison is meaningful. They all faced the same competition, including each other.

Hand counting

More than 26,000 dealt hands in total. A "setup" means a fresh seat with a fresh account on a fresh proxy, run on one product and profile until it reached the hand target or got banned, whichever came first. Banned setups count for their pre-ban hands plus a noted ban event. The two products that finished positive (NZT Poker clearly, PokerBotAI within noise) both kept running through the whole test without a ban.

What I did not control for

The opponent pool drifted week to week. I cannot prove the same fish density at the start of the test as at the end. The order in which products were run means later products faced a marginally more bot-saturated pool. The proxy provider had outages, which I treated as missing data rather than excluding the affected seats. I am one person with one bench. Replicating this on a second operator's bench would produce slightly different numbers, possibly different rankings within the bottom half of the table.

The gap between the top two (NZT Poker, PokerBotAI) and the rest is large enough that bench noise does not explain it. NZT finished clearly positive, PokerBotAI finished positive within noise, and everyone else I ran was in the negative.

What I did not test

The club-side services that several products advertise (filling seats at a club owner's tables, generating rake) were not in scope. That is a different evaluation. The question is whether the club owner makes money, not whether the bot does, and it requires cooperation with a club owner to run honestly. Both NZT and PokerBotAI advertise this; 3upgaming advertises it; PokerBot.com mentions it. None of those services are reflected in the comparison.

I also did not test on Pokerstars, GGPoker, or any other tier-one regulated room. The Android-emulator products do not support them, and the OpenHoldem-family products that nominally do get caught faster than a test could run. For a room I get asked about but did not test, see my documented-record read on ACR poker bots, kept explicitly separate from test results.

The result one more time

Across 26,000+ hands of PPPoker, the two neural-net bots finished ahead (NZT Poker clearly, PokerBotAI within noise). The rule-based bots (Warbot, Shanky) were negative. One was a scam (3upgaming). For the per-criterion scoring, see criteria. For the full per-product writeup, return to the comparison.