Poker Bot Q&A, Round 1

This is post #6 in an ongoing series of articles about my work as a poker bot developer.

I’ve received a lot of questions about the poker bot the last few days and rather than continuing to answer the same ones over and over, I’m just going to summarize them here.

Do you know how it was caught?

Not for sure, but I imagine the 40+ Heads Up SNG’s the bot was playing per day didn’t help (the average person might play 5-15/day). I don’t think it was an opponent, based on the fact that there wasn’t any suspicious chat in the weeks leading up to the suspension.

Lesson learned: don’t be greedy.

Are you OK with that?

Sure, I knew it would happen eventually. I had slowly started transitioning to a new project, ALL IN Expert, which was an extension of some of the technology I used to make the poker bot. As long as I was spending the majority of my free time on the bot, I couldn’t move on and focus on more legitimate long term ambitions. I wish it had happened earlier.

Why Heads Up No Limit?

Actually, the first year was spent trying to make a short stacking bot… just thinking about it makes me cringe.

I eventually realized that if I was going to continue working on a bot it might as well be something I enjoyed. I had a lot of experience with NL Heads Up SNG’s so it was the ideal choice.

Did you use anything to mask the bot’s process?


I wrote all the processes so it would have been difficult for PokerStars to look for a specific one.

What if they scanned the files on your computer? Or took screen shots?

I would hope that PokerStars stays away from massive privacy invasions like this.

Plus, there’s a lot of smart programmers writing add ons for PokerStars and I think that someone would have figured that out and publicized it by now if it was true.

PokerStars should have hired you to make a bot to attack Full Tilt. That’d be profitable for them because they’d knock out the competition.


What type of Artificial Intelligence were you using?

At its core it made decisions based on Expected Value calculations and some glorified conditional logic

… not too much unlike an intermediate player.

What were the descriptions on that original screen shot?

The descriptions reflected my opponent’s actions so far in those games plus any previous matches the bot had played against them.

The numbers were fed into the bot’s opponent modeling algorithms, which were ultimately used to calculate ranges, equity, and to make decisions.

Why didn’t you wait for a response from PokerStars? Why’d you only wait one week?

Actually, it’s been more than eight months and I think it’s fair to say they’re not going to respond at this point.

Did you make adjustments against frustrated opponents, as reflected by their chat?

No, their behavior usually took care of that.

If you really want to help, you shouldn’t have written about it.

I think writing about it does more for the long term security of online poker than not writing about it does.

Did you use SAGE at all?

Yes, for a time, but don’t use it for your bot.

An exploitative strategy will trump an optimal strategy.

Doesn’t PokerStars looked at mouse movement to detect bots?

No, based on the fact that I didn’t worry about it for 23 months and didn’t get busted.

“But”, you might say, “the locations where you click are recorded in the PokerStars log file.”

Yes, that’s true, but that’s mouse clicks, not mouse movement, and even so, I’d guess that it’s mainly used for support, not for security reasons. If it were really used for bot detection, do you think they’d log it all in an unencrypted text file?

Why didn’t you try to sell it to PokerStars?

That’s not how it works.

Was your account reopened?


They’d be risking too much reopening it. -EV.


Have questions? Email me: or post in the comments.

4 thoughts on “Poker Bot Q&A, Round 1

  1. Could you go into more detail about how you calculated EV and the conditional logic statements used?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s