Deposit BTC
- Click "Deposit BTC Now" to create a new deposit address.
- Send the desired amount to that address (0.002 to 20 BTC suggested).
- We'll credit your account as soon we receive your deposit.
Are there fees? No. Depositing and withdrawing bitcoins is free.
When will my account be credited? Within a few minutes. We'll let you know as soon as we receive your funds, via email and an on-screen alert.
Is there a minimum deposit? No, but the minimum bet is 0.002 BTC.
Can I reuse a deposit address? Yes.
I made a deposit more than ten minutes ago and it's not showing up.
Log in, return to this page, and click the "Click here to check manually" button. Let us know if the problem persists.
Bitspin games are provably fair. Here's how.
How does provably fair gaming work?
A computer's random number generator (RNG) must be provided a "seed" value- a starting number it can work with- in order to generate a random-seeming number. As long as you provide the RNG with the same seed input, you'll get the same "random" number as output.
We generate a seed number before you place your bet. We don't show it to you right away, however- if we did, you would be able to calculate the outcome of the game beforehand. Rather than show you the seed in its entirety, we show it to you in two pieces (let's call those pieces the private key and public key). Before a round starts, we expose the public key in plain text, but we only show you the encrypted version of the private key. After the round is over, we show you the un-encypted value of the private key, so that you can combine the public and private keys to generate the seed, with which you can plug into the RNG algorithm we use to verify the outcome of the round.
How do I know that the private key you show us after the round is over is the same as the encrypted version that was shown before the round started?
The algorithm we use to encrypt the private key produces a unique output for every input. So when we encrypt the private key, you are assured that no other input (private key) would result in the same encrypted output. When we show you the private key after a round, you can simply plug it into the same encrypting algorithm we use, and verify that the result is the "private key hash" that we showed you before you placed your bet.
For more details, see below.
Details:
To generate random numbers for Blackjack and Roulette, we use a Mersenne Twister seeded with the hash of one private key and one public key. We reveal the public key and the hash of the private key (using SHA512) before every spin. We reveal the private key after the spin (on the spins page), with which you can verify the integrity of the winning number using the method below. New keys are generated for each round.
def spin_wheel
public_key = random_string(50) # We show you this
private_key = random_string(50) # We show you the SHA512 hash of this
# We generate the seed for the random number generator by hashing both keys
seed = OpenSSL::HMAC.hexdigest(OpenSSL::Digest::SHA512.new, public_key, private_key)
# and then taking the first 8 digits of that hash for the seed
seed = seed[0..7]
# and converting the hex value to a decimal
seed = seed.to_i(16)
# Now, we can seed the Mersenne Twister.
prng = Random.new(seed)
# Finally, we spin the Roulette wheel.
num = prng.rand(0..36)
After a spin, you can verify the generated number by finding its private key (revealed after each spin) and doing this:
# Verify that the private key matches up with the hash value we showed you beforehand:
private_key_hash = Digest::SHA512.hexdigest(private_key)
# To generate the seed:
seed = OpenSSL::HMAC.hexdigest(OpenSSL::Digest::SHA512.new, public_key, private_key)
seed = seed[0..7] # take first 8 chars
seed = seed.to_i(16) # convert to decimal
# Seed the generator:
prng = Random.new(seed)
# Generate a number:
num = prng.rand(0..36) # This will equal the roulette number.
How about blackjack?
The same principle applies for blackjack. This time, rather than generate a number between 1 and 36, we shuffle a deck of cards (actually, there are 8 decks in the shoe).
We first generate an unshuffled shoe. We do this by adding all cards in order, 8 times, into the shoe.
The unshuffled shoe looks like: Ad, 2d, 3d, 4d, 5d, 6d, 7d, 8d, 9d, Td, Jd, Qd, Kd, and again for Clubs, Hearts, and Spades. We repeat that 8 times to get a shoe of 416 cards.
We then shuffle that deck. To shuffle, we go through our unshuffled deck, and assign each card the next number generated by our seeded Mersenne Twister, between 0 and 1000 inclusive. If a generated number has already been assigned to a card, we keep generating new ones until we find one that hasn't been taken.
We then sort the cards by that value, with low values first.
Blackjack dealing
We deal by removing cards from the end of the deck. The initial deal sequence is player, dealer, player, dealer.