Bitcoin Forum
April 26, 2026, 03:44:24 PM *
News: Latest Bitcoin Core release: 30.2 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 [393] 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 ... 653 »
  Print  
Author Topic: Bitcoin puzzle transaction ~32 BTC prize to who solves it  (Read 381339 times)
kTimesG
Full Member
***
Offline Offline

Activity: 812
Merit: 248


View Profile
March 10, 2025, 07:29:54 PM
 #7841

Do you mean something like this?

Yes. Something like that,

It requires extensive GPU programming...

And the outcome of this entire process remains uncertain.  Grin

I'm not so sure, from what I'm seeing, for WP it might only require 2 hours of tweaking, not 20 weeks of writing a kernel from scratch. He already has that.

And isn't there already some, IDK, vanity software that already has options to scan a full subrange?

The rest can be done via instrumentation / scripting to run the app with advancing range as argument.

But we're diverting. This has nothing to do with puzzles.

Off the grid, training pigeons to broadcast signed messages.
Akito S. M. Hosana
Jr. Member
*
Offline Offline

Activity: 420
Merit: 8


View Profile
March 10, 2025, 07:43:17 PM
 #7842

Those of us who don't have a powerful GPU or only have a CPU can only sit and cry.  Sad
deep_seek
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
March 10, 2025, 08:04:14 PM
 #7843

Those of us who don't have a powerful GPU or only have a CPU can only sit and cry.  Sad

Haha, true! While others hunt Bitcoin, we’re over here hunting tears with our CPUs. Maybe we should start a new coin—Cryp-to-Cry!

Why the hell is Bitcoin going down and down? If Satoshi doesn’t donate some Bitcoin to me, I curse that Bitcoin will touch its all-time low. Embarrassed
deep_seek
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
March 10, 2025, 08:59:23 PM
 #7844

**Is He Really Satoshi?** 

The user with ID **3** on Bitcointalk.org—one of the earliest members—holds a significant place in Bitcoin’s history. Interestingly, the official Bitcoin website, **Bitcoin.org**, shares a similar name. Could both sites be directly linked to Satoshi Nakamoto? 

