Bitcoin Forum

Economy => Trading Discussion => Topic started by: payb.tc on May 09, 2012, 01:33:27 AM



Title: PHP martingale bot for satoshiDICE
Post by: payb.tc on May 09, 2012, 01:33:27 AM
so anyhooo, i went and wrote this script yesterday for playing satoshidice martingale-style.

it was a fun exercise, and i figure i'll share my complete code in case others find it fun/useful/interesting/noteworthy.

Code:
<?php
require_once('jsonRPCClient.php');
$b = new jsonRPCClient('http://YOURUSERNAME:YOURPASSWORD@127.0.0.1:8332/');

define('MIN_BET'0.01);
define('MAX_BET'6);
define('ADDRESS''1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp');

$bet MIN_BET;
$total_fees 0;
$count 0;
$count_won 0;

while ((
$bet <= MAX_BET) && ($count_won 100))
{
        
$count++;

        
$balance_a $b->getbalance('*'0);
        if (!isset(
$starting_balance)) $starting_balance $balance_a;
        
$b->sendtoaddress(ADDRESS, (float) $bet);
        
$balance_b $b->getbalance('*'0);

        
$fee $balance_a $balance_b $bet;
        
$total_fees += $fee;
        
$total_fees number_format($total_fees,8,'.','')+0;

        echo 
'Game #'.$count."\n";
        echo 
'Balance: ' $balance_a."       ";
        echo 
'Bet: '$bet."       ";
        echo 
'Fee: '. (number_format($fee8'.''') +0) . "       ";
        echo 
'Total Fees: '$total_fees"\n";
        echo 
'Balance: ' $balance_b "       ".'Waiting';

        
$balance_c 0;

        while (
$balance_b >= $balance_c)
        {
        sleep(4);
$balance_c $b -> getbalance('*'0);
echo '.';
        }

        echo 
"\nBalance: $balance_c       ";

        
$diff $balance_c $balance_b;

        if (
$diff $bet)
        {
                
$bet MIN_BET;
                
$count_won++;
                echo 
"Win! ($count_won out of $count)\n";
        }
        else
        {
                
$bet *= 2;
                echo 
'Lose!'."\n";
        }

        echo 
"\n";
}

echo 
'Starting Balance: '.$starting_balance."\n";
echo 
'Ending Balance  : '$balance_c."\n";
echo 
'Total Fees: '$total_fees."\n";
$amt_won $balance_c $starting_balance;
echo 
'Net Profit: '. (number_format($amt_won,8,'.','') + 0). "\n\n";

output looks something like...

Code:
Game #1
Balance: 11.37567619       Bet: 0.01       Fee: 0.0005       Total Fees: 0.0005
Balance: 11.36517619       Waiting...
Balance: 11.36521708       Lose!

Game #2
Balance: 11.36521708       Bet: 0.02       Fee: 0.0005       Total Fees: 0.001
Balance: 11.34471708       Waiting.........
Balance: 11.34479886       Lose!

Game #3
Balance: 11.34479886       Bet: 0.04       Fee: 0.0005       Total Fees: 0.0015
Balance: 11.30429886       Waiting...
Balance: 11.38554886       Win! (1 out of 3)

Game #4
Balance: 11.38554886       Bet: 0.01       Fee: 0.0005       Total Fees: 0.002
Balance: 11.37504886       Waiting.....
Balance: 11.37508975       Lose!

with a summary at the end somewhat like this:

Code:
Starting Balance: 11.37567619
Ending Balance  : 11.42477259
Total Fees: 0.006
Net Profit: 0.0490964

it's designed to run from the command-line by the way. it'll still work from a browser, but you may want to swap all the "\n" with '<br/>' or something.

warning: the martingale method of betting isn't foolproof. this script may cause you to lose your entire balance.
warning 2: even if the martingale method of betting were foolproof, my php code may not be... use at your own risk.

if you like this and want to send me a few bits for the effort, 1CxzfAQo2UK9rppeQNvNmAFhApPqmdVR8y :D


Title: Re: PHP martingale bot for satoshiDICE
Post by: ineededausername on May 09, 2012, 01:35:11 AM
move to gambling forum?

Also, nice work, I might use the damn thing soon :P


Title: Re: PHP martingale bot for satoshiDICE
Post by: SkRRJyTC on May 09, 2012, 01:36:10 AM
I love Satoshidice.  Fun as hell.  That being said... Scripting a -EV game is bad news...lol


Title: Re: PHP martingale bot for satoshiDICE
Post by: bearbones on May 09, 2012, 02:10:39 AM
woah, woah, woah, forgot to mention:

THIS NEEDS IT'S OWN WALLET!

i couldn't get this to run properly from an 'account' within a wallet, because when SD sends payments it ends up going unpredictably in all of your accounts...

so this is running from it's own instance of bitcoind, it's own wallet, with nothing else accessing it.


Correct me if I'm missing something, but wouldn't this be solved by using 'sendfrom' instead of 'sendtoaddress'?


Title: Re: PHP martingale bot for satoshiDICE
Post by: Stephen Gornick on May 09, 2012, 02:42:35 AM
I love Satoshidice.  Fun as hell.  That being said... Scripting a -EV game is bad news...lol

New to the gaming field, had to look it up:

 - http://en.wikipedia.org/wiki/Expected_value


Title: Re: PHP martingale bot for satoshiDICE
Post by: mem on May 09, 2012, 03:32:42 AM
I think you just invented a new kind of bitcoin mining.

those balances are real by the way... i started with exactly 10 btc.

...and expect to finish with approximately 0 btc once i've finished playing with this bot


Nice work, I was doing the same thing in perl last night (I use a modified martingale system).

I will post up my simulator tonight when I get home. I had some issues with GD Graph Lines generating graphed output (hates the negatives) so graphing the csv output is not supported yet.

I have to stress as someone who loves gambling and runs his own system these all fail and fail hard eventually.
You need to set a modest target profit then bail out when you hit it.

Using the vanilla martingale system with a x2 multiplier when the reward is *1.94 and not *2 will set you up to lose. I see you are using the 48.8281% chance 2.031x multiplier, this overcomes the issue while reducing odds in your favor.

I also have a spreadsheet on zoho docs I will share and post later (supposed to be working :P ), it plots out cumlative win, % odds of getting that far into the system.

Ive run my system at casino's on roulette and seen 14 straight blacks whens and last night when running sims against satoishi I saw 22 losses in a row - it can happen, be warned.

great script, Im going to use it as a reference to finish off mine (could not test last night due to the site being down).


Title: Re: PHP martingale bot for satoshiDICE
Post by: mem on May 09, 2012, 03:39:05 AM
https://sheet.zoho.com/public/mem.namefix/memtingale-basic-sim

martingale sim in a spreadsheet for those that are interested.

I will post the perl sim tonight (allows simulating as many rounds as needed, 20'000 is usually what i run).
It dumps output to a nice html 9then opens in firefox) file and csv.


Title: Re: PHP martingale bot for satoshiDICE
Post by: publio on May 09, 2012, 03:41:57 AM
As with any gambling venture, there is a chance of profits.. but there's an even greater chance of losses.

I hope no one will be misguided by that spreadsheet.  :P


Title: Re: PHP martingale bot for satoshiDICE
Post by: JoelKatz on May 09, 2012, 03:47:04 AM
Martingale changes the odds from a very high chance of losing a small amount of money to a very small chance of losing a large amount of money. It can't change the house edge though, so the higher the chances of a profit, the higher the losses in the unlikely event of a loss.

A typical Martingale progression, for example, needs a $10,000 bankroll to give you a 99.85% chance of winning $10. In the very unlikely case that you lose, though, you'll lose your entire bankroll. If you don't have that large a bankroll, you can't lose as much. But the odds that you will lose your entire bankroll go up.


Title: Re: PHP martingale bot for satoshiDICE
Post by: mem on May 09, 2012, 03:51:35 AM
out of curiosity i went to random.org (with my browser) and manually pulled 20,000 numbers (0 or 1) to see how often there were long runs of the same number.
there were only about 4 or 5 which had 12+ and i think around 25 or so which had 10+

10 will put you at 1024btc and a total cumaltive bet of 2047 BTC (1024+512+256+128+64=32+16+8+4+1) with a profit of 32.744btc.

i hope anyone that takes my code and changes it will consider sharing their modifications publicly.
good luck with it!

Well mine is perl, but Im happy to share.
I think sim's will be really useful here to stop people hurting themselves ;)

x2.5 - x3.7 Is the range of my secret multiplier ;) (well close) as can be seen in the spreadsheet linked.. x2 = fools game of a 2x reward, ever increasing bets to win your original 2x your original bet back.

Good luck all.

There are some good stories of millionaires bankrupting  themselves by playing the martingale system to the bitter end at a casino (hot tip, casino's cheat).


Title: Re: PHP martingale bot for satoshiDICE
Post by: mem on May 09, 2012, 03:53:23 AM
Martingale changes the odds from a very high chance of losing a small amount of money to a very small chance of losing a large amount of money. It can't change the house edge though, so the higher the chances of a profit, the higher the losses in the unlikely event of a loss.

Thats why I think playing a martingales system is for fools, you need to increase the reward as the risk increases.
3x instead of 2x is fun - dangerous but fun :)


Title: Re: PHP martingale bot for satoshiDICE
Post by: Nachtwind on May 09, 2012, 06:50:47 AM
A PowerShell Version:

Code:
Write-Host "Satoshidice"

$min_bet = 0.01
$max_bet = 0.1
$address = "1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp"


$bet = $min_bet
$total_fees = 0
$count = 0
$count_won = 0


$starting_balance = ./bitcoind getbalance

while ($bet -le $max_bet -AND $count_won -le 100) {

$count ++
$balance_a = ./bitcoind getbalance

$tx = ./bitcoind sendtoaddress "$address" $bet

$balance_b = ./bitcoind getbalance

$fee = $balance_a - $balance_b - $bet
$total_fees += $fee

Write-Host "Game: $count"
Write-Host "Balance: $balance_a"
Write-Host "Bet: $bet"
Write-Host "Fee: $fee"
Write-Host "Total Fees: $total_fees"
Write-Host –NoNewLine "Balance: $balance_b Waiting "

$balance_c = 0
$last_c = 0

while ($balance_b -ge $balance_c)
{
$balance_c = ./bitcoind getbalance

if(  ($balance_c -eq $last_c) -OR ($last_c -eq 0) )
{
Write-Host –NoNewLine "."
}else
{
Write-Host "Balance: $balance_c"
}

$last_c = $balance_c

}

$diff = $balance_c - $balance_b

if ($diff -gt $bet)
{
$bet = $min_bet
$count_won = $count_won + 1
Write-Host "Win! ($count_won out of $count)"
}else
{
$bet = $bet * 2
Write-Host "Lose!"
}

Write-Host ""
}


If someone thinks this is worth a donation... 1J66vZHf1oFPHFhjFBtbEqxkJahdF3vetu

Thanks payb.tc for your nice PHP Script :0) Donation on the way


Title: Re: PHP martingale bot for satoshiDICE
Post by: Nachtwind on May 09, 2012, 07:11:40 AM
Thanks payb.tc for your nice PHP Script :0) Donation on the way

thanks very much :)

i'm not even sure i've heard of PowerShell... it looks a lot like php.


Powershelll is, simplified, Bash for Windows. Much nicer scripting than with old Batch files ;)


Title: Re: PHP martingale bot for satoshiDICE
Post by: mem on May 09, 2012, 07:16:46 AM
A PowerShell Version:
~~SNIP~~
If someone thinks this is worth a donation... 1J66vZHf1oFPHFhjFBtbEqxkJahdF3vetu

Thanks payb.tc for your nice PHP Script :0) Donation on the way

thats some nice powershell there :)

Powershell is microsofts attempt to return to unix roots and its not a bad start at it either.
The amount of stuff you can now automate/script via powershell (outlook accounts, AD operations etc) is fantastic.


Title: Re: PHP martingale bot for satoshiDICE
Post by: Nachtwind on May 09, 2012, 07:25:09 AM
That IS a problem i just noticed myself after running a few games.. i wonder - how can you get 0-Conf balances via command line
bitcoind getbalance '*' 0 returns 0.000000 for me


Title: Re: PHP martingale bot for satoshiDICE
Post by: Nachtwind on May 09, 2012, 07:29:38 AM
That IS a problem i just noticed myself after running a few games.. i wonder - how can you get 0-Conf balances via command line
bitcoind getbalance '*' 0 returns 0.000000 for me

i don't know but i'm going to take a quick guess... have you tried without the single quotes?
bitcoind getbalance * 0


Everything just ends up with 0.00000 or "type mismatch" - only singlequotes worked so far... i keep trying and will update my script


Title: Re: PHP martingale bot for satoshiDICE
Post by: Nachtwind on May 09, 2012, 07:49:41 AM
same thing.. i either get the confirmed balance or no balance ><


Title: Re: PHP martingale bot for satoshiDICE
Post by: mem on May 09, 2012, 07:50:50 AM
im using the json API - I highly recommend it.

my pseudo code for determining if bet received.