🔗 **Profile of Bitcointalk’s Third Member:** 
(https://bitcointalk.org/index.php?action=profile;u=3

But here’s where things get even more intriguing... 

Another user, known as **the puzzle creator**, has sparked speculation. Could this user actually be Satoshi as well? Or are they all connected in some way? 

🔗 **The Puzzle Creator’s Profile:** 
(https://bitcointalk.org/index.php?action=profile;u=991321

So, what do you think? Are these accounts separate individuals, or could they all be Satoshi under different identities?
mcdouglasx
Hero Member
*****
Offline Offline

Activity: 980
Merit: 539



View Profile WWW
March 10, 2025, 10:09:24 PM
 #7845

Fun fact: after the pubkeys of the puzzles were released in 2019, puzzle 75 took 10 days to be solved. I wonder where those mathematicians and computer experts who boast around here were back then? Why didn't they solve it earlier? Does it have something to do with the AI not being very good? Or maybe because JLP appeared in 2020? It's curious how nowadays everyone is an expert.


██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██



██
██
██
██
██
██
██



██
██
██
██
██



██
██

██
██
██
██
██
██
██
██
██
██
███████▄▄███████▄▄
████▄███████████████▄█████▄▄▄
██▄███████████████████▄▄██▀████▄▄▄▄▄▄▄▄███▄██████
▄███████████████████▀▄█████▄▄███████████▄▀▀▀██▄██
▄███▐███████████████▄▄▀███▀███▄█████████████▄███████
████▐██████████████████▀██▄▀██▐██▄▄▄▄██▀███▀▀███▀▀▀
█████████████████████▌▄▄▄██▐██▐██▀▀▀▀███████████
███████▌█████████▐██████▄▀██▄▀█████████████████████▄
▀██▐███▌█████████▐███▀████████▄██████████▀███████████
▀█▐█████████████████▀▀▀███▀██▀▀▀▀▀▀▀▀▀██▀▀▀███▀▀▀▀▀
██▀███████████████████▀▄██▀
████▀███████████████▀
███████▀▀███████▀▀
██
██


██
██
██
██
██
██
██
██
██

██
██
██


██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
 
    FAST    🔒 SECURE    🛡️ NO KYC        EXCHANGE NOW      
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██

██
██
██
██
██
██


██
██
██
██
██
██
██
██
██
██

██
██
██
██
██
██
██
██
██
██
██
puzzlemandelux
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
March 10, 2025, 10:44:16 PM
 #7846

PubAddress: 1MVDYgVaSNhc5ZqRf3iBWYw9bZQAhPr6EP
Priv (WIF): p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qe2tw4pE71QPMrx7zry1
Priv (HEX): E685F697E2F3388C6 (68 bit)

Bram24732
Member
**
Offline Offline

Activity: 322
Merit: 28


View Profile
March 10, 2025, 11:09:52 PM
 #7847

This trick might be very useful for improving a vanity search with a long prefix, without looking for a full match. You skipped a lot of ranges to land on this hash, right? Smiley

You can implement hash comparison logic using unordered_map for fast lookups. Instead of comparing the entire 20-byte HASH160, you can compare only the first 8 bytes with unordered_map.

I meant something else: let's say we want a match on the first 58 bits of the hash.

This means checking 2**58 hashes, on average.

But instead of scanning linearly one key after the next, jump around according to mcdouglasx/bibilgin strategies (trade off precision with probabilities).

That's why I said it can be a good improvement to find vanity addresses faster, but since there are skipped ranges, other matching prefixes might get lost, there is no violation. But this is not something that a vanity search would ever care about. Only something that should worry someone who wants to solve a puzzle in an efficient matter (e.g. an exact match).

I still dont see how skipping is more efficient than scanning everything.
A certain density of X bits prefixes (what you call being lucky) in an arbitrary range has zero impact on the probability of finding something on the next key, or on 100m keys later.
You can think of it this way : since distribution is random, any key can be replaced by any other key. As a result changing the traversal order does not improve odds of success.

I solved 67 and 68 using custom software distributing the load across ~25k GPUs. 4090 stocks speeds : ~8.1Bkeys/sec. Don’t challenge me technically if you know shit about fuck, I’ll ignore you. Same goes if all you can do is LLM reply.
unclevito
Jr. Member
*
Offline Offline

Activity: 78
Merit: 4


View Profile WWW
March 10, 2025, 11:15:57 PM
Last edit: March 10, 2025, 11:41:47 PM by unclevito
 #7848

for all those prefix hunters out there. Find the i and get the pie.

Public Address: 1MvdYgvasN6c9pChhUBrJxg5LCC6wvjhEL
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qddt9LsH77wYHYC11LP2
Private HEX: D5412A3C9A69FA280 (68 bit)

Public Address: 1MVdYGvASN6gDvqkEpiwK6n2Pbikto2bCn
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qdgJT5gsFnMqL2mvnFqf
Private HEX: D711DB111F2CE6D52 (68 bit)

Public Address: 1MVdygvASN6Y3LKqADfXCv6WzHVeGPgqJP
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qdwTcmfH1HZKaCmiRwEY
Private HEX: E271A4B53ED3EB990 (68 bit)

Public Address: 1MVDYGvAsN6arwspXpJ3o87pW3Ubs6yDkd
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qe2e5AJjbp3PApbDvj2s
Private HEX: E654BEE77B62BAB83 (68 bit)

Public Address: 1MvDYGVASn6yhppeJWNxXVgXAVpenNkB47
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qe2pQbJ7oT3vNcXjCD8K
Private HEX: E676F9A1FE169CA7A (68 bit)

Public Address: 1MvdYgvASn6VpM9kyNXA86F9qp3pHZfHQD
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qe6KnYpoVukVUSejeCmL
Private HEX: E9188FD362C330678 (68 bit)

Public Address: 1MVdYgVAsN6m9daCgHYGEYJ8cEprrBZ8do
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qe9ZKApxkgnZZLzTmxiF
Private HEX: EB85A6C641943CCF9 (68 bit)

Public Address: 1MVdYGVAsN6hwziaQefEXbUcftg6TzrY7h
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qeBtqjC8gwrf4NchE3La
Private HEX: ED4683AB293E9C7F2 (68 bit)

Public Address: 1MvdYGvASn6m9m47bPxG6DhXm1GPS1bdRR
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qeDdMH79KwS49MudFaYM
Private HEX: EE93667313F1C256A (68 bit)

Public Address: 1MvDygVasn6fQXX77KhjY3zGtkyjvKopbu
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qeFZjfK6F4rzYnhS8Lyu
Private HEX: F0079EDF018ED4A9D (68 bit)

Public Address: 1MvDYGVasN6rA6mYDDUtXnzXo6nDp8fjtx
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qeLtQyR4MEaiXSgMQT9s
Private HEX: F405F4E7EED97C6F3 (68 bit)

Public Address: 1MVdygvasn62h2Xja4K1SkZoVUV9R9fTfB
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qeQy78kdyUZqVKpcipSo
Private HEX: F715E0DA097D80336 (68 bit)

Public Address: 1MVdYGVaSn6Z2TPkJBqhLqfKKj4WLjpo6S
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qeQwvMnaGyWmfUXY8J5A
Private HEX: F711F377507E85D78 (68 bit)

Public Address: 1MvdYGvaSn6GUX5zD3xxW6b72LAXKMoggf
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qeXqKYBEgp2RHpn4Kv59
Private HEX: FC3CC1A74B41681BE (68 bit)

Public Address: 1MvdYGVaSn6w4kaaUDxBgq6hyPc4rvzmgw
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qeY3YsPjUj6tXJMCT6sM
Private HEX: FC6542F3CE21BE377 (68 bit)

bibilgin
Newbie
*
Offline Offline

Activity: 280
Merit: 0


View Profile
March 11, 2025, 12:34:30 AM
 #7849

for all those prefix hunters out there. Find the i and get the pie.
....
Public Address: 1MvdYGVaSn6w4kaaUDxBgq6hyPc4rvzmgw
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qeY3YsPjUj6tXJMCT6sM
Private HEX: FC6542F3CE21BE377 (68 bit)



When searching, I recommend that you pay attention to uppercase and lowercase letters.
mcdouglasx
Hero Member
*****
Offline Offline

Activity: 980
Merit: 539



View Profile WWW
March 11, 2025, 12:39:35 AM
 #7850

for all those prefix hunters out there. Find the i and get the pie.

Public Address: 1MvdYgvasN6c9pChhUBrJxg5LCC6wvjhEL
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qddt9LsH77wYHYC11LP2
Private HEX: D5412A3C9A69FA280 (68 bit)
...


It's a good initiative on your part, but the way you search doesn't seem probabilistically effective to me, because you can find different h160 values and lose mathematical probability, since b58check is not a hash. I don't think it's a good idea to rely on the address, as it adds unnecessary layers of randomness according to my logic.

FC6542F3CE21BE377 e587101d2cd6da0f5bf08337537809a4aaa07fcd

FC3CC1A74B41681BE e58710242f4f7ab5c102eed21dc2d49f74c4899d

target                     e0b8a2baee1b77fc703455f39d51477451fc8cfc

██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██



██
██
██
██
██
██
██



██
██
██
██
██



██
██

██
██
██
██
██
██
██
██
██
██
███████▄▄███████▄▄
████▄███████████████▄█████▄▄▄
██▄███████████████████▄▄██▀████▄▄▄▄▄▄▄▄███▄██████
▄███████████████████▀▄█████▄▄███████████▄▀▀▀██▄██
▄███▐███████████████▄▄▀███▀███▄█████████████▄███████
████▐██████████████████▀██▄▀██▐██▄▄▄▄██▀███▀▀███▀▀▀
█████████████████████▌▄▄▄██▐██▐██▀▀▀▀███████████
███████▌█████████▐██████▄▀██▄▀█████████████████████▄
▀██▐███▌█████████▐███▀████████▄██████████▀███████████
▀█▐█████████████████▀▀▀███▀██▀▀▀▀▀▀▀▀▀██▀▀▀███▀▀▀▀▀
██▀███████████████████▀▄██▀
████▀███████████████▀
███████▀▀███████▀▀
██
██


██
██
██
██
██
██
██
██
██

██
██
██


██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
 
    FAST    🔒 SECURE    🛡️ NO KYC        EXCHANGE NOW      
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██

██
██
██
██
██
██


██
██
██
██
██
██
██
██
██
██

██
██
██
██
██
██
██
██
██
██
██
zahid888
Member
**
Offline Offline

Activity: 335
Merit: 24

the right steps towards the goal


View Profile
March 11, 2025, 12:40:44 AM
 #7851

for all those prefix hunters out there. Find the i and get the pie.

Your keys..



Do not use '-c: Case unsensitive search'

1BGvwggxfCaHGykKrVXX7fk8GYaLQpeixA
unclevito
Jr. Member
*
Offline Offline

Activity: 78
Merit: 4


View Profile WWW
March 11, 2025, 01:05:15 AM
 #7852

I know all about the '-c: Case unsensitive search', Just giving those who search for prefixes a little glimpse of what's there in 68
mcdouglasx
Hero Member
*****
Offline Offline

Activity: 980
Merit: 539



View Profile WWW
March 11, 2025, 01:21:52 AM
 #7853

for all those prefix hunters out there. Find the i and get the pie.
....
Public Address: 1MvdYGVaSn6w4kaaUDxBgq6hyPc4rvzmgw
Private WIF: p2pkh: KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qeY3YsPjUj6tXJMCT6sM
Private HEX: FC6542F3CE21BE377 (68 bit)



When searching, I recommend that you pay attention to uppercase and lowercase letters.

It is more convenient to use the H160, as it saves resources by not calculating the checksum-b58check, making your search faster. Then you can perform your calculations based on those matches.

██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██



██
██
██
██
██
██
██



██
██
██
██
██



██
██

██
██
██
██
██
██
██
██
██
██
███████▄▄███████▄▄
████▄███████████████▄█████▄▄▄
██▄███████████████████▄▄██▀████▄▄▄▄▄▄▄▄███▄██████
▄███████████████████▀▄█████▄▄███████████▄▀▀▀██▄██
▄███▐███████████████▄▄▀███▀███▄█████████████▄███████
████▐██████████████████▀██▄▀██▐██▄▄▄▄██▀███▀▀███▀▀▀
█████████████████████▌▄▄▄██▐██▐██▀▀▀▀███████████
███████▌█████████▐██████▄▀██▄▀█████████████████████▄
▀██▐███▌█████████▐███▀████████▄██████████▀███████████
▀█▐█████████████████▀▀▀███▀██▀▀▀▀▀▀▀▀▀██▀▀▀███▀▀▀▀▀
██▀███████████████████▀▄██▀
████▀███████████████▀
███████▀▀███████▀▀
██
██


██
██
██
██
██
██
██
██
██

██
██
██


██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
 
    FAST    🔒 SECURE    🛡️ NO KYC        EXCHANGE NOW      
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██

██
██
██
██
██
██


██
██
██
██
██
██
██
██
██
██

██
██
██
██
██
██
██
██
██
██
██
dastic
Jr. Member
*
Offline Offline

Activity: 35
Merit: 1


View Profile
March 11, 2025, 05:35:10 AM
 #7854

1MVD14nafRFEHGSYgbup1GeF8wtYcmHpvZ - DB09BA36C67BDAC17

1MVDYgVaSN6iKKEsbzRUAYFrYJadLYZvvZ - Target
kTimesG
Full Member
***
Offline Offline

Activity: 812
Merit: 248


View Profile
March 11, 2025, 07:46:34 AM
 #7855

That's why I said it can be a good improvement to find vanity addresses faster, but since there are skipped ranges, other matching prefixes might get lost, there is no violation. But this is not something that a vanity search would ever care about. Only something that should worry someone who wants to solve a puzzle in an efficient matter (e.g. an exact match).

I still dont see how skipping is more efficient than scanning everything.
A certain density of X bits prefixes (what you call being lucky) in an arbitrary range has zero impact on the probability of finding something on the next key, or on 100m keys later.
You can think of it this way : since distribution is random, any key can be replaced by any other key. As a result changing the traversal order does not improve odds of success.

Yes, you can replace any key by other key. However, let's say that we get to the density you mention BEFORE we finish scanning the arbitrary range (or set, more precisely). So let's say we reach some 90% probability we won't find another element in the current range/set.

A logical speedup is to ignore the rest of the elements in the range/set, and choose a new range/set, to maximize chances to find another new element.

But it's easier to skip a range rather than creating some weird permutation, which might work just the same. Do you not agree? This does not affect at all the laws of the uniform distribution, it's just a tradeoff between missing the key with finding smth with a certain prefix.

Fun fact: after the pubkeys of the puzzles were released in 2019, puzzle 75 took 10 days to be solved. I wonder where those mathematicians and computer experts who boast around here were back then? Why didn't they solve it earlier? Does it have something to do with the AI not being very good? Or maybe because JLP appeared in 2020? It's curious how nowadays everyone is an expert.

I first heard of this puzzle in 2024. Why didn't you buy BTC in 2011? It was, like a few cents. Maybe you didn't heard about it until it was too late to make sense?
Not everything around SW revolves around crypto, you know.

Off the grid, training pigeons to broadcast signed messages.
bibilgin
Newbie
*
Offline Offline

Activity: 280
Merit: 0


View Profile
March 11, 2025, 08:35:47 AM
 #7856

I still dont see how skipping is more efficient than scanning everything.
A certain density of X bits prefixes (what you call being lucky) in an arbitrary range has zero impact on the probability of finding something on the next key, or on 100m keys later.
You can think of it this way : since distribution is random, any key can be replaced by any other key. As a result changing the traversal order does not improve odds of success.

Everyone can say that scanning by jumping is not logical.

But I explained that it is possible with PROBABILITY calculation and some data.

Example;
You bought mixed colored candies sold in the market. You prioritize the colors or flavors you like. Then it is up to you to eat or not eat the others.

Actually, the range is within a certain area. But since your hardware power is too much, I understand that you do not want to miss it.

Edit:
I can prove it to you like this.
Send me a few wallets with the prefix 1MVDYgVaS, which are in order. I will tell you in which direction and how far away the nearest 1MVDYgVaSN prefix is ​​on AVERAGE.
frozenen
Newbie
*
Offline Offline

Activity: 46
Merit: 0


View Profile
March 11, 2025, 09:39:29 AM
 #7857

UNTESTED!! but surely we can automate Mara withdrawal:

# pip install ecdsa base58 requests selenium webdriver-manager bit
# need bitcrack.exe in same folder
import ecdsa
import hashlib
import base58
import requests
import time
import random
import subprocess
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from bit import PrivateKey

# =========================== #
#    STEP 0: GENERATE SEED & RUN BITCRACK     #
# =========================== #

def generate_random_seed():
    # Generate a truly random 10-digit number (not starting with 0)
    return random.randint(2113081981, 2113081983)   # default range (1000000000, 9999999999) test#67 (2113081981, 2113081983)

def find_private_key():
    while True:
        # Generate a new random seed for each iteration
        seed_value = generate_random_seed()
        print(f'\nUsing Seed: {seed_value}')

        # Set the random seed
        random.seed(seed_value)

        # Generate a random range for the command
        #67range a = random.randrange(2**30, 2**31) #68range a = random.randrange(2**31, 2**32)
        a = random.randrange(2**30, 2**31)
        random_start = "%00x" % a
        random_range = (random_start + "000000000:" + random_start + "fffffffff")

        # Print the generated seed and range
        print(f'Seed: {seed_value} KHex: {random_start}\n')

        # Run the BitCrack command with the generated range #67 1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9  #68 1MVDYgVaSN6iKKEsbzRUAYFrYJadLYZvvZ
        cmd_command = f'BitCrack.exe -b 128 -t 256 -p 512 -o foundkey.txt --keyspace {random_range} 1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9\n'
        subprocess.call(cmd_command, shell=True)

        # Check if 'foundkey.txt' contains any private key, and if so, exit the loop
        try:
            with open('foundkey.txt', 'r') as f:
                found_data = f.read().strip()
                if found_data:
                    print(f"Private key found: {found_data.split()[1]}")
                    private_key_hex = found_data.split()[1]  # The private key is in the second position
                    return private_key_hex  # Return the private key to proceed to Steps 1-8
        except FileNotFoundError:
            print("Found key file not yet generated.")
       
        # Optional: Add a delay before retrying
        time.sleep(2)

# =========================== #
#    STEP 1: CREATE WALLET    #
# =========================== #

# Get private key from Step 0
private_key_hex = find_private_key()

# Private key in hex format
private_key = PrivateKey.from_hex(private_key_hex)  # Use `bit` library to handle key

btc_address = private_key.address
print(f"Bitcoin Address: {btc_address}")

# =========================== #
#   STEP 2: FETCH BALANCE     #
# =========================== #

api_url = f'https://blockchain.info/rawaddr/{btc_address}'
response = requests.get(api_url)
data = response.json()

balance = data.get('final_balance', 0) / 10**8  # Convert satoshis to BTC
print(f"Balance: {balance:.8f} BTC")

if balance == 0:
    print("No funds available in the address.")

# =========================== #
#   STEP 3: LAST TXs       #
# =========================== #

if "txs" not in data or not data["txs"]:
    print("No transactions found for this address.")
else:
    print("\nLast Transactions:")
    transactions = data["txs"][:1]  # Get the last numberof transactions

    for tx in transactions:
        tx_id = tx["hash"][:10]  # Shorten transaction ID for readability
        print(f"\nTransaction ID: {tx_id}...")

        # SENT Transactions
        sent_any = False
        for output in tx["out"]:
            if output.get("addr") and output["addr"] != btc_address:
                sent_any = True
                print(f"  → Sent to: {output['addr']} | Amount: {output['value'] / 10**8:.8f} BTC")

        if not sent_any:
            print("  → No outgoing transactions in this TX.")

        # RECEIVED Transactions
        received_any = False
        for input_tx in tx["inputs"]:
            if "prev_out" in input_tx and input_tx["prev_out"].get("addr") == btc_address:
                received_any = True
                amount_received = input_tx["prev_out"]["value"] / 10**8  # Convert satoshis to BTC
                print(f"  ← Received from: {input_tx['prev_out']['addr']} | Amount: {amount_received:.8f} BTC")

        if not received_any:
            print("  ← No incoming transactions in this TX.")

# =========================== #
#   STEP 4: FETCH UTXOs       #
# =========================== #

utxos = []
for tx in data["txs"]:
    for output in tx["out"]:
        if output.get("addr") == btc_address and not output.get("spent"):
            utxos.append({"txid": tx["hash"], "vout": output["n"], "value": output["value"]})

if not utxos:
    print("No available UTXOs. Exiting...")
    exit()

# =========================== #
#   STEP 5: SET TARGET & FEES #
# =========================== #

fee_url = 'https://mempool.space/api/v1/fees/recommended'
fee_response = requests.get(fee_url)
fee_data = fee_response.json()
high_fee_rate = fee_data['fastestFee']  # sat/byte
print(f"Using a fee rate of {high_fee_rate} sat/byte")

target_address = "bc1qxfj9gsqpjduvfqyq58rkj6cgngrr672x6nm98f"

# =========================== #
#   STEP 6: CREATE TX         #
# =========================== #

# Calculate total input amount from UTXOs
total_input = sum(utxo["value"] for utxo in utxos)
estimated_size = 10 + (len(utxos) * 180) + (1 * 34) + 10  # Approximate transaction size in bytes
fee = estimated_size * high_fee_rate  # Total fee in satoshis

if total_input <= fee:
    print("Not enough funds to cover transaction fees. Exiting...")
    exit()

send_amount = total_input - fee  # Amount to send after deducting fees

print(f"Total input: {total_input / 10**8:.8f} BTC")
print(f"Transaction fee: {fee / 10**8:.8f} BTC")
print(f"Sending: {send_amount / 10**8:.8f} BTC to {target_address}")

# =========================== #
#   STEP 7: SIGN TRANSACTION  #
# =========================== #

# Create transaction using `bit` library
outputs = [(target_address, send_amount, 'btc')]
signed_tx_hex = private_key.create_transaction(outputs, fee=fee / 10**8, absolute_fee=True)

print("\nRaw Signed Transaction Hex:")
print(signed_tx_hex)

# =========================== #
#   STEP 8: SUBMIT TO SLIPSTREAM #
# =========================== #

service = Service(ChromeDriverManager().install())  # Auto-download latest ChromeDriver
driver = webdriver.Chrome(service=service)
driver.get('https://slipstream.mara.com/')
time.sleep(5)

textarea = driver.find_element("xpath", '//textarea[@placeholder="Paste your raw transaction here"]')
submit_button = driver.find_element("xpath", '//button[text()="Activate Slipstream"]')

textarea.send_keys(signed_tx_hex)
submit_button.click()

time.sleep(5)

print("Transaction submitted successfully to Mara Slipstream. It is not yet broadcasted to the network.")
driver.quit()
zahid888
Member
**
Offline Offline

Activity: 335
Merit: 24

the right steps towards the goal


View Profile
March 11, 2025, 02:43:43 PM
 #7858

UNTESTED!! but surely we can automate Mara withdrawal:

Code:
# pip install ecdsa base58 requests selenium webdriver-manager bit
# need bitcrack.exe in same folder
import ecdsa
import hashlib
import base58
import requests
import time
import random
import subprocess
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from bit import PrivateKey

# =========================== #
#    STEP 0: GENERATE SEED & RUN BITCRACK     #
# =========================== #

def generate_random_seed():
    # Generate a truly random 10-digit number (not starting with 0)
    return random.randint(2113081981, 2113081983)   # default range (1000000000, 9999999999) test#67 (2113081981, 2113081983)

def find_private_key():
    while True:
        # Generate a new random seed for each iteration
        seed_value = generate_random_seed()
        print(f'\nUsing Seed: {seed_value}')

        # Set the random seed
        random.seed(seed_value)

        # Generate a random range for the command
        #67range a = random.randrange(2**30, 2**31) #68range a = random.randrange(2**31, 2**32)
        a = random.randrange(2**30, 2**31)
        random_start = "%00x" % a
        random_range = (random_start + "000000000:" + random_start + "fffffffff")

        # Print the generated seed and range
        print(f'Seed: {seed_value} KHex: {random_start}\n')

        # Run the BitCrack command with the generated range #67 1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9  #68 1MVDYgVaSN6iKKEsbzRUAYFrYJadLYZvvZ
        cmd_command = f'BitCrack.exe -b 128 -t 256 -p 512 -o foundkey.txt --keyspace {random_range} 1BY8GQbnueYofwSuFAT3USAhGjPrkxDdW9\n'
        subprocess.call(cmd_command, shell=True)

        # Check if 'foundkey.txt' contains any private key, and if so, exit the loop
        try:
            with open('foundkey.txt', 'r') as f:
                found_data = f.read().strip()
                if found_data:
                    print(f"Private key found: {found_data.split()[1]}")
                    private_key_hex = found_data.split()[1]  # The private key is in the second position
                    return private_key_hex  # Return the private key to proceed to Steps 1-8
        except FileNotFoundError:
            print("Found key file not yet generated.")
        
        # Optional: Add a delay before retrying
        time.sleep(2)

# =========================== #
#    STEP 1: CREATE WALLET    #
# =========================== #

# Get private key from Step 0
private_key_hex = find_private_key()

# Private key in hex format
private_key = PrivateKey.from_hex(private_key_hex)  # Use `bit` library to handle key

btc_address = private_key.address
print(f"Bitcoin Address: {btc_address}")

# =========================== #
#   STEP 2: FETCH BALANCE     #
# =========================== #

api_url = f'https://blockchain.info/rawaddr/{btc_address}'
response = requests.get(api_url)
data = response.json()

balance = data.get('final_balance', 0) / 10**8  # Convert satoshis to BTC
print(f"Balance: {balance:.8f} BTC")

if balance == 0:
    print("No funds available in the address.")

# =========================== #
#   STEP 3: LAST TXs       #
# =========================== #

if "txs" not in data or not data["txs"]:
    print("No transactions found for this address.")
else:
    print("\nLast Transactions:")
    transactions = data["txs"][:1]  # Get the last numberof transactions

    for tx in transactions:
        tx_id = tx["hash"][:10]  # Shorten transaction ID for readability
        print(f"\nTransaction ID: {tx_id}...")

        # SENT Transactions
        sent_any = False
        for output in tx["out"]:
            if output.get("addr") and output["addr"] != btc_address:
                sent_any = True
                print(f"  → Sent to: {output['addr']} | Amount: {output['value'] / 10**8:.8f} BTC")

        if not sent_any:
            print("  → No outgoing transactions in this TX.")

        # RECEIVED Transactions
        received_any = False
        for input_tx in tx["inputs"]:
            if "prev_out" in input_tx and input_tx["prev_out"].get("addr") == btc_address:
                received_any = True
                amount_received = input_tx["prev_out"]["value"] / 10**8  # Convert satoshis to BTC
                print(f"  ← Received from: {input_tx['prev_out']['addr']} | Amount: {amount_received:.8f} BTC")

        if not received_any:
            print("  ← No incoming transactions in this TX.")

# =========================== #
#   STEP 4: FETCH UTXOs       #
# =========================== #

utxos = []
for tx in data["txs"]:
    for output in tx["out"]:
        if output.get("addr") == btc_address and not output.get("spent"):
            utxos.append({"txid": tx["hash"], "vout": output["n"], "value": output["value"]})

if not utxos:
    print("No available UTXOs. Exiting...")
    exit()

# =========================== #
#   STEP 5: SET TARGET & FEES #
# =========================== #

fee_url = 'https://mempool.space/api/v1/fees/recommended'
fee_response = requests.get(fee_url)
fee_data = fee_response.json()
high_fee_rate = fee_data['fastestFee']  # sat/byte
print(f"Using a fee rate of {high_fee_rate} sat/byte")

target_address = "bc1qxfj9gsqpjduvfqyq58rkj6cgngrr672x6nm98f"

# =========================== #
#   STEP 6: CREATE TX         #
# =========================== #

# Calculate total input amount from UTXOs
total_input = sum(utxo["value"] for utxo in utxos)
estimated_size = 10 + (len(utxos) * 180) + (1 * 34) + 10  # Approximate transaction size in bytes
fee = estimated_size * high_fee_rate  # Total fee in satoshis

if total_input <= fee:
    print("Not enough funds to cover transaction fees. Exiting...")
    exit()

send_amount = total_input - fee  # Amount to send after deducting fees

print(f"Total input: {total_input / 10**8:.8f} BTC")
print(f"Transaction fee: {fee / 10**8:.8f} BTC")
print(f"Sending: {send_amount / 10**8:.8f} BTC to {target_address}")

# =========================== #
#   STEP 7: SIGN TRANSACTION  #
# =========================== #

# Create transaction using `bit` library
outputs = [(target_address, send_amount, 'btc')]
signed_tx_hex = private_key.create_transaction(outputs, fee=fee / 10**8, absolute_fee=True)

print("\nRaw Signed Transaction Hex:")
print(signed_tx_hex)

# =========================== #
#   STEP 8: SUBMIT TO SLIPSTREAM #
# =========================== #

service = Service(ChromeDriverManager().install())  # Auto-download latest ChromeDriver
driver = webdriver.Chrome(service=service)
driver.get('https://slipstream.mara.com/')
time.sleep(5)

textarea = driver.find_element("xpath", '//textarea[@placeholder="Paste your raw transaction here"]')
submit_button = driver.find_element("xpath", '//button[text()="Activate Slipstream"]')

textarea.send_keys(signed_tx_hex)
submit_button.click()

time.sleep(5)

print("Transaction submitted successfully to Mara Slipstream. It is not yet broadcasted to the network.")
driver.quit()

Great job achieving full utilization of my script— You know what, while i was searching for 66, I stumbled upon a seed that turned out to be someone’s mobile number.  Cheesy Anything could be a seed, so give it your best shot! And when you finally crack it, don’t forget to mention me in your success (and send some appreciation fee too BTC  Wink). I’m not writing a tutorial here like wondering philosopher.. Lol Wink—I’m sharing ideas to help others. So, it’s only fair that those who benefit remember to give credit where it’s due!  Best of Luck!

1BGvwggxfCaHGykKrVXX7fk8GYaLQpeixA
mcdouglasx
Hero Member
*****
Offline Offline

Activity: 980
Merit: 539



View Profile WWW
March 11, 2025, 03:22:38 PM
 #7859

That's why I said it can be a good improvement to find vanity addresses faster, but since there are skipped ranges, other matching prefixes might get lost, there is no violation. But this is not something that a vanity search would ever care about. Only something that should worry someone who wants to solve a puzzle in an efficient matter (e.g. an exact match).

I still dont see how skipping is more efficient than scanning everything.
A certain density of X bits prefixes (what you call being lucky) in an arbitrary range has zero impact on the probability of finding something on the next key, or on 100m keys later.
You can think of it this way : since distribution is random, any key can be replaced by any other key. As a result changing the traversal order does not improve odds of success.

I clarify my methodology: it's not that I skip keys and guess the result. My approach only prioritizes the statistically most probable ranges but maintains the logic of scanning the entire range, like yours. This is a substantial statistical improvement. You, with your pool, also use statistics because you divide and create sub-ranges, and choose the ranges at random. I could tell you that you might end up leaving the range at the end "in the worst-case scenario" and scan 95% to find it. But although it is true that there is a probability, it is a fallacy to tell you since thanks to the birthday paradox, you would normally have to scan half or a little more. That is what some do to counteract ideas based on the logic "in the worst-case scenario".


██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██



██
██
██
██
██
██
██



██
██
██
██
██



██
██

██
██
██
██
██
██
██
██
██
██
███████▄▄███████▄▄
████▄███████████████▄█████▄▄▄
██▄███████████████████▄▄██▀████▄▄▄▄▄▄▄▄███▄██████
▄███████████████████▀▄█████▄▄███████████▄▀▀▀██▄██
▄███▐███████████████▄▄▀███▀███▄█████████████▄███████
████▐██████████████████▀██▄▀██▐██▄▄▄▄██▀███▀▀███▀▀▀
█████████████████████▌▄▄▄██▐██▐██▀▀▀▀███████████
███████▌█████████▐██████▄▀██▄▀█████████████████████▄
▀██▐███▌█████████▐███▀████████▄██████████▀███████████
▀█▐█████████████████▀▀▀███▀██▀▀▀▀▀▀▀▀▀██▀▀▀███▀▀▀▀▀
██▀███████████████████▀▄██▀
████▀███████████████▀
███████▀▀███████▀▀
██
██


██
██
██
██
██
██
██
██
██

██
██
██


██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
 
    FAST    🔒 SECURE    🛡️ NO KYC        EXCHANGE NOW      
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██

██
██
██
██
██
██


██
██
██
██
██
██
██
██
██
██

██
██
██
██
██
██
██
██
██
██
██
WanderingPhilospher
Sr. Member
****
Offline Offline

Activity: 1498
Merit: 286

Shooters Shoot...


View Profile
March 11, 2025, 03:35:16 PM
 #7860

1MVDYgVaSN6Qy3d7W5nqGAUziqwJpKyhGu

e2bff95aa8cdb927745977699198ec9bacad30c79f69cff90bca05aaccfd3f91

I did some mods and let it run for about 8 hours. (3 x 4060Ti & 3 x 3060Ti)

Code:
1MVDYgVaSN1JTo9pwJJKiNHAca2kNjHbDP
1MVDYgVaSN1sZBZSCk38D7ohCYj43SHcyt
1MVDYgVaSN1xeojrxfnFW3E3heMELmvnM2
1MVDYgVaSN3EohGpJ9Li6WjLYrLtQ3Wkzr
1MVDYgVaSN3jgetxwjmj8ArWtWYdpVsj4E
1MVDYgVaSN3zgpX52Nmitgoig5hcRSafKm
1MVDYgVaSN472hPnitkjZUNrC8XJJGdzHw
1MVDYgVaSNDLJJ4yp8UKD5YbSGt1ZAujmp
1MVDYgVaSNDYSeJgEgP8aPCQKAjd9Stzfp
1MVDYgVaSNEsfcKsYFw7RAedk62s9Nd1JL
1MVDYgVaSNF38wgY1xRa4somkUeqRB5inu
1MVDYgVaSNGX3x4AVSzhqLtd3PMjArLBXJ
1MVDYgVaSNLnTA6qyw3uEscRqcL8JmdugH
1MVDYgVaSNMweHV1KQUDmHnXALcD7XqmRb
1MVDYgVaSNQUNbobPgeig3xo2rH3LtCkKp
1MVDYgVaSNS4x5BzFWnjwH5tSo5qsk43Hs
1MVDYgVaSNW3UPZhv9nDAqGfwU1ex1mdBm
1MVDYgVaSNXWfpVEsRwb4UBkBWaxBoVnkp
1MVDYgVaSNY4H8sJJxfAZMCKGwfzDbj8fr
1MVDYgVaSNZx7E7MFpYnoSMDqwFvvxh3zj
1MVDYgVaSNcEiELEZme1WxWWF861Px5kGJ
1MVDYgVaSNdz1yW72SEayYWecydRevY2Fe
1MVDYgVaSNeeWafDg426zSCoeFLHoSpVGB
1MVDYgVaSNg5gUysSqfcNbkxNg3D73vCL1
1MVDYgVaSNgUczGrsZ157sUqYyHFT16b8Y
1MVDYgVaSNjWkWqoMnT7rvevq6Vt5SN1Ym
1MVDYgVaSNn1FafqWqz5Ygij4tZyhTgkyt
1MVDYgVaSNodV2dkMm5CCXwDPUFYHqVXsH
1MVDYgVaSNoiUfFhwXU5HmNX5hD4oCo2Rc
1MVDYgVaSNpR3YYyWkoeMVkjeQoC13R9jt
1MVDYgVaSNvjoWr1t84E8JMQ6rcvs1vokb
1MVDYgVaSNwLxrobWt44mwfKMKQMEsDjkR
1MVDYgVaSNyZQaKvyZdxqZCPtsaBDf4i5V

Pages: « 1 ... 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 [393] 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 ... 653 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!