Code:
# $last_bet = $bet;
# transaction_arr = get last N transactions;

# if($transaction_arr[0] < 0)
#   (negative number, sent transaction, loop and wait).
# else
#   must be a positive transaction, money recieved.
# $latest = $transaction_arr[0];

# confirm from address (satoshidice use same address for recieving and sending for each game).
# if($latest == $last_bet * $reward)
#   won, reset bets, loop
# else
# if ($latest == $last_bet * 0.004089)
#   lost, $bet *= $bet_multiplier, loop


Title: Re: PHP martingale bot for satoshiDICE
Post by: Nachtwind on May 09, 2012, 07:59:04 AM
would use the RPC.. but havent figured out how to use that in MSH so far ;) Under Linux and PHP its not a real problem..


Title: Re: PHP martingale bot for satoshiDICE
Post by: mem on May 09, 2012, 12:04:08 PM
link to my simulator, https://bitcointalk.org/index.php?topic=80361.msg889950#msg889950

good for simulating 20'000+ rounds :)


Title: Re: PHP martingale bot for satoshiDICE
Post by: camem on May 09, 2012, 06:31:55 PM
what's all this then

http://s13.postimage.org/udgfk60pv/satoshi.jpg (http://postimage.org/image/udgfk60pv/)


Title: Re: PHP martingale bot for satoshiDICE
Post by: byronbb on May 10, 2012, 04:44:49 PM

 

warning: the martingale method of betting isn't foolproof. this script may cause you to lose your entire balance.
warning 2: even if the martingale method of betting were foolproof, my php code may not be... use at your own risk.

if you like this and want to send me a few bits for the effort, 1CxzfAQo2UK9rppeQNvNmAFhApPqmdVR8y :D


I would demand a donation from SatoshiDice actually....  ;D

To ad to the warnings of this "system". http://www.mathworks.com/matlabcentral/fx_files/20137/2/untitled.jpg


Title: Re: PHP martingale bot for satoshiDICE
Post by: camem on May 10, 2012, 10:20:01 PM

as stated on their website rules, you can send to more than one of their games at once via a single 'sendmany' transaction.


Good answer, thank you

To make amends I'll make my next question luckier, by only asking it if the hash of it (mod 65535) comes in below a satoshi throw.


Title: Re: PHP martingale bot for satoshiDICE
Post by: julz on May 11, 2012, 04:03:12 AM
The Jinx is a magical being (often hangs around 2-up games) who grows a little stronger every time someone bets based on 'patterns' occurring in independent events.
The Jinx sometimes gets upset when someone tries to credit its hard work to 'gamblers fallacy' - and may give a run of good luck to the pattern-better just to piss off that interfering logic-nerd!



Title: Re: PHP martingale bot for satoshiDICE
Post by: Kris on May 14, 2012, 07:57:24 AM
So yeah I made 3 btc, and today I lost it all, pretty neat script though, worked perfect :)


Title: Re: PHP martingale bot for satoshiDICE
Post by: someguy123 on June 01, 2012, 03:58:26 PM
Here's my modified version with a few more sanity checks, it even waits for your balance to be confirmed.
I was testing it out and it worked great, but one issue was, I had it running so quickly, that I ran out of confirmed balance, and had nearly 2BTC unconfirmed, so I added a function to check whether you actually have enough balance confirmed to even send it, if not, it waits 1 minute, and repeats until you have enough balance.

Code:
<?php
require_once('jsonRPCClient.php');
/** BITCOIN **/
$btcu = array("user" => "",             // RPC Username
            
"pass" =>   "",               // RPC Password
            
"host" =>   "localhost",      // RPC Hostname/IP
            
"port" =>   9332);            // RPC Port
$b = new jsonRPCClient("http://{$btcu['user']}:{$btcu['pass']}@{$btcu['host']}:{$btcu['port']}");

define('MIN_BET'0.05);
define('MAX_BET'6);
define('ADDRESS''1dice97ECuByXAvqXpaYzSaQuPVvrtmz6');

$bet MIN_BET;
$total_fees 0;
$count 0;
$count_won 0;
while ((
$bet <= MAX_BET) && ($count_won 200))
{
        
$balance_a $b->getbalance('*'0);
        if (!isset(
$starting_balance)) $starting_balance $balance_a;
        if(
$b->getbalance('*'1) < $bet) { // If we don't have enough confirmed bitcoins to send to satoshi dice...
            
echo "Waiting for confirmed balance";
            while(
$b->getbalance('*'1) < $bet
            {
                echo 
".";
                
sleep(60); // Wait a full minute before checking the balance again.
            
}
            echo 
"\n";
        }
    
try // Wrapped in a try catch block just incase we run out of cash.
        
{
            
$b->sendtoaddress(ADDRESS, (float) $bet);
    
}
        catch(
Exception $e
        {
            echo 
"Have: " $b->getbalance('*'1) . " Needed: " $bet "\n";
    
die("Ran out of money?\n");
    
}
        
$balance_b $b->getbalance('*'0);
        
$count++;
        
$fee $balance_a $balance_b $bet;
        
$total_fees += $fee;
        
$total_fees number_format($total_fees,8,'.','')+0;

        echo 
'Game #'.$count."\n";
        echo 
'Balance: ' $balance_a."       ";
        echo 
'Bet: '$bet."       ";
        echo 
'Fee: '. (number_format($fee8'.''') +0) . "       ";
        echo 
'Total Fees: '$total_fees"\n";
        echo 
'Balance: ' $balance_b "       ".'Waiting';

        
$balance_c 0;

        while (
$balance_b >= $balance_c)
        {
        sleep(4);
$balance_c $b -> getbalance('*'0);
echo '.';
        }

        echo 
"\nBalance: $balance_c       ";

        
$diff $balance_c $balance_b;

        if (
$diff $bet)
        {
                
$bet MIN_BET;
                
$count_won++;
                echo 
"Win! ($count_won out of $count)\n";
        }
        else
        {
                
$bet *= 2;
                echo 
'Lose!'."\n";
        }

        echo 
"\n";
}

echo 
'Starting Balance: '.$starting_balance."\n";
echo 
'Ending Balance  : '$balance_c."\n";
echo 
'Total Fees: '$total_fees."\n";
$amt_won $balance_c $starting_balance;
echo 
'Net Profit: '. (number_format($amt_won,8,'.','') + 0). "\n\n";

?>



Title: Re: PHP martingale bot for satoshiDICE
Post by: paraipan on June 01, 2012, 04:46:36 PM
interesting...


Title: Re: PHP martingale bot for satoshiDICE
Post by: JoelKatz on June 01, 2012, 09:16:43 PM
Be careful.

As other users have pointed out, no matter what strategy you use (including martingale progression), you can never overcome the casino's mathematical advantage (Law of Large Numbers). Over the long term the house always wins.
And, equally importantly, the longer you postpone the house's win, the more the house wins. (Because with every wager you place, the house's expected profit goes up.)


Title: Re: PHP martingale bot for satoshiDICE
Post by: Sukrim on June 01, 2012, 09:29:23 PM
In other words:
If you play more often, you give the house more chances to win.


Title: Re: PHP martingale bot for satoshiDICE
Post by: geebus on June 01, 2012, 11:22:09 PM
Python Version:

Win32 Binary, Source & Dependencies included.

http://www.mediafire.com/?sdlkfpgyxhcz7st (http://www.mediafire.com/?sdlkfpgyxhcz7st)


Title: Re: PHP martingale bot for satoshiDICE
Post by: shockD on June 02, 2012, 06:17:38 AM
Be careful.

As other users have pointed out, no matter what strategy you use (including martingale progression), you can never overcome the casino's mathematical advantage (Law of Large Numbers). Over the long term the house always wins.
And, equally importantly, the longer you postpone the house's win, the more the house wins. (Because with every wager you place, the house's expected profit goes up.)

Indeed, careful folks ;) I was screwing around with a slightly modified version of this, bet small amounts over the course of a week and got up about 35 BTC. Then the smackdown came and lost 20 BTC in relatively quick succession. I decided to call it good and stop as I was still ahead. This is precisely what you would expect to happen. Over the long term, your expected return is ~98% or whatever, depending on the game, meaning if you play long enough, you will consistently lose 2%.

Have fun, be safe :)



Title: Re: PHP martingale bot for satoshiDICE
Post by: someguy123 on June 04, 2012, 09:32:59 PM
Be careful.

As other users have pointed out, no matter what strategy you use (including martingale progression), you can never overcome the casino's mathematical advantage (Law of Large Numbers). Over the long term the house always wins.
And, equally importantly, the longer you postpone the house's win, the more the house wins. (Because with every wager you place, the house's expected profit goes up.)

Indeed, careful folks ;) I was screwing around with a slightly modified version of this, bet small amounts over the course of a week and got up about 35 BTC. Then the smackdown came and lost 20 BTC in relatively quick succession. I decided to call it good and stop as I was still ahead. This is precisely what you would expect to happen. Over the long term, your expected return is ~98% or whatever, depending on the game, meaning if you play long enough, you will consistently lose 2%.

Have fun, be safe :)



this is almost my exact experience... very slow climb to +50, sudden smack down back to +30, and then quit about a week ago :D

don't want to be one of those people who end up putting their car / their house on the line!

yeah, I went full retard, I got to 50BTC, went to 17BTC due to them doublespending me or some other bug, then I slowly climbed back to 50BTC... then BAM, huge loss streak on the 50% dice, which brought me to 0.
I'm now broke.
T_T
Note: if you wanna see these results: http://www.satoshidice.com/lookup.php?tx=1LnSD2xBieJQaKXS3EtjTdWUEhkct68jAU
Feel free to facepalm at my long loss streaks =_=


Title: Re: PHP martingale bot for satoshiDICE
Post by: evoorhees on June 04, 2012, 11:55:21 PM
And, equally importantly, the longer you postpone the house's win, the more the house wins. (Because with every wager you place, the house's expected profit goes up.)

I'm not sure I agree with this statement. I'm no statistical expert, but I believe what is being referred to here are called "independent events" in statistics, wherein each bet occurs independently of other bets. If you thus bet 9 times and win all 9 times, the 10th bet does not have any worse odds than the first, even though the house's odds have gotten out of whack.

In other words, if you "postpone" the house's win, there's no additional reason to not place the next bet. There is no "karma" in gambling. Every marginal bet has the same chance of you winning. Thus with every wager you place, the house's expected profit does NOT go up, but is the same each time no matter what.

Am I wrong or misunderstanding you Joel?


Title: Re: PHP martingale bot for satoshiDICE
Post by: JoelKatz on June 05, 2012, 03:38:47 AM
And, equally importantly, the longer you postpone the house's win, the more the house wins. (Because with every wager you place, the house's expected profit goes up.)

I'm not sure I agree with this statement. I'm no statistical expert, but I believe what is being referred to here are called "independent events" in statistics, wherein each bet occurs independently of other bets. If you thus bet 9 times and win all 9 times, the 10th bet does not have any worse odds than the first, even though the house's odds have gotten out of whack.

In other words, if you "postpone" the house's win, there's no additional reason to not place the next bet. There is no "karma" in gambling. Every marginal bet has the same chance of you winning. Thus with every wager you place, the house's expected profit does NOT go up, but is the same each time no matter what.

Am I wrong or misunderstanding you Joel?
No, you're not wrong. It's just another way to view the same thing. Remember, your expected loses are proportional to your total bets. Thus the more you bet in total, the more you can expect to lose.

To put it another way, the more money you are trying to win or willing to lose when you do a Martingale, the more you can expect to lose.


Title: Re: PHP martingale bot for satoshiDICE
Post by: ErebusBat on June 05, 2012, 08:56:39 PM
Joel.... you picture freaks me out.


Title: Re: PHP martingale bot for satoshiDICE
Post by: bearbones on June 06, 2012, 02:48:06 AM
However, you have learned a valuable lesson: there is no such a thing called "the strategy to defeat the casino". Don't waste your money (and time) in gambling, instead, help the community to bring Bitcoin to the next level.

I'm pretty sure that gambling is a big part of bringing Bitcoin to the next level. SatoshiDice is unique, and couldn't be done without Bitcoin. The people gambling on it are proving just how useful Bitcoin is. Maybe a major casino will take notice, and make my friend Erik a buyout offer he can't refuse.


Title: Re: PHP martingale bot for satoshiDICE
Post by: ErebusBat on June 06, 2012, 03:24:47 AM
I'm pretty sure that gambling is a big part of bringing Bitcoin to the next level. SatoshiDice is unique, and couldn't be done without Bitcoin. The people gambling on it are proving just how useful Bitcoin is. Maybe a major casino will take notice, and make my friend Erik a buyout offer he can't refuse.

I highly doubt this due to reglatory bodies, in the USA anyway.

In fact that is one of the only major stumbling blocks I have from proceeding with a gambling idea of my own... uncle sammy kocking at my door.


Title: Re: PHP martingale bot for satoshiDICE
Post by: JoelKatz on June 06, 2012, 07:21:22 AM
Joel.... you picture freaks me out.
I'll ask if I can use the picture of me from Bitcoin magazine. It's equally horrible, but the "cartoonizing" makes me less painful to look at.


Title: Re: PHP martingale bot for satoshiDICE
Post by: JoelKatz on June 06, 2012, 07:24:16 AM
I respectfully disagree. Positive balances are the consequence of having "enough luck", not because of a "winner strategy". For each person (doing a martingale) showing a positive balance, there is another (also doing a martingale) with a negative one, and the aggregate balance is negative. Even though you use a martingale approach (or whatever strategy), the expected value of your winnings/losses doesn't change at all.
With a Martingale, the majority of people can have a positive balance. The problem is that the few people who have a negative balance have lost every single cent they were willing to risk. For example, with a typical Martingale system, for every 20 people who have won 100 bitcoins, there's a guy who lost 2700 bitcoins. Your odds of being that guy aren't that high, but if you are, ...

It's like a lottery where you get paid $1 for buying a ticket. But if your ticket gets drawn, they shoot you. Martingale = Hunger Games.


Title: Re: PHP martingale bot for satoshiDICE
Post by: Bitcoin Oz on June 06, 2012, 07:30:20 AM
Indeed, careful folks ;) I was screwing around with a slightly modified version of this, bet small amounts over the course of a week and got up about 35 BTC. Then the smackdown came and lost 20 BTC in relatively quick succession. I decided to call it good and stop as I was still ahead. This is precisely what you would expect to happen. Over the long term, your expected return is ~98% or whatever, depending on the game, meaning if you play long enough, you will consistently lose 2%.

Have fun, be safe :)

this is almost my exact experience... very slow climb to +50, sudden smack down back to +30, and then quit about a week ago :D

don't want to be one of those people who end up putting their car / their house on the line!

I respectfully disagree. Positive balances are the consequence of having "enough luck", not because of a "winner strategy". For each person (doing a martingale) showing a positive balance, there is another (also doing a martingale) with a negative one, and the aggregate balance is negative. Even though you use a martingale approach (or whatever strategy), the expected value of your winnings/losses doesn't change at all.

I'm now broke.

However, you have learned a valuable lesson: there is no such a thing called "the strategy to defeat the casino". Don't waste your money (and time) in gambling, instead, help the community to bring Bitcoin to the next level.





What is onecoin ?  :D


Title: Re: PHP martingale bot for satoshiDICE
Post by: casascius on June 06, 2012, 08:35:40 PM
I don't like the idea of an automated gambling bot as you're consuming others' bandwidth and disk resources in far in excess of the value of your gains.  I'd rather you mine off your landlord's power.


Title: Re: PHP martingale bot for satoshiDICE
Post by: kano on June 11, 2012, 01:35:44 PM
I don't like the idea of an automated gambling bot as you're consuming others' bandwidth and disk resources in far in excess of the value of your gains.  I'd rather you mine off your landlord's power.
You not gonna win too much agreement with that comment :)
Up to 4th June, Satoshi Dice was 61.7% of all block-chain transactions ...


Title: Re: PHP martingale bot for satoshiDICE
Post by: D4CH on July 04, 2012, 07:32:25 PM
Could anyone make a guide on how to set this up on windows for a noob like I?


Title: Re: PHP martingale bot for satoshiDICE
Post by: payb.tc on July 04, 2012, 09:54:56 PM
Could anyone make a guide on how to set this up on windows for a noob like I?

on windows, you might need to make yourself familiar with xampp http://www.apachefriends.org/en/xampp.html


Title: Re: PHP martingale bot for satoshiDICE
Post by: drakahn on July 26, 2012, 01:23:24 AM
Its pretty easy to get running on windows, install php, add the path to php to PATH, then in cmd 'php yourbotfile.php'

Problem i am having now is after a few transactions my bitcoin client freezes... anyone know a fix for this?


Title: Re: PHP martingale bot for satoshiDICE
Post by: unclemantis on July 26, 2012, 02:11:15 AM
I wonder if this would work with a blockexplorer.info wallet.


Title: Re: PHP martingale bot for satoshiDICE
Post by: luicon on July 26, 2012, 05:23:41 AM
any motivated php/python/perl expert ? i would like to explain him a combined method of progression and bet selection to see if it may work
pm me


Title: Re: PHP martingale bot for satoshiDICE
Post by: unclemantis on July 27, 2012, 03:49:40 AM
Either way I still loose. I think I am done with my Satoshi Dice days LOL.


Title: Re: PHP martingale bot for satoshiDICE
Post by: Fredyy on July 30, 2012, 07:13:32 PM
https://github.com/Fredyy90/satoshidice-matingalebot

Here is my version.


Title: Re: PHP martingale bot for satoshiDICE
Post by: ccliu on July 31, 2012, 01:11:10 AM
is it possible to make a windows .exe out of the code?

It could benefit people like me (absolute web server noob)


Title: Re: PHP martingale bot for satoshiDICE
Post by: drakahn on July 31, 2012, 02:03:26 AM
is it possible to make a windows .exe out of the code?

It could benefit people like me (absolute web server noob)

the python version somewhere in here compiles to an exe


Title: Re: PHP martingale bot for satoshiDICE
Post by: ccliu on July 31, 2012, 06:32:48 AM
is it possible to make a windows .exe out of the code?

It could benefit people like me (absolute web server noob)

the python version somewhere in here compiles to an exe

How do I go about doing that?


Title: Re: PHP martingale bot for satoshiDICE
Post by: drakahn on July 31, 2012, 08:58:56 AM
is it possible to make a windows .exe out of the code?

It could benefit people like me (absolute web server noob)

the python version somewhere in here compiles to an exe

How do I go about doing that?

well, download/install python, download/install py2exe, make needed changed to the source, copy the jsonrpc folder from dependencies, run setup.py, enjoy .exe's (it comes with some compiled, i guess they could work for straight martingale)


Title: Re: PHP martingale bot for satoshiDICE
Post by: ccliu on July 31, 2012, 01:55:52 PM
is it possible to make a windows .exe out of the code?

It could benefit people like me (absolute web server noob)

the python version somewhere in here compiles to an exe

How do I go about doing that?

well, download/install python, download/install py2exe, make needed changed to the source, copy the jsonrpc folder from dependencies, run setup.py, enjoy .exe's (it comes with some compiled, i guess they could work for straight martingale)

I'm guesing the change I need to make is place my own wallet.json thingy in, correct?


Title: Re: PHP martingale bot for satoshiDICE
Post by: drakahn on July 31, 2012, 02:21:04 PM
is it possible to make a windows .exe out of the code?

It could benefit people like me (absolute web server noob)

the python version somewhere in here compiles to an exe

How do I go about doing that?

well, download/install python, download/install py2exe, make needed changed to the source, copy the jsonrpc folder from dependencies, run setup.py, enjoy .exe's (it comes with some compiled, i guess they could work for straight martingale)

I'm guesing the change I need to make is place my own wallet.json thingy in, correct?

mainly just the min_bet, max_bet, any customations you want to make to the strategy (its setup for straight martingale on the 50/50 dice) you put your rpc ip, username, password and port into the .ini file - if you aren't customising the strategy the included binaries are probably fine to use


Title: Re: PHP martingale bot for satoshiDICE
Post by: Sovereign108 on September 03, 2012, 07:27:34 AM
Hi! I am trying to get started by loading Bitcoind on Windows, I added the necessary conf file and loaded it via the command line but the cmd line cursor is just been 'busy' all night and now! How long is this supposed to take to initialize?

All I see in the log file is loads of this:

askfor tx b971b5e4de15a8b480ad   0
sending getdata: tx b971b5e4de15a8b480ad
addUnchecked(): size 637
CTxMemPool::accept() : accepted b971b5e4de
askfor tx f536ffa4a2709b4484a2   0
sending getdata: tx f536ffa4a2709b4484a2
addUnchecked(): size 638
CTxMemPool::accept() : accepted f536ffa4a2
askfor tx e8ff573b917043c1ea13   0
sending getdata: tx e8ff573b917043c1ea13
askfor tx e8ff573b917043c1ea13   1346657209000000
addUnchecked(): size 639
CTxMemPool::accept() : accepted e8ff573b91


Title: Re: PHP martingale bot for satoshiDICE
Post by: kano on September 03, 2012, 08:26:57 AM
2 things:
1) Wrong thread
2) Wait until it downloads the full blockchain
Current block right now is 197000


Title: Re: PHP martingale bot for satoshiDICE
Post by: Sovereign108 on September 04, 2012, 11:58:13 AM
Thanksa anyway, I got it working!

I am using that Powershell script which I modified and its going great, only thing is that waiting for a confirmation on the received balance takes ages for me so each game lasts a while...


Title: Re: PHP martingale bot for satoshiDICE
Post by: kano on September 04, 2012, 10:26:58 PM
Thanksa anyway, I got it working!

I am using that Powershell script which I modified and its going great, only thing is that waiting for a confirmation on the received balance takes ages for me so each game lasts a while...
If you do a ./bitcoind listtransactions '*' 1 it will show you the last transaction you received even if it is unconfirmed.
Thus you can see the results of your bets as soon as SD replies ... and lose money way faster :D


Title: Re: PHP martingale bot for satoshiDICE
Post by: Sovereign108 on September 05, 2012, 10:55:26 AM
I tried that command in powershell and I just get error type mismatch or nothing in square brackets! help?
Thanksa anyway, I got it working!

I am using that Powershell script which I modified and its going great, only thing is that waiting for a confirmation on the received balance takes ages for me so each game lasts a while...
If you do a ./bitcoind listtransactions '*' 1 it will show you the last transaction you received even if it is unconfirmed.
Thus you can see the results of your bets as soon as SD replies ... and lose money way faster :D


Title: Re: PHP martingale bot for satoshiDICE
Post by: Sovereign108 on September 05, 2012, 06:17:47 PM
Well.....forget Powershell, I am using PHP now which I modified and boy is my Bitcoins increasing :)


Title: Re: PHP martingale bot for satoshiDICE
Post by: kano on September 05, 2012, 11:33:02 PM
I tried that command in powershell and I just get error type mismatch or nothing in square brackets! help?
Thanksa anyway, I got it working!

I am using that Powershell script which I modified and its going great, only thing is that waiting for a confirmation on the received balance takes ages for me so each game lasts a while...
If you do a ./bitcoind listtransactions '*' 1 it will show you the last transaction you received even if it is unconfirmed.
Thus you can see the results of your bets as soon as SD replies ... and lose money way faster :D
Well that's linux, so I guess on windows it may be:
 ./bitcoind listtransactions "*" 1
or even
 ./bitcoind listtransactions * 1


Title: Re: PHP martingale bot for satoshiDICE
Post by: fcmatt on September 06, 2012, 06:35:30 PM
Well.....forget Powershell, I am using PHP now which I modified and boy is my Bitcoins increasing :)

can you explain what initial bet you are making and any other info like most losses in a row or what
have you?


Title: Re: PHP martingale bot for satoshiDICE
Post by: Sovereign108 on September 06, 2012, 07:22:28 PM
I modified the PHP script to conform to the formulas listed on this forum page (https://bitcointalk.org/index.php?topic=94481.0). It's supposed to be safer lol. All I did is pushed the numbers from what the R script generated and put it into an array and point the bet variable to that array :). LOL I'll post my script eventually, just testing it atm :P

I haven't had any losses for a day tbh. All that happens is a see saw action on my balance but it eventually goes up. My cut off point is just over 1 BTC cos after that the numbers increase exponentially more. My win rate is consistent with the game I am playing 12% at 8x the bet - the statistics I get are surprising similar to the chance of winning a bet. It really is fair!

I have like 36 bets before the cut off point of 1BTC and there always is 1 win :)

Well.....forget Powershell, I am using PHP now which I modified and boy is my Bitcoins increasing :)

can you explain what initial bet you are making and any other info like most losses in a row or what
have you?


Title: Re: PHP martingale bot for satoshiDICE
Post by: Sovereign108 on September 06, 2012, 08:24:11 PM
Its like, I won 16 games out of 111 games total for this round and I haven't lost any BTCs! hahaha


Title: Re: PHP martingale bot for satoshiDICE
Post by: fcmatt on September 06, 2012, 08:40:13 PM
Its like, I won 16 games out of 111 games total for this round and I haven't lost any BTCs! hahaha

I imagine that a loss of close to 1 BTC tho.. makes it very hard to recover from that?
What i mean is that it would take a lot of wins at a small amount to recover that 1 BTC and
get back on the plus side?


Title: Re: PHP martingale bot for satoshiDICE
Post by: Sovereign108 on September 06, 2012, 08:56:16 PM
Its quite easy to recover 1BTC. The amounts are small only for the first few bets. I try not to do the >2 BTC bets though, thats dangerous territory as it can spiral out of control - it did once for me :(.
Its like, I won 16 games out of 111 games total for this round and I haven't lost any BTCs! hahaha

I imagine that a loss of close to 1 BTC tho.. makes it very hard to recover from that?
What i mean is that it would take a lot of wins at a small amount to recover that 1 BTC and
get back on the plus side?


Title: Re: PHP martingale bot for satoshiDICE
Post by: exdirrk on September 06, 2012, 10:59:03 PM
I stopped doing the 2x play and started doing the 1.338 on BTC Dice today and instead of doubling you just quadruple.  Start with .025 bets or .1 depending on how brave you are.  I played it for an hour and won 2 bitcoins using .1,.4,1.6,6.4,26.6  @26.6 you would have lost 5 times and the odds of that happening are 1:841.  In the end I did play again and lost .5 bitcoins because I didn't want to wager a bunch but I feel like the risk is less mine.


Title: Re: PHP martingale bot for satoshiDICE
Post by: payb.tc on September 07, 2012, 12:57:03 AM
I stopped doing the 2x play and started doing the 1.338 on BTC Dice today and instead of doubling you just quadruple.  Start with .025 bets or .1 depending on how brave you are.  I played it for an hour and won 2 bitcoins using .1,.4,1.6,6.4,26.6  @26.6 you would have lost 5 times and the odds of that happening are 1:841.  In the end I did play again and lost .5 bitcoins because I didn't want to wager a bunch but I feel like the risk is less mine.

try 25.6 next time.


Title: Re: PHP martingale bot for satoshiDICE
Post by: organofcorti on September 07, 2012, 01:34:51 AM
Try this strategy with starting bet and multiplier determined by the game odd and the maximum coin you could stand to lose in one go:

https://bitcointalk.org/index.php?topic=94481.0


Title: Re: PHP martingale bot for satoshiDICE
Post by: Sovereign108 on September 07, 2012, 07:54:36 PM
Ok, I might as well post a modified php script. Its based on this strategy (https://bitcointalk.org/index.php?topic=94481.0) to make it safer to not loose too much btcs. I just hard coded the values for 8x betting to be used for the bets that the R script outputted (check out that link).

Lol I got broke twice now, not playing satoshidice anymore or any other game for that matter :-0

The btcs were increasing, but every so often the house would turn against me, thats the time to give yourself a short break lol

Code:
<?php
require_once('jsonRPCClient.php');
/** BITCOIN **/
$btcu = array("user" => "BitcoinRPC",             // RPC Username
            
"pass" =>   "password",               // RPC Password
            
"host" =>   "127.0.0.1",      // RPC Hostname/IP
            
"port" =>   9332);            // RPC Port
$b = new jsonRPCClient("http://{$btcu['user']}:{$btcu['pass']}@{$btcu['host']}:{$btcu['port']}");

define('MIN_BET'0.05);
define('MAX_BET'2.519995);
define('ADDRESS''1dice6YgEVBf88erBFra9BHf6ZMoyvG88');

$bet_8x=array(0.010562,0.012070,0.013795,0.015765,0.018018,0.020592,0.023533,0.026895,0.030737,0.035128,0.040147,0.045882,0.052436,0.059927,0.068488,0.078272,0.089454,0.102233,0.116838,0.133529,0.152605,0.174406,0.199321,0.227795,0.260337,0.297528,0.340033,0.388609,0.444124,0.507570,0.580081,0.662949,0.757656,0.865893,0.989592,1.130962,1.292528,1.477175,1.688200,1.929371,2.204996,2.519995,2.879994,3.291422);

$total_fees 0;
$count 0;
$count_won 0;
$current_bet_index=0;
$bet $bet_8x[0];
$total_lost=0;
while ((
$bet <= MAX_BET) && ($count_won 200))
{
        
$balance_a $b->getbalance('*'0);
        if (!isset(
$starting_balance)) $starting_balance $balance_a;
        if(
$b->getbalance('*'1) < $bet) { // If we don't have enough confirmed bitcoins to send to satoshi dice...
            
echo "Waiting for confirmed balance";
            while(
$b->getbalance('*'1) < $bet
            {
                echo 
".";
                
sleep(60); // Wait a full minute before checking the balance again.
            
}
            echo 
"\n";
        }
    
try // Wrapped in a try catch block just incase we run out of cash.
        
{
            
$b->sendtoaddress(ADDRESS, (float) $bet);
    
}
        catch(
Exception $e
        {
            echo 
"Have: " $b->getbalance('*'1) . " Needed: " $bet "\n";
    
die("Ran out of money?\n");
    
}
        
$balance_b $b->getbalance('*'0);
        
$count++;
        
$fee $balance_a $balance_b $bet;
        
$total_fees += $fee;
        
$total_fees number_format($total_fees,8,'.','')+0;

        echo 
'Game #'.$count."---------------------------------------------\n";
        echo 
"\n".'Balance:                ' $balance_a."";
        echo 
"\n".'Bet Amount Sent:        -'$bet."";
        echo 
"\n".'Fee:                    -'. (number_format($fee8'.''') +0) . "";
        echo 
"\n".'Total Fees:             -'$total_fees"";
        echo 
"\n".'Balance after bet sent: ' $balance_b "       ".'Waiting';

        
$balance_c 0;

        while (
$balance_b >= $balance_c)
        {
        sleep(4);
$balance_c $b -> getbalance('*'0);
echo '.';
        }

        echo 
"\nNew Balance:            $balance_c";

        
$diff $balance_c $balance_b;

        if (
$diff $bet)
        {
                
$bet $bet_8x[0];
                
$current_bet_index=0;
                
$count_won++;
                echo 
"\n*****Win!*****           (Won $count_won out of $count games)";
                echo 
"\nTotal lost:             ".$total_lost."";
                echo 
"\nProfit made:            ".$diff."";
                
$net_profit=$diff-$total_lost;
                echo 
"\n"."Net profit:             ".$net_profit."\n";
                
$total_lost=0;
        }
        else
        {
                echo 
"\n".'_____Lose!_____'."";
                
$total_lost += $balance_a-$balance_c;
                echo 
"\nTotal lost:             ".$total_lost."\n";
                
$bet $bet_8x[$current_bet_index++];
        }

        echo 
"\n";
}

echo 
'Starting Balance: '.$starting_balance."\n";
echo 
'Ending Balance: '$balance_c."\n";
echo 
'Total Fees: '$total_fees."\n";
$amt_won $balance_c $starting_balance;
echo 
'Net Profit: '. (number_format($amt_won,8,'.','') + 0). "\n\n";
?>



Title: Re: PHP martingale bot for satoshiDICE
Post by: fcmatt on September 07, 2012, 08:20:22 PM
as another poster mentioned the only way to truly win at SD is not to play.
the end result of playing constantly will always be to lose. the math says so.

it is not like blackjack where you have a chance to increase your odds of winning
depending on the type/rules of table you are playing at.

i will admit I have played around with SD by making a few bets (very tiny and I am up, fyi)
but if you sit back and think about the game... eh... the more I play the more I will likely
lose. There is no skill to it. Every bet stands alone and does not influence the next. etc...

On the flip side, SD represents better odds then the majority of casino games. So that is
a plus.

But who will create a gambling site where some skill is involved or offers a 50-50 bet?
Probably no one. If skill is involved only skilled players will end up playing. If 50-50 odds
the site will never make any profit.

gambling.. heh. might as well play the stock market.


Title: Re: PHP martingale bot for satoshiDICE
Post by: Sovereign108 on September 07, 2012, 08:58:17 PM
Yea! You have better chance with the stock markets with Apple :D


Title: Re: PHP martingale bot for satoshiDICE
Post by: exdirrk on September 07, 2012, 09:02:05 PM
I stopped doing the 2x play and started doing the 1.338 on BTC Dice today and instead of doubling you just quadruple.  Start with .025 bets or .1 depending on how brave you are.  I played it for an hour and won 2 bitcoins using .1,.4,1.6,6.4,26.6  @26.6 you would have lost 5 times and the odds of that happening are 1:841.  In the end I did play again and lost .5 bitcoins because I didn't want to wager a bunch but I feel like the risk is less mine.

try 25.6 next time.


Good catch


Title: Re: PHP martingale bot for satoshiDICE
Post by: SNS on October 05, 2012, 10:56:10 PM
Is it possible to convert these bots for blockchain.info wallet?


Title: Re: PHP martingale bot for satoshiDICE
Post by: dooglus on October 06, 2012, 01:30:06 AM
Is it possible to convert these bots for blockchain.info wallet?

Yes.

The blockchain.info wallet provides an API, so it would be relatively easy to modify them (or pay someone else to modify them) to interact with that API rather than using the satoshi client.


Title: Re: PHP martingale bot for satoshiDICE
Post by: chrcoe01 on October 08, 2012, 08:05:38 PM
i like the idea of this, but feel a bit iffy actually putting it to use


Title: Re: PHP martingale bot for satoshiDICE
Post by: dooglus on October 09, 2012, 12:57:40 AM
i like the idea of this, but feel a bit iffy actually putting it to use

Iffy like it's cheating to use a bot to play?  It's not - the site won't mind at all.

Or iffy like it's going to lose all the bitcoins you let it play it?  It will, eventually.


Title: Re: PHP martingale bot for satoshiDICE
Post by: chrcoe01 on October 09, 2012, 01:16:38 PM
the second one, I was using the strategy in the thread about 'how to last longer' and it works really well, until your luck runs out :D

but that was without the script and I noticed every once in awhile the transaction fee would go up if I didn't have enough confirmed coins obviously, so I would go do something else for awhile and come back, does this script check for that?

EDIT: i went back and re-read the code samples here and it looks like they take into consideration unconfirmed coins which would make the fee go up I think (?)

I was also wondering about the blockchain idea so I can screw around with it from work, I may do that in my spare time.  It seems like they have an api that works with bitcoind so you would just point your script to blockchain.info with your identifier (not the shortlink) and the password along with port 443 instead of localhost and it might work the same.

I have yet to actually try it because all my wallet stuff is at home and I don't have any coins in my blockchain account so don't quote me :D


Title: Re: PHP martingale bot for satoshiDICE
Post by: dooglus on October 10, 2012, 04:52:55 AM
[...] don't quote me :D

OK.   ;)


Title: Re: PHP martingale bot for satoshiDICE
Post by: chrcoe01 on October 10, 2012, 01:29:23 PM
I posted that and I KNEW someone would quote just that part


Title: Re: PHP martingale bot for satoshiDICE
Post by: dooglus on October 11, 2012, 04:12:12 AM
I posted that and I KNEW someone would quote just that part

I tried not to, but something compelled me to do it.


Title: Re: PHP martingale bot for satoshiDICE
Post by: dstruct2k on January 19, 2013, 08:05:10 PM
A PowerShell Version:

Code:
--snipped--

If someone thinks this is worth a donation... 1J66vZHf1oFPHFhjFBtbEqxkJahdF3vetu

Thanks payb.tc for your nice PHP Script :0) Donation on the way
I've made a few changes to the PowerShell script just to make it a bit nicer on the end-user, all the configurable variables are in the first chunk of code. I also bet on a different payout rate, but that's configurable too.
http://pastebin.com/dS1FqjpA

1LFuotBujG44YeLskhivdy9MbpMyuCnCoA
and
1J66vZHf1oFPHFhjFBtbEqxkJahdF3vetu
if this helped you make some decent coin. :)


Title: Re: PHP martingale bot for satoshiDICE
Post by: constitution on January 26, 2013, 12:48:30 AM
Awesome!


Title: Re: PHP martingale bot for satoshiDICE
Post by: Sovereign108 on January 26, 2013, 01:55:29 PM
This is the best way to go bankrupt!

;(


Title: Re: PHP martingale bot for satoshiDICE
Post by: frozenkai on January 26, 2013, 08:12:06 PM
How would I set this up?


Title: Re: PHP martingale bot for satoshiDICE
Post by: fcmatt on January 26, 2013, 08:56:16 PM
How would I set this up?

Download the script then burn your usd or send bitcoins to a bad address to be lost forever.
That is the end result if you play long enough with this system. Mathematically proven to lose over time due to a run of bad luck.


Title: Re: PHP martingale bot for satoshiDICE
Post by: zvs on January 28, 2013, 12:45:31 AM
How would I set this up?

I guess that'd depend on your OS


Title: Re: PHP martingale bot for satoshiDICE
Post by: frozenkai on January 28, 2013, 09:24:20 PM
How would I set this up?

I guess that'd depend on your OS
Windows 7


Title: Re: PHP martingale bot for satoshiDICE
Post by: payb.tc on January 28, 2013, 09:49:09 PM

http://bitcoin.org -> install bitcoin
http://www.apachefriends.org/en/xampp.html -> install xampp (which includes php)

have a read of https://en.bitcoin.it/wiki/PHP_developer_intro

http://jsonrpcphp.org -> get jsonRPCClient.php


the OP was aimed at coders who already have the basic dev environment set up.


Title: Re: PHP martingale bot for satoshiDICE
Post by: tribalmind on February 02, 2013, 01:24:48 AM
I am no coder, but would like some advice in modding the phpbot to allow for a fraction of balance as MIN_BET and for it to recalculate after any win, same for MAX bet, also  if MAX_BET reached start over

i did try to modify the script by myself to allow this but received

Object of class jsonRPCClient could not be converted to int in XXXXX/bot2.php on line 14

Or

PHP Notice:  Object of class jsonRPCClient could not be converted to int in XXXXX/bot2.php on line 10

Or

PHP Fatal error:  Can't use method return value in write context in XXXXX/bot2.php on line 10

Any Advice would be appreciated


Title: Re: PHP martingale bot for satoshiDICE
Post by: payb.tc on February 02, 2013, 01:49:57 AM
I am no coder, but would like some advice in modding the phpbot to allow for a fraction of balance as MIN_BET and for it to recalculate after any win, same for MAX bet, also  if MAX_BET reached start over

i did try to modify the script by myself to allow this but received

Object of class jsonRPCClient could not be converted to int in XXXXX/bot2.php on line 14

Or

PHP Notice:  Object of class jsonRPCClient could not be converted to int in XXXXX/bot2.php on line 10

Or

PHP Fatal error:  Can't use method return value in write context in XXXXX/bot2.php on line 10

Any Advice would be appreciated

maybe show us lines 10 & 14 in bot2.php, or paste the whole thing


Title: Re: PHP martingale bot for satoshiDICE
Post by: tribalmind on February 02, 2013, 02:13:16 AM
<?php
require_once('jsonRPCClient.php');
/** BITCOIN **/
$btcu = array("user" => "xxx",             // RPC Username
            "pass" =>   "xxx",               // RPC Password
            "host" =>   "localhost",      // RPC Hostname/IP
            "port" =>   8332);            // RPC Port
$b = new jsonRPCClient("http://{$btcu['user']}:{$btcu['pass']}@{$btcu['host']}:{$btcu['port']}");

define('MIN_BET', 0.0633399);
define('MAX_BET', 2);
define('ADDRESS', '1dicec9k7KpmQaA8Uc8aCCxfWnwEWzpXE');

$bet = MIN_BET;
$total_fees = 0;
$count = 0;
$count_won = 0;
while (($bet <= MAX_BET) && ($count_won < 300))
{
        $balance_a = $b->getbalance('*', 0);
        if (!isset($starting_balance)) $starting_balance = $balance_a;
        if($b->getbalance('*', 1) < $bet) { // If we don't have enough confirmed bitcoins to send to satoshi dice...
            echo "Waiting for confirmed balance";
            while($b->getbalance('*', 1) < $bet)
            {
                echo ".";
                sleep(60); // Wait a full minute before checking the balance again.
            }
            echo "\n";
        }
       try // Wrapped in a try catch block just incase we run out of cash.
        {
            $b->sendtoaddress(ADDRESS, (float) $bet);
       }
        catch(Exception $e)
        {
            echo "Have: " . $b->getbalance('*', 1) . " Needed: " . $bet . "\n";
          die("Ran out of money?\n");
       }
        $balance_b = $b->getbalance('*', 0);
        $count++;
        $fee = $balance_a - $balance_b - $bet;
        $total_fees += $fee;
        $total_fees = number_format($total_fees,8,'.','')+0


the errors came with 3 different attempts at modifieng the bet amount for it to be a fraction of the balance,


Title: Re: PHP martingale bot for satoshiDICE
Post by: KJTetc on February 03, 2013, 03:58:21 AM
So I've got a good understanding of PHP but never heard of JSON. I've got everything you said. How do I make it work?  ::)



http://bitcoin.org -> install bitcoin
http://www.apachefriends.org/en/xampp.html -> install xampp (which includes php)

have a read of https://en.bitcoin.it/wiki/PHP_developer_intro

http://jsonrpcphp.org -> get jsonRPCClient.php


the OP was aimed at coders who already have the basic dev environment set up.


Title: Re: PHP martingale bot for satoshiDICE
Post by: 🏰 TradeFortress 🏰 on February 03, 2013, 04:13:03 AM
So I've got a good understanding of PHP but never heard of JSON. I've got everything you said. How do I make it work?  ::)



http://bitcoin.org -> install bitcoin
http://www.apachefriends.org/en/xampp.html -> install xampp (which includes php)

have a read of https://en.bitcoin.it/wiki/PHP_developer_intro

http://jsonrpcphp.org -> get jsonRPCClient.php


the OP was aimed at coders who already have the basic dev environment set up.
Download jsonRPCClient.php, place it in same directory.

But don't try martingale. I lost 100BTC  :-[


Title: Re: PHP martingale bot for satoshiDICE
Post by: KJTetc on February 03, 2013, 04:16:28 AM
What do I have near the top as the ip address? I get this error right now :

Warning: fopen(http://...@127.0.0.1:8332/): failed to open stream: No connection could be made because the target machine actively refused it. in C:\xampp\htdocs\jsonRPCClient.php on line 86


Title: Re: PHP martingale bot for satoshiDICE
Post by: KJTetc on February 03, 2013, 04:19:13 AM
That website is down so I downloaded a different version off of github... Guessing that will mess it up..   (Check post above)
So I've got a good understanding of PHP but never heard of JSON. I've got everything you said. How do I make it work?  ::)



http://bitcoin.org -> install bitcoin
http://www.apachefriends.org/en/xampp.html -> install xampp (which includes php)

have a read of https://en.bitcoin.it/wiki/PHP_developer_intro

http://jsonrpcphp.org -> get jsonRPCClient.php


the OP was aimed at coders who already have the basic dev environment set up.
Download jsonRPCClient.php, place it in same directory.

But don't try martingale. I lost 100BTC  :-[


Title: Re: PHP martingale bot for satoshiDICE
Post by: tribalmind on February 03, 2013, 09:28:47 PM
    BTC2 Bounty for Modding the php bot to:


    • Make the MIN_BET and MAX_BET a percentage/fraction of the current balance

    • If LOSE! use this same amount multiplied until WIN! OR MAX_BET reached

    • If WIN! send a fraction of win amount to "1XYZ1" address

    • If MAX_BET Reached, start over

    • Stop after X amount sent to "1XYZ1" address

      • OR count_won grater than XYZ2
        • OR after a WIN! and the ratio of win loses is grater than XYZ3 and a minimum of XYZ bets have been played

      Always wait for confirmed balance to avoid the larger fees.(no rush to lose everything)



    Title: Re: PHP martingale bot for satoshiDICE
    Post by: fcmatt on February 03, 2013, 09:43:35 PM
    What do I have near the top as the ip address? I get this error right now :

    Warning: fopen(http://...@127.0.0.1:8332/): failed to open stream: No connection could be made because the target machine actively refused it. in C:\xampp\htdocs\jsonRPCClient.php on line 86


    Your bitcoin client prob need to be in server mode and listening on 127.0.0.1 which is local loopback ip addy.


    Title: Re: PHP martingale bot for satoshiDICE
    Post by: KJTetc on February 03, 2013, 11:34:03 PM
    What do I have near the top as the ip address? I get this error right now :

    Warning: fopen(http://...@127.0.0.1:8332/): failed to open stream: No connection could be made because the target machine actively refused it. in C:\xampp\htdocs\jsonRPCClient.php on line 86


    Your bitcoin client prob need to be in server mode and listening on 127.0.0.1 which is local loopback ip addy.

    How do I start it in server mode? I think I saw a script a while ago on it but I can't remember...


    Title: Re: PHP martingale bot for satoshiDICE
    Post by: dooglus on February 04, 2013, 04:01:46 AM
    How do I start it in server mode? I think I saw a script a while ago on it but I can't remember...

    Go to the folder with your wallet.dat and blockchain files in it.
    Edit or create bitcoin.conf
    Put these 3 lines in it:

    rpcuser=yourusername
    rpcpassword=yourpassword
    server=1

    Then change the script so the user and password at the top match your bitcoin.conf:

    $btcu = array("user" => "yourusername",             // RPC Username
                "pass" =>   "yourpassword",               // RPC Password
                "host" =>   "localhost",      // RPC Hostname/IP
                "port" =>   8332);            // RPC Port

    Then restart bitcoin-qt.

    Pick something other than 'yourpassword' of course - so long as it's the same in the bitcoin.conf as in the script, it's ok.


    Title: Re: PHP martingale bot for satoshiDICE
    Post by: kano on February 04, 2013, 06:04:00 AM
    How do I start it in server mode? I think I saw a script a while ago on it but I can't remember...

    Go to the folder with your wallet.dat and blockchain files in it.
    Edit or create bitcoin.conf
    Put these 3 lines in it:

    rpcuser=yourusername
    rpcpassword=yourpassword
    server=1
    ...
    and also
    rpcallowip=127.0.0.1
    rpcallowip=192.168.x.y

    Put as many of those as IP addresses you want to have RPC access to bitcoiond


    Title: Re: PHP martingale bot for satoshiDICE
    Post by: dooglus on February 04, 2013, 06:40:23 AM
    and also
    rpcallowip=127.0.0.1
    rpcallowip=192.168.x.y

    Put as many of those as IP addresses you want to have RPC access to bitcoiond

    I've never needed any rpcallowip settings.  I'm guessing that localhost is allowed by default.


    Title: Re: PHP martingale bot for satoshiDICE
    Post by: dooglus on February 04, 2013, 06:43:05 AM
    I'm playing with these PHP martingale scripts.

    I see one that's doing a "bitcoind getbalance '*' 1" to work out the confirmed balance.

    When I run that, it's including change from old bets that didn't confirm yet.  If the change isn't confirmed, why's it being counted as confirmed balance?

    And - is there any (hopefully simple) way of finding out your real confirmed balance, not including unconfirmed change?

    Edit: note that the bitcoin-qt client's 'overview' tab shows "balance" and "unconfirmed", but the "unconfirmed" value doesn't include change from unconfirmed transactions you've made.  So the PHP SD bot checks if it has sufficient confirmed funds, thinks that it does, when it really doesn't, and ends up making a bet using unconfirmed change coins.

    Edit2: looks like the culprit is IsConfirmed() in wallet.h (https://github.com/bitcoin/bitcoin/blob/master/src/wallet.h#L648), which says:

            // If no confirmations but it's from us, we can still
            // consider it confirmed if all dependencies are confirmed


    Title: Re: PHP martingale bot for satoshiDICE
    Post by: dooglus on February 04, 2013, 06:25:03 PM
      BTC2 Bounty for Modding the php bot to:

      • Make the MIN_BET and MAX_BET a percentage/fraction of the current balance

      • If LOSE! use this same amount multiplied until WIN! OR MAX_BET reached

      • If WIN! send a fraction of win amount to "1XYZ1" address

      • If MAX_BET Reached, start over

      • Stop after X amount sent to "1XYZ1" address

        • OR count_won grater than XYZ2
          • OR after a WIN! and the ratio of win loses is grater than XYZ3 and a minimum of XYZ bets have been played

        Always wait for confirmed balance to avoid the larger fees.(no rush to lose everything)


      Here you go:

      https://github.com/dooglus/sdbot

      I lost about BTC1 testing it, but it seems to work pretty well.

      In the process I discovered that bitcoin's "getbalance '*' 1" lies about how much is confirmed, because it considers your change to always be confirmed, even when it isn't.  The script includes a patch to bitcoin that fixes the problem.  And if you don't want to bother rebuilding bitcoin, there's also a setting to get the script to wait for all your transactions to be confirmed each time before betting.

      My address: 135XYa4hDX8vof62UBE2zJVDwcidz52pPw[/list]


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 04, 2013, 07:23:21 PM
      I found a way of getting the true unconfirmed balance:

      Code:
      function get_confirmed_balance() {
          global $bitcoin;
          $unspent = 0;
          foreach ($bitcoin->listunspent(1) as $tx)
              $unspent += $tx['amount'];
          return $unspent;
      }

      I updated my script to use that instead, as well as fixing a couple of other bugs.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 04, 2013, 09:45:38 PM
      It seems to work pretty well now.  The min_bet goes up each time I win, and 90% of the net winnings get stashed away in a safe place:

      Quote
      $ php sdbot.php

      starting new round; balance   1.231179 BTC; min:   0.011081 BTC; max:   1.231179 BTC
            [ wait for confirms; bet =   0.011081 BTC; confirmed =   0.002181 BTC; unconfirmed =   1.228998 BTC .................................................................... ]
        1 : Won  0; Lost  0; W:L ratio  (inf)    bet   0.011081 BTC . payout   0.021704 BTC : WIN
            [ net win:   0.010123 BTC; stashing 90% =   0.009111 BTC; total stashed =   0.009111 BTC ]

      starting new round; balance   1.232192 BTC; min:   0.011090 BTC; max:   1.232192 BTC
        2 : Won  1; Lost  0; W:L ratio  (inf)    bet   0.011090 BTC . payout   0.021722 BTC : WIN
            [ net win:   0.010132 BTC; stashing 90% =   0.009119 BTC; total stashed =   0.018230 BTC ]

      starting new round; balance   1.233205 BTC; min:   0.011099 BTC; max:   1.233205 BTC
        3 : Won  2; Lost  0; W:L ratio  (inf)    bet   0.011099 BTC . payout   0.000000 BTC : LOSE
        4 : Won  2; Lost  1; W:L ratio 2.00000   bet   0.022198 BTC .... payout   0.043981 BTC : WIN
            [ net win:   0.009684 BTC; stashing 90% =   0.008716 BTC; total stashed =   0.026946 BTC ]

      starting new round; balance   1.233673 BTC; min:   0.011103 BTC; max:   1.233673 BTC
        5 : Won  3; Lost  1; W:L ratio 3.00000   bet   0.011103 BTC . payout   0.000000 BTC : LOSE
        6 : Won  3; Lost  2; W:L ratio 1.50000   bet   0.022206 BTC . payout   0.000000 BTC : LOSE
            [ wait for confirms; bet =   0.044412 BTC; confirmed =   0.002181 BTC; unconfirmed =   1.197183 BTC ...... ]
        7 : Won  3; Lost  3; W:L ratio 1.00000   bet   0.044412 BTC . payout   0.000000 BTC : LOSE
        8 : Won  3; Lost  4; W:L ratio 0.75000   bet   0.088824 BTC . payout   0.000000 BTC : LOSE
        9 : Won  3; Lost  5; W:L ratio 0.60000   bet   0.177649 BTC .... payout   0.355482 BTC : WIN
            [ net win:   0.008787 BTC; stashing 90% =   0.007908 BTC; total stashed =   0.034854 BTC ]

      starting new round; balance   1.234552 BTC; min:   0.011111 BTC; max:   1.234552 BTC
       10 : Won  4; Lost  5; W:L ratio 0.80000   bet   0.011111 BTC . payout   0.021765 BTC : WIN
            [ net win:   0.010154 BTC; stashing 90% =   0.009138 BTC; total stashed =   0.043992 BTC ]

      starting new round; balance   1.235567 BTC; min:   0.011120 BTC; max:   1.235567 BTC
       11 : Won  5; Lost  5; W:L ratio 1.00000   bet   0.011120 BTC . payout   0.000000 BTC : LOSE
       12 : Won  5; Lost  6; W:L ratio 0.83333   bet   0.022240 BTC . payout   0.000000 BTC : LOSE
       13 : Won  5; Lost  7; W:L ratio 0.71429   bet   0.044480 BTC . payout   0.088632 BTC : WIN
            [ net win:   0.009291 BTC; stashing 90% =   0.008362 BTC; total stashed =   0.052354 BTC ]

      starting new round; balance   1.235996 BTC; min:   0.011124 BTC; max:   1.235996 BTC
            [ wait for confirms; bet =   0.011124 BTC; confirmed =   0.004471 BTC; unconfirmed =   1.231525 BTC .............. ]
       14 : Won  6; Lost  7; W:L ratio 0.85714   bet   0.011124 BTC .... payout   0.021791 BTC : WIN
            [ net win:   0.010167 BTC; stashing 90% =   0.009150 BTC; total stashed =   0.061505 BTC ]

      starting new round; balance   1.237013 BTC; min:   0.011133 BTC; max:   1.237013 BTC
       15 : Won  7; Lost  7; W:L ratio 1.00000   bet   0.011133 BTC . payout   0.021809 BTC : WIN
            [ net win:   0.010176 BTC; stashing 90% =   0.009158 BTC; total stashed =   0.070663 BTC ]

      starting new round; balance   1.238031 BTC; min:   0.011142 BTC; max:   1.238031 BTC
       16 : Won  8; Lost  7; W:L ratio 1.14286   bet   0.011142 BTC . payout   0.021827 BTC : WIN
            [ net win:   0.010185 BTC; stashing 90% =   0.009167 BTC; total stashed =   0.079830 BTC ]

      starting new round; balance   1.238549 BTC; min:   0.011147 BTC; max:   1.238549 BTC
       17 : Won  9; Lost  7; W:L ratio 1.28571   bet   0.011147 BTC . payout   0.021837 BTC : WIN
            [ net win:   0.010190 BTC; stashing 90% =   0.009171 BTC; total stashed =   0.089000 BTC ]

      starting new round; balance   1.239568 BTC; min:   0.011156 BTC; max:   1.239568 BTC
       18 : Won 10; Lost  7; W:L ratio 1.42857   bet   0.011156 BTC . payout   0.000000 BTC : LOSE
       19 : Won 10; Lost  8; W:L ratio 1.25000   bet   0.022312 BTC . payout   0.000000 BTC : LOSE
       20 : Won 10; Lost  9; W:L ratio 1.11111   bet   0.044624 BTC . payout   0.088921 BTC : WIN
            [ net win:   0.009328 BTC; stashing 90% =   0.008395 BTC; total stashed =   0.097395 BTC ]

      starting new round; balance   1.240501 BTC; min:   0.011165 BTC; max:   1.240501 BTC
       21 : Won 11; Lost  9; W:L ratio 1.22222   bet   0.011165 BTC . payout   0.000000 BTC : LOSE
       22 : Won 11; Lost 10; W:L ratio 1.10000   bet   0.022329 BTC ... payout   0.000000 BTC : LOSE
       23 : Won 11; Lost 11; W:L ratio 1.00000   bet   0.044658 BTC . payout   0.000000 BTC : LOSE
       24 : Won 11; Lost 12; W:L ratio 0.91667   bet   0.089316 BTC . payout   0.000000 BTC : LOSE
            [ wait for confirms; bet =   0.178632 BTC; confirmed =   0.137693 BTC; unconfirmed =   0.950906 BTC .....

      It should have stopped once I'd stashed 0.05 BTC of winnings, but there was a bug which meant that didn't happen.  It's fixed now.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: K1773R on February 04, 2013, 09:51:54 PM
      What do I have near the top as the ip address? I get this error right now :

      Warning: fopen(http://...@127.0.0.1:8332/): failed to open stream: No connection could be made because the target machine actively refused it. in C:\xampp\htdocs\jsonRPCClient.php on line 86


      Your bitcoin client prob need to be in server mode and listening on 127.0.0.1 which is local loopback ip addy.

      How do I start it in server mode? I think I saw a script a while ago on it but I can't remember...
      i saw something named README / wiki


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 04, 2013, 10:41:16 PM
      Here you go:

      https://github.com/dooglus/sdbot

      I lost about BTC1 testing it, but it seems to work pretty well.

      Don't forget to edit this line:

      Code:
      define('STASH_ADDRESS', '1Doog7asLrYah3yeUppBVj8nUYnFkmXm2N');                             

      or your winnings will be sent somewhere *really* safe...  ;)


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 05, 2013, 01:27:03 AM
      BTC2 Bounty for Modding the php bot to: [...]

      https://github.com/dooglus/sdbot

      BTC2 received, thanks.  Good luck! (you'll need it if you plan to use martingale betting for very long...)


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: Gyrsur on February 05, 2013, 02:31:42 PM
      you cannot successfully play SD with logic or a script. forget to play with this!

      to beat SD you have to play with illogicalness. this is where the fear of SD comes from!

      http://blockchain.info/tx/9784cb364ffbaa000bbb5574ec6a50c9f500c9df830cf89d3cd90318bd7225dc --> WIN

      EDIT: http://blockchain.info/tx/9b446789a58501a84767f0ad87013982aec870048b40cc895fc3fde0c56af37a --> WIN

      EDIT2: http://blockchain.info/tx/812bdb3cc7e620e38e1fdee74361d58c1c860e3d2b2b7a7ee3c37047e2157a8c --> LOSE

      So, what next? Buy bitcoins to feed the SD monster with 20.48 --> 40.96 --> 81.92?? NO WAY!! DON'T FEED THE SD MONSTER. IT IS WASTE OF TIME.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: KJTetc on February 06, 2013, 01:58:27 AM
      Okay so I'm still confused.

      This is what I currently have in my bitcoin.conf:
      rpcuser=KJTetc
      rpcpassword=(my pass lol)
      rpcallowip=*
      server=1

      And this is my bot which is in htdocs which also has JSONrpcClient in it.

       
      Code:
      <?php
      require_once('jsonRPCClient.php');
      $b = new jsonRPCClient('http://KJTetc:MyRpcpass@localhost:8332/');

      define('MIN_BET'0.01);
      define('MAX_BET'6);
      define('ADDRESS''1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp');

      $bet MIN_BET;
      $total_fees 0;
      $count 0;
      $count_won 0;

      while ((
      $bet <= MAX_BET) && ($count_won 100))
      {
              
      $count++;

              
      $balance_a $b->getbalance('*'0);
              if (!isset(
      $starting_balance)) $starting_balance $balance_a;
              
      $b->sendtoaddress(ADDRESS, (float) $bet);
              
      $balance_b $b->getbalance('*'0);

              
      $fee $balance_a $balance_b $bet;
              
      $total_fees += $fee;
              
      $total_fees number_format($total_fees,8,'.','')+0;

              echo 
      'Game #'.$count."\n";
              echo 
      'Balance: ' $balance_a."       ";
              echo 
      'Bet: '$bet."       ";
              echo 
      'Fee: '. (number_format($fee8'.''') +0) . "       ";
              echo 
      'Total Fees: '$total_fees"\n";
              echo 
      'Balance: ' $balance_b "       ".'Waiting';

              
      $balance_c 0;

              while (
      $balance_b >= $balance_c)
              {
              sleep(4);
      $balance_c $b -> getbalance('*'0);
      echo '.';
              }

              echo 
      "\nBalance: $balance_c       ";

              
      $diff $balance_c $balance_b;

              if (
      $diff $bet)
              {
                      
      $bet MIN_BET;
                      
      $count_won++;
                      echo 
      "Win! ($count_won out of $count)\n";
              }
              else
              {
                      
      $bet *= 2;
                      echo 
      'Lose!'."\n";
              }

              echo 
      "\n";
      }

      echo 
      'Starting Balance: '.$starting_balance."\n";
      echo 
      'Ending Balance  : '$balance_c."\n";
      echo 
      'Total Fees: '$total_fees."\n";
      $amt_won $balance_c $starting_balance;
      echo 
      'Net Profit: '. (number_format($amt_won,8,'.','') + 0). "\n\n";

      I get this error:


      Code:
      Warning: fopen(http://...@localhost:8332/): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in C:\xampp\htdocs\jsonRPCClient.php on line 132

      Fatal error: Uncaught exception 'Exception' with message 'Unable to connect to http://KJTetc:*****@localhost:8332/' in C:\xampp\htdocs\jsonRPCClient.php:140 Stack trace: #0 C:\xampp\htdocs\bot2.php(20): jsonRPCClient->__call('sendtoaddress', Array) #1 C:\xampp\htdocs\bot2.php(20): jsonRPCClient->sendtoaddress('1dice8EMZmqKvrG...', 0.01) #2 {main} thrown in C:\xampp\htdocs\jsonRPCClient.php on line 140




      BTC2 Bounty for Modding the php bot to: [...]

      https://github.com/dooglus/sdbot

      BTC2 received, thanks.  Good luck! (you'll need it if you plan to use martingale betting for very long...)


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: fcmatt on February 06, 2013, 02:08:12 AM
      maybe * does not work as you expect. put 127.0.0.1

      maybe server=1 does not work.
      start bitcoin from dos prompt. change directory to where bitcoin executable is and start like this "bitcoin -server" or
      whatever the exe is called. bitcoind or bitcoin...


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: KJTetc on February 06, 2013, 05:14:45 AM
      I'm gonna try your script as it looks 1000x better.

      Here is an error I get:

      Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\bot2.php on line 132


      BTC2 Bounty for Modding the php bot to: [...]

      https://github.com/dooglus/sdbot

      BTC2 received, thanks.  Good luck! (you'll need it if you plan to use martingale betting for very long...)


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: kano on February 06, 2013, 06:22:56 AM
      I'm gonna try your script as it looks 1000x better.

      Here is an error I get:

      Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\bot2.php on line 132


      BTC2 Bounty for Modding the php bot to: [...]

      https://github.com/dooglus/sdbot

      BTC2 received, thanks.  Good luck! (you'll need it if you plan to use martingale betting for very long...)
      When you run PHP on a web server there is typically a 30s time limit.
      You can increase that in the PHP code with:
       set_time_limit(3600);
      Which will mean an hour from the time that was executed.
      Though if you put that in the correct loop (probably the innermost loop?) it will stop it from ever timing out.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: KJTetc on February 06, 2013, 07:55:33 AM
      I don't think that will work as when I just run it for 30 seconds I get a repeat of this once it's done

      Warning: fopen(http://...@127.0.0.1:8332/): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in C:\xampp\htdocs\jsonRPCClient.php on line 132

      Just ran the loop thing for about 5 minutes and no trades made. :(

      I'm gonna try your script as it looks 1000x better.

      Here is an error I get:

      Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\bot2.php on line 132


      BTC2 Bounty for Modding the php bot to: [...]

      https://github.com/dooglus/sdbot

      BTC2 received, thanks.  Good luck! (you'll need it if you plan to use martingale betting for very long...)
      When you run PHP on a web server there is typically a 30s time limit.
      You can increase that in the PHP code with:
       set_time_limit(3600);
      Which will mean an hour from the time that was executed.
      Though if you put that in the correct loop (probably the innermost loop?) it will stop it from ever timing out.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 06, 2013, 08:59:45 AM
      I don't think that will work as when I just run it for 30 seconds I get a repeat of this once it's done

      Warning: fopen(http://...@127.0.0.1:8332/): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in C:\xampp\htdocs\jsonRPCClient.php on line 132

      Run the script on the command line:

        php bot.php

      not from a web server.

      Try using my script and the json-rpc PHP file that's with it.  It has better error handling.

        https://github.com/dooglus/sdbot


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: payb.tc on February 06, 2013, 10:26:42 AM
      I don't think that will work as when I just run it for 30 seconds I get a repeat of this once it's done

      Warning: fopen(http://...@127.0.0.1:8332/): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in C:\xampp\htdocs\jsonRPCClient.php on line 132

      Run the script on the command line:

        php bot.php

      not from a web server.

      Try using my script and the json-rpc PHP file that's with it.  It has better error handling.

        https://github.com/dooglus/sdbot

      or first try the bare minimum:

      Code:
      <?php
      require_once('jsonRPCClient.php');
      $b = new jsonRPCClient('http://KJTetc:MyRpcpass@localhost:8332/');
      print_r($b->getinfo());


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 06, 2013, 10:56:02 AM
      or first try the bare minimum:

      Code:
      <?php
      require_once('jsonRPCClient.php');
      $b = new jsonRPCClient('http://KJTetc:MyRpcpass@localhost:8332/');
      print_r($b->getinfo());

      You'll need a ?> at the end too.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: payb.tc on February 06, 2013, 11:00:31 AM
      or first try the bare minimum:

      Code:
      <?php
      require_once('jsonRPCClient.php');
      $b = new jsonRPCClient('http://KJTetc:MyRpcpass@localhost:8332/');
      print_r($b->getinfo());

      You'll need a ?> at the end too.

      nope that's old-fashioned and against modern recommendations

      pretty much any php parser will work just fine without a closing ?> at the end of the file, and leaving it off the end of the file makes it less likely you'll accidentally introduce unwanted whitespace in the output.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 06, 2013, 11:20:16 AM
      nope that's old-fashioned and against modern recommendations

      pretty much any php parser will work just fine without a closing ?> at the end of the file, and leaving it off the end of the file makes it less likely you'll accidentally introduce unwanted whitespace in the output.

      I didn't know that.  Thanks!


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: Gyrsur on February 06, 2013, 12:16:09 PM
      you cannot successfully play SD with logic or a script. forget to play with this!

      to beat SD you have to play with illogicalness. this is where the fear of SD comes from!

      http://blockchain.info/tx/9784cb364ffbaa000bbb5574ec6a50c9f500c9df830cf89d3cd90318bd7225dc --> WIN

      EDIT: http://blockchain.info/tx/9b446789a58501a84767f0ad87013982aec870048b40cc895fc3fde0c56af37a --> WIN

      EDIT2: http://blockchain.info/tx/812bdb3cc7e620e38e1fdee74361d58c1c860e3d2b2b7a7ee3c37047e2157a8c --> LOSE

      So, what next? Buy bitcoins to feed the SD monster with 20.48 --> 40.96 --> 81.92?? NO WAY!! DON'T FEED THE SD MONSTER. IT IS WASTE OF TIME.

      ^^update


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 06, 2013, 07:57:46 PM
      So, what next? Buy bitcoins to feed the SD monster with 20.48 --> 40.96 --> 81.92?? NO WAY!! DON'T FEED THE SD MONSTER. IT IS WASTE OF TIME.

      I think we all realise that there's no way to guarantee a win at satoshidice, and that the longer you play, the more likely you are to make a loss.  It can be fun/exciting/scary to use Martingale betting, but of course you should never risk more than you can afford to lose, because you might end up losing everything you bet.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: KJTetc on February 06, 2013, 08:01:56 PM
      Using your script, localhost as allowed ip in conf. Running from command line. Still get that http error :(



      I don't think that will work as when I just run it for 30 seconds I get a repeat of this once it's done

      Warning: fopen(http://...@127.0.0.1:8332/): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in C:\xampp\htdocs\jsonRPCClient.php on line 132

      Run the script on the command line:

        php bot.php

      not from a web server.

      Try using my script and the json-rpc PHP file that's with it.  It has better error handling.

        https://github.com/dooglus/sdbot


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 08, 2013, 01:47:06 AM
      Using your script, localhost as allowed ip in conf. Running from command line. Still get that http error :(

      I PM'ed him, used TeamViewer to diagnose the problem.  Turned out he had two copies of the script, and was running an old copy while editing the new copy.  Running the new copy showed straight away that his wallet was encrypted and locked.

      I modified the script so it prompts for a passphrase, but my Windows skills are weak, and apparently it didn't work.  So I guess he either ended up unlocking his wallet manually or hardcoding the passphrase into the script.

      The last I heard from him:
        "[11:31:16 PM] made a whole bitcoin tonight!!"

      :)

      I made a few other changes to the script. like adding the option to set constant starting and stopping bet sizes, rather than using a percentage of your balance, and stopping if a certain file exists.

        http://github.com/dooglus/sdbot


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: payb.tc on February 08, 2013, 01:49:54 AM
      The last I heard from him:
        "[11:31:16 PM] made a whole bitcoin tonight!!"

      hopefully that's not "the last we hear from him" :D

      quit while you're ahead KJ!


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: KJTetc on February 08, 2013, 05:20:11 AM
      Made 2.46 bitcoin in total. I think I'm done gambling forever!



      The last I heard from him:
        "[11:31:16 PM] made a whole bitcoin tonight!!"

      hopefully that's not "the last we hear from him" :D

      quit while you're ahead KJ!



      Title: Re: PHP martingale bot for satoshiDICE
      Post by: maomao on February 13, 2013, 10:41:21 AM
        Can you  add a feature, to the results of the past N bets, If greater than a certain threshold, and suspended for 10 minutes





      Title: Re: PHP martingale bot for satoshiDICE
      Post by: Rampion on February 13, 2013, 10:47:15 AM
      You cannot escape the house edge. Never.

      http://www.goodbonusguide.com/casino-articles/roulette-systems-destroying-the-martingale-theory-myth.html


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: maomao on February 13, 2013, 05:36:36 PM
      Code:
      function get_result($mode, $bet_txid, $game_name)
      {
      unset($r);
      $jsonurl = "http://satoshiroulette.com/log.api.php?txid=$bet_txid&mode=$mode";

      while(! isset($r->{$game_name}) )
      {
      $json = file_get_contents($jsonurl);
      $r = json_decode($json);
      if(isset($r->{$game_name}))
      {
      $result = $r->{$game_name};
      }
      print ".";
      $s = rand($GLOBALS['sleep'], $GLOBALS['sleep_max']);
      sleep($s);
      }
      return $result;
      }

       like the example above,can we  query to result directly from the satoshidice website.

      $jsonurl = "http://www.satoshidice.com/lookup.php?tx=$bet_txid&limit=250&min_bet=0&status=ALL&format=json";




      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 13, 2013, 09:21:45 PM
      You cannot escape the house edge. Never.

      http://www.goodbonusguide.com/casino-articles/roulette-systems-destroying-the-martingale-theory-myth.html

      Well, if you play long enough, your losses will get arbitrarily close to the house edge.

      But if you only play a few times you can end up making a profit.

      The guy who only ever makes one bet and doubles his stake has "escaped the house edge", hasn't he?


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 13, 2013, 09:29:48 PM
      Can you  add a feature, to the results of the past N bets, If greater than a certain threshold, and suspended for 10 minutes

      Can you be a bit clearer please?  You want it to pause when it's won a certain amount in the last so many bets?  Is that net win?  Like suppose we start at 1 BTC, we lose a bunch, doubling up each time, the last N=3 bets were 64, 128, and 256, and only the 256 won, does that count as a win of 64?  Because it's really only a win of about 1 BTC.  And what's with the weird quoting?  Gyrsur and myself didn't say any of that stuff...

      like the example above,can we  query to result directly from the satoshidice website.

      That's a good idea.  I'll add both when I need a break from 'real work'.  :)


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: Rampion on February 13, 2013, 10:48:58 PM
      You cannot escape the house edge. Never.

      http://www.goodbonusguide.com/casino-articles/roulette-systems-destroying-the-martingale-theory-myth.html

      Well, if you play long enough, your losses will get arbitrarily close to the house edge.

      But if you only play a few times you can end up making a profit.

      The guy who only ever makes one bet and doubles his stake has "escaped the house edge", hasn't he?

      I assume that the purpose of a bot is to play long enough.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: organofcorti on February 13, 2013, 10:59:45 PM
      You cannot escape the house edge. Never.

      http://www.goodbonusguide.com/casino-articles/roulette-systems-destroying-the-martingale-theory-myth.html

      Well, if you play long enough, your losses will get arbitrarily close to the house edge.

      But if you only play a few times you can end up making a profit.

      The guy who only ever makes one bet and doubles his stake has "escaped the house edge", hasn't he?

      I assume that the purpose of a bot is to play long enough.

      No, anyone using a bot is likely to have played too long. The longer you play, the more likely your luck tends to expected, and the vloser you tend to get to a loss equating to the house edge. That's just rephrasing what dooglus wrote.

      It boils down to: the longer you martingale, the more likely your winnngs are to be a range that can be mathematically described as follows:

      Code:
      lost your shirt <  earnings <  (1 - house edge) * amount you bet


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: SRoulette on February 14, 2013, 05:46:41 AM
      replying here as this bot was our direct inspiration for our own (and even the reason we chose php).

      https://bitcointalk.org/index.php?topic=142326.0

      Great work btw :)


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: Rampion on February 14, 2013, 08:25:30 AM
      You cannot escape the house edge. Never.

      http://www.goodbonusguide.com/casino-articles/roulette-systems-destroying-the-martingale-theory-myth.html

      Well, if you play long enough, your losses will get arbitrarily close to the house edge.

      But if you only play a few times you can end up making a profit.

      The guy who only ever makes one bet and doubles his stake has "escaped the house edge", hasn't he?

      I assume that the purpose of a bot is to play long enough.

      No, anyone using a bot is likely to have played too long. The longer you play, the more likely your luck tends to expected, and the vloser you tend to get to a loss equating to the house edge. That's just rephrasing what dooglus wrote.

      It boils down to: the longer you martingale, the more likely your winnngs are to be a range that can be mathematically described as follows:

      Code:
      lost your shirt <  earnings <  (1 - house edge) * amount you bet


      The longer you martingale, the more likely you will lose enough times in a row to loose all your money. Bets grow exponentially, money is not infinite.

      Unless you have 50 billion... But then why would you Martingale just to double the first bet? It's kinda stupid to bet, let's say 512 BTC (cumulative bet 1023 BTC), to win only 1 BTC.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on February 14, 2013, 07:29:51 PM
      Unless you have 50 billion... But then why would you Martingale just to double the first bet? It's kinda stupid to bet, let's say 512 BTC (cumulative bet 1023 BTC), to win only 1 BTC.

      Actually, if I have 1023 BTC and need 1024 BTC, it's about 100 times more cost effective to bet 1 BTC and martingale up to 512 than it is to bet the whole 1023 BTC on a '1-in-1023' bet (if such a thing existed).

      Of course, both strategies are a bad idea - you can expect to lose on average.  But you can expect to lose 100 times less on average if you do a sequence of up to 10 martingale bets than if you make a single large bet.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: juve4v on March 01, 2013, 08:11:12 PM
      I have one question: Could it be possible for the bot to acces the real time bets as they appear on "recent" tab on sd site, or at least  last bet, check the number and bet only if x > y , where y is "no less than  number we play.
      For example I want to only play : Less that 32768 which is 50%, for a fixed amount but I want the bot to check last number on recent tab and if that number is > 32768 alow to bet,  if it is < 32768 stop and wait till next number is greater than 32768 then play.So could this be made possible?
      I know its a bit out of this topic but it is /can be connected to it.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: kano on March 01, 2013, 08:55:22 PM
      I have one question: Could it be possible for the bot to acces the real time bets as they appear on "recent" tab on sd site, or at least  last bet, check the number and bet only if x > y , where y is "no less than  number we play.
      For example I want to only play : Less that 32768 which is 50%, for a fixed amount but I want the bot to check last number on recent tab and if that number is > 32768 alow to bet,  if it is < 32768 stop and wait till next number is greater than 32768 then play.So could this be made possible?
      I know its a bit out of this topic but it is /can be connected to it.
      Lulz - funny :)
      History doesn't affect the next bet :P


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dooglus on March 01, 2013, 09:35:33 PM
      Lulz - funny :)
      History doesn't affect the next bet :P

      This, exactly.

      Your number is determined entirely by:
        a) your transaction id (which is set by your client before your bet leaves your computer)
      and
        b) the site's daily secret (which was set before the site started running)

      It makes no difference who bets before you, or what number they got.

      Your strategy is similar to waiting for three people to roll a 7 in craps before you start playing.  You can do it if you like, but it doesn't affect your chances of winning.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dextryn on March 05, 2013, 05:06:35 PM
      I have a specific system that I'd like to get some help based upon a variant of the martingale system.  I'll pay a bounty of 2 btc if someone can help me develop it. (I have absolutely no skills at php/json or any of that) Just FYI manually inputting my system has given me 120btc profit in the last month.  PM me for details.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: kano on March 05, 2013, 07:58:00 PM
      I have a specific system that I'd like to get some help based upon a variant of the martingale system.  I'll pay a bounty of 2 btc if someone can help me develop it. (I have absolutely no skills at php/json or any of that) Just FYI manually inputting my system has given me 120btc profit in the last month.  PM me for details.
      You do realise that there is no 'system' to beat SD right?
      Unless you can determine the lucky numbers in advance or guarantee double spending, it simply is impossible.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: SRoulette on March 06, 2013, 01:55:50 AM
      I have a specific system that I'd like to get some help based upon a variant of the martingale system.  I'll pay a bounty of 2 btc if someone can help me develop it. (I have absolutely no skills at php/json or any of that) Just FYI manually inputting my system has given me 120btc profit in the last month.  PM me for details.

      If you dont mind sharing your system we would be happy to incorporate it into our martingale bot.
      Our bot currently targets our own games: http://satoshiroulette.com/ but we are in the process of enabling support for other casinos as well. You could even take advantage of one of the many alt currencies we support and test drive it with say terracoin first before moving up to bitcoin on satoshidice.

      As Kano said though, a reliable way of beating a negative house edge does not exist or is currently unknown.
      If you have turned probability on its head I cant wait to see it :D

      Please PM myself for details.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: organofcorti on March 06, 2013, 06:39:17 AM
      As Kano said though, a reliable way of beating a negative house edge does not exist or is currently unknown.

      Perhaps a clearer minded thinker would interpret Kano's comment as "a reliable way of beating a negative expectation is to not bet against the house".


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: SRoulette on March 10, 2013, 03:48:55 AM
      Code:
      function get_result($mode, $bet_txid, $game_name)
      {
      unset($r);
      $jsonurl = "http://satoshiroulette.com/log.api.php?txid=$bet_txid&mode=$mode";

      while(! isset($r->{$game_name}) )
      {
      $json = file_get_contents($jsonurl);
      $r = json_decode($json);
      if(isset($r->{$game_name}))
      {
      $result = $r->{$game_name};
      }
      print ".";
      $s = rand($GLOBALS['sleep'], $GLOBALS['sleep_max']);
      sleep($s);
      }
      return $result;
      }

       like the example above,can we  query to result directly from the satoshidice website.

      $jsonurl = "http://www.satoshidice.com/lookup.php?tx=$bet_txid&limit=250&min_bet=0&status=ALL&format=json";

      Unfortunately SatoshiDice do not not have such an API currently, we encourage them to add one like our own so blockspam can be reduced.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: FTWbitcoinFTW on March 10, 2013, 05:22:15 PM
      Martingale is nice !!

      Code:
      2013-03-10 06:41:26	lessthan 32000	3d61afe0 31c90c0a	1LuckyW	CONFIRMED	340.00000000	LOSE	1.70000000	37037
      2013-03-10 06:35:23 lessthan 32000 6d2a7d7a aa7a74c6 1LuckyW CONFIRMED 12.50000000 LOSE 0.06250000 36684
      2013-03-10 05:57:16 lessthan 32000 36585c54 754cf1b4 1LuckyW CONFIRMED 160.00000000 LOSE 0.80000000 57053
      2013-03-10 05:51:27 lessthan 32000 72bf3c36 10e9b860 1LuckyW CONFIRMED 70.00000000 LOSE 0.35000000 49794
      2013-03-10 05:43:10 lessthan 32000 945a9f86 397f6c87 1LuckyW CONFIRMED 12.50000000 WIN 25.04810000 5526
      2013-03-10 05:42:50 lessthan 32000 dec73088 8d4ee4d2 1LuckyW CONFIRMED 30.00000000 LOSE 0.15000000 51420
      2013-03-10 05:36:21 lessthan 32000 30dd3084n 7f07f427 1LuckyW CONFIRMED 12.50000000 LOSE 0.06250000 60988
      2013-03-10 04:54:46 lessthan 32000 5b74aa38 e9b0838e 1LuckyW CONFIRMED 70.00000000 WIN 140.26936000 20218
      2013-03-10 04:53:09 lessthan 32000 8b8f4870 caf86389 1LuckyW CONFIRMED 30.00000000 LOSE 0.15000000 43175


      12 / 30 / 70 / 160 / 340 = -28K$  just to try cover  a 12btc loss



      edit : http://satoshidice.com/lookup.php?tx=1LuckyWwuK7CMF9PveFT4ZXbBcDz6xripS&limit=1000&min_bet=12&status=ALL (http://satoshidice.com/lookup.php?tx=1LuckyWwuK7CMF9PveFT4ZXbBcDz6xripS&limit=1000&min_bet=12&status=ALL)


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: fcmatt on March 10, 2013, 07:05:21 PM
      Martingale is nice !!

      Code:
      2013-03-10 06:41:26	lessthan 32000	3d61afe0 31c90c0a	1LuckyW	CONFIRMED	340.00000000	LOSE	1.70000000	37037
      2013-03-10 06:35:23 lessthan 32000 6d2a7d7a aa7a74c6 1LuckyW CONFIRMED 12.50000000 LOSE 0.06250000 36684
      2013-03-10 05:57:16 lessthan 32000 36585c54 754cf1b4 1LuckyW CONFIRMED 160.00000000 LOSE 0.80000000 57053
      2013-03-10 05:51:27 lessthan 32000 72bf3c36 10e9b860 1LuckyW CONFIRMED 70.00000000 LOSE 0.35000000 49794
      2013-03-10 05:43:10 lessthan 32000 945a9f86 397f6c87 1LuckyW CONFIRMED 12.50000000 WIN 25.04810000 5526
      2013-03-10 05:42:50 lessthan 32000 dec73088 8d4ee4d2 1LuckyW CONFIRMED 30.00000000 LOSE 0.15000000 51420
      2013-03-10 05:36:21 lessthan 32000 30dd3084n 7f07f427 1LuckyW CONFIRMED 12.50000000 LOSE 0.06250000 60988
      2013-03-10 04:54:46 lessthan 32000 5b74aa38 e9b0838e 1LuckyW CONFIRMED 70.00000000 WIN 140.26936000 20218
      2013-03-10 04:53:09 lessthan 32000 8b8f4870 caf86389 1LuckyW CONFIRMED 30.00000000 LOSE 0.15000000 43175


      12 / 30 / 70 / 160 / 340 = -28K$  just to try cover  a 12btc loss



      edit : http://satoshidice.com/lookup.php?tx=1LuckyWwuK7CMF9PveFT4ZXbBcDz6xripS&limit=1000&min_bet=12&status=ALL (http://satoshidice.com/lookup.php?tx=1LuckyWwuK7CMF9PveFT4ZXbBcDz6xripS&limit=1000&min_bet=12&status=ALL)


      Sd relies on suckers to profit. Poor math skills equals money for them. You know the old saying, there is one born every minute.
      The funniest part is that they get no free drinks, food, hotel room, socialization in nice atmosphere, etc. At least some small token for their losses. They just sit in their underwear in front of pc and give their money away. Hilarious.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: Rampion on March 11, 2013, 05:50:02 PM
      Martingale is nice !!

      Code:
      2013-03-10 06:41:26	lessthan 32000	3d61afe0 31c90c0a	1LuckyW	CONFIRMED	340.00000000	LOSE	1.70000000	37037
      2013-03-10 06:35:23 lessthan 32000 6d2a7d7a aa7a74c6 1LuckyW CONFIRMED 12.50000000 LOSE 0.06250000 36684
      2013-03-10 05:57:16 lessthan 32000 36585c54 754cf1b4 1LuckyW CONFIRMED 160.00000000 LOSE 0.80000000 57053
      2013-03-10 05:51:27 lessthan 32000 72bf3c36 10e9b860 1LuckyW CONFIRMED 70.00000000 LOSE 0.35000000 49794
      2013-03-10 05:43:10 lessthan 32000 945a9f86 397f6c87 1LuckyW CONFIRMED 12.50000000 WIN 25.04810000 5526
      2013-03-10 05:42:50 lessthan 32000 dec73088 8d4ee4d2 1LuckyW CONFIRMED 30.00000000 LOSE 0.15000000 51420
      2013-03-10 05:36:21 lessthan 32000 30dd3084n 7f07f427 1LuckyW CONFIRMED 12.50000000 LOSE 0.06250000 60988
      2013-03-10 04:54:46 lessthan 32000 5b74aa38 e9b0838e 1LuckyW CONFIRMED 70.00000000 WIN 140.26936000 20218
      2013-03-10 04:53:09 lessthan 32000 8b8f4870 caf86389 1LuckyW CONFIRMED 30.00000000 LOSE 0.15000000 43175


      12 / 30 / 70 / 160 / 340 = -28K$  just to try cover  a 12btc loss



      edit : http://satoshidice.com/lookup.php?tx=1LuckyWwuK7CMF9PveFT4ZXbBcDz6xripS&limit=1000&min_bet=12&status=ALL (http://satoshidice.com/lookup.php?tx=1LuckyWwuK7CMF9PveFT4ZXbBcDz6xripS&limit=1000&min_bet=12&status=ALL)


      Well, eventually a consecutive strek of 20 losses will happen. And that will not only end up eating all the mini-wins previously made through martingale, but it's very likely to destroy even the biggest roll.

      Martingale sucks big time... Not for Satoshidice owners, of course ;)


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: rayvellest on March 21, 2013, 01:28:33 PM
      Every time I run this script, it ends up creating a new Bitcoin wallet, what's wrong with it!?


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: payb.tc on March 21, 2013, 09:32:27 PM
      Every time I run this script, it ends up creating a new Bitcoin wallet, what's wrong with it!?

      if you're referring to the script in the OP, you probably mean it's creating a new address, not a new wallet. in that case, that's what the normal bitcoin client was designed to do, and has nothing to do with the martingale script.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: rayvellest on March 21, 2013, 11:54:23 PM
      Every time I run this script, it ends up creating a new Bitcoin wallet, what's wrong with it!?

      if you're referring to the script in the OP, you probably mean it's creating a new address, not a new wallet. in that case, that's what the normal bitcoin client was designed to do, and has nothing to do with the martingale script.


      Why the script does that? Is there a meaningful reason for that? And, I wonder, is it possible to modify the script in such way that it uses the same address every time? Excuse the sack of questions, I'm still learning my way around it, and any help means a lot. Thanks!


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: payb.tc on March 22, 2013, 02:38:06 AM
      Every time I run this script, it ends up creating a new Bitcoin wallet, what's wrong with it!?

      if you're referring to the script in the OP, you probably mean it's creating a new address, not a new wallet. in that case, that's what the normal bitcoin client was designed to do, and has nothing to do with the martingale script.


      Why the script does that? Is there a meaningful reason for that? And, I wonder, is it possible to modify the script in such way that it uses the same address every time? Excuse the sack of questions, I'm still learning my way around it, and any help means a lot. Thanks!

      no, the script is simply telling bitcoin to send a transaction. beyond that, it doesn't have control over change addresses, etc.

      what you're asking is related to how the bitcoin software works, not how the PHP script in the OP works.


      Title: Re: PHP martingale bot for satoshiDICE
      Post by: dermo on May 31, 2013, 02:15:08 AM
      A PowerShell Version:

      Code:
      Write-Host "Satoshidice"

      $min_bet = 0.01
      $max_bet = 0.1
      $address = "1dice8EMZmqKvrGE4Qc9bUFf9PX3xaYDp"


      $bet = $min_bet
      $total_fees = 0
      $count = 0
      $count_won = 0


      $starting_balance = ./bitcoind getbalance

      while ($bet -le $max_bet -AND $count_won -le 100) {

      $count ++
      $balance_a = ./bitcoind getbalance

      $tx = ./bitcoind sendtoaddress "$address" $bet

      $balance_b = ./bitcoind getbalance

      $fee = $balance_a - $balance_b - $bet
      $total_fees += $fee

      Write-Host "Game: $count"
      Write-Host "Balance: $balance_a"
      Write-Host "Bet: $bet"
      Write-Host "Fee: $fee"
      Write-Host "Total Fees: $total_fees"
      Write-Host –NoNewLine "Balance: $balance_b Waiting "

      $balance_c = 0
      $last_c = 0

      while ($balance_b -ge $balance_c)
      {
      $balance_c = ./bitcoind getbalance

      if(  ($balance_c -eq $last_c) -OR ($last_c -eq 0) )
      {
      Write-Host –NoNewLine "."
      }else
      {
      Write-Host "Balance: $balance_c"
      }

      $last_c = $balance_c

      }

      $diff = $balance_c - $balance_b

      if ($diff -gt $bet)
      {
      $bet = $min_bet
      $count_won = $count_won + 1
      Write-Host "Win! ($count_won out of $count)"
      }else
      {
      $bet = $bet * 2
      Write-Host "Lose!"
      }

      Write-Host ""
      }


      If someone thinks this is worth a donation... 1J66vZHf1oFPHFhjFBtbEqxkJahdF3vetu

      Thanks payb.tc for your nice PHP Script :0) Donation on the way

      How to run a powershell script ? thanks in advance