A couple of weeks ago I came across a few TikTok videos talking about following a large BTC wallet to find out when it’s about to make a large move. If you want to trade based on these moves, you need to know immediately when it happens. This script will tell you when!
As it turns out, this particular wallet is currently the 3rd largest in the world, currently with over 126,000 BTC, and is fairly active. It’s also not an exchange wallet either and looks like it’s an individual. Here’s a link to the wallet and its activity.
This particular wallet has shown some nice moves in the past that clearly indicate when we should be selling, and when we would want to consider accumulating. Now keep in mind this is not an exchange wallet, so transactions in and out don’t necessarily mean they are buying or selling. However, this wallet, who I’ll continue to refer to as #3, is regularly sending and receiving from a Coinbase wallet. Think about it, why else would you send 1,500 BTC to an exchange? Here are some examples of big moves.
In the list at the link above you can see a large outgoing transaction of 1,500 BTC (that’s $65+ million US dollars folks!!) on March 1st, 2022:

If you click on the block for that transaction:

…the 1,500 BTC is sent to Coinbase. Looks like they may be getting ready to sell. Let’s take a look at TradingView for BTC-USD on Coinbase for March 1st, 2020:

Yep, that’s a local top followed by a 15% selloff. After that, the wallet starts accumulating again. Let’s have a look at another. November 8th, 2021. Another 1,500 BTC moves to Coinbase.

Again, the TradingView chart:

Perfect timing again! Of course, there’s a clear bearish divergence showing on RSI, but this move was already made before the close. Now, I’m not saying these moves caused the market to move, in fact, some of the September/October 2021 moves weren’t well-timed, but going back to early May and mid-April 2021 were almost spot on again. The point is, watching what this wallet does could give you some indication of the next macro move for Bitcoin.
Of course, I don’t have time to refresh that page all day to find out when the next move is about to happen, so decided to create a python script to notify me when it happens instead.
Python Script to Track BTC Wallets
This is a relatively simple script to setup and use and I’ll walk you through all the steps to do so. We’ll also be using Telegram to get the notifications. Let’s get to it!
Install the Python Script
It’s best to install this on a virtual server so it can run continuously. You can set it up wherever you want, but if you’re unsure of how to setup a server, you can use the instructions here which show how to set one up with Google. For now, you only need to follow the steps in the section titled Setup a New VM Instance on Google Cloud. After you’ve got that all setup, we can continue below.
In the shell window run the following commands:
sudo apt install git
git clone https://github.com/nickpagz/btc-whale-tracker.git
cd btc-whale-tracker
sudo apt-get install python3-pip
pip3 install -r requirements.txt
export PATH="$HOME/.local/bin:$PATH"
Setup Your Telegram Bot
Note: If you don’t have a Telegram account, you’ll be prompted to create one when you click on the next link. For the purposes of this post, I’m assuming you already have a Telegram account.
Use the following link to have a chat with the BotFather:
In the Telegram chat, send the message /newbot
.
You’ll be prompted to choose a new name for your bot. It can be whatever you want. For mine I’ve chosen btcwhalebot
. You’ll then be asked for a username, and this must end in bot
. I’ve chosen NicksWhaleBot
. You’ll then be given an access token for the API. Copy this token to the clipboard and head back to your server shell window and run:
telegram-send --configure
Now paste the token and hit enter. The program will respond and ask you to add your user to Telegram (link is provided in the response), and send the password provided.

You’ll then be prompted in the shell window with a Congratulations! telegram-send is now ready for use!
And in Telegram…

Setup And Run The BTC Whale Tracker Script
Before we run the script there’s a few things to mention.
- First, the service poviding the transaction details have a request limit of one every 10 seconds, so I would recommend not reducing times on any of the delays in the code. I learned the hard way, through testing, they will ban your IP for some time. I think 48 hours.
- The script currently checks for new transactions every hour, on the hour. You can change that on line 52 by changing the
60
, as in minutes, to another value if you want. - The script sends a message every hour (if you keep the default
60
minutes from the point above) to Telegram, as a way of “checking in” so you know the script is still running. If that’s annoying, delete line 53 in the code. - Lastly, the messages indicate the wallet is “accumulating” or “dumping”, though this may not actually be the case. It only indicates Bitcoin going in or out of the wallet. This could be to another wallet, payment for something, or to an exchange. As an example, #3’s transactions are typically to and from Coinbase. In most cases, if #3 sends a large amount to Coinbase, it’s likely they’re about to sell, indicating a price drop may be imminent. All I’m saying is, use the messages with caution.
Adding or Removing Wallets to Track
To modify the BTC wallets you want to follow, you’ll modify the dictionary btc_addresses
near the top code. Follow the same format as shown. The key (first value on each line) can be anything you want, preferably a reference to the wallet that makes it easy to remember what it is, and then add the wallet address as the value.
In the sample code I’m following #3
, so referenced as it’s currently the 3rd largest BTC wallet that’s not an exchange or fund. The second one is called Random
as it’s a random large wallet I added to show the structure. I’ll don’t run the script with Random
, so feel free to remove it as well, or add your own.
Examples:
If you want to only follow #3, your dictionary will look like this:
btc_addresses = {
'#3': '1P5ZEDWTKTFGxQjZphgWPQUpe554WKDfHQ',
}
If you want to add more…
btc_addresses = {
'#3': '1P5ZEDWTKTFGxQjZphgWPQUpe554WKDfHQ',
'Random': '14m3sd9HCCFJW4LymahJCKMabAxTK4DAqW',
'Mr. C': 'soMeaDDressFormrCwhatEverThatMaybE',
}
If you do follow some other whale wallets, please share in the comments.
Starting the Whale Tracking Script
We’re going to run the script in a Tmux session so it continues to run even if you close the shell window. There’s more details on using Tmux in this post, in the section titled Using Tmux to Run Our Scripts, but I’ll cover the basic steps here. First install Tmux using:
sudo apt-get install tmux
Then start a new session:
tmux new -s btctracker
If you’re not already in the btc-whale-tracker
directory, then enter:
cd btc-whale-tracker
Now start the script:
python3 btctracker.py
When the script starts you’ll get a notification of the last transaction for each wallet to your new Telegram channel. This is because the script doesn’t have any history, so it assumes the last transaction is the latest. It also helps to confirm your Telegram bot is working.
That should be all there is to it. You can close the shell window, and wait for the notifications to come in. Be aware though, it wouldn’t be unusual for the service/site providing the transactions to go offline from time to time which would cause the script to stop. In these cases, you’ll need to restart the script.
That’s it! If you have any questions or suggestions, or know of any good whale wallets we should be tracking, make sure to drop those in the comments. Looking forward to hearing from you!
Stay up to date on all the posts and how-to’s, Subscribe!
Nick
Nicely done! Will have to do some analysis to see correlation between this wallet and BTC movement for out movements > 1000 BTC.
Have you figure out any method to send a signal to TV to graph the in vs out movement against BTCUSD price on coinbase?
LikeLike
Yeah, the last signal didn’t play out as expected, which was unusual for this particular wallet.
I didn’t even think about that, to be honest. Worth a look for sure though.
LikeLike
This is really nice, thank you. Have you thought of deploying it to Raleway? It is a Heroku alternative and offers Telegram and Discord Starter Bots. I’m not a Python coder so couldn’t convert your script to their starter but you can spin up an app within minutes and have a nice interface + the ability to work with VS code as an IDE rather than nano in the terminal 🙂 Thanks for your amazing work
https://railway.app/starters?search=discord&language=python
LikeLike
Thanks for the link, Chris! The thought had definitely crossed my mind, and I was looking into making this a telegram bot. I’ll definitely have a look at this. Cheers!
LikeLike
But could we make a conections to our 3commas bots to shut down the long bots?
LikeLike
It’s possible. One option would be to add a script like this into the script controlling your long bots. If you’re not using a script to control your bots, ie just have a bunch of long bots in 3Commas, then you can use a webhook within the script to close your bots. There’s a webhook in 3Commas called “Message to stop all long bots on account”. So it’s very possible, yes.
Having said that, I’ve noticed with this particular whale (#3), the market generally moves lower starting the day after his BTC is transferred to Coinbase – so he doesn’t dump right away – at least not so far anyways, giving you some time to watch and evaluate, and close those manually if you want.
LikeLike
MicroStrategy
Bitcoin Address 1P5ZEDWTKTFGxQjZphgWPQUpe554WKDfHQ
https://monitor.breadcrumbs.app/dashboard/46/transactions
LikeLike
I don’t believe this is MicroStrategy’s wallet. Back in April I saw that tweet as well, but the claim that it was MicroStrategy’s was unfounded, and some of the reported amounts MS says they hold/held on certain dates don’t align with the amounts showing for #3 whale.
https://bitinfocharts.com/bitcoin/address/1P5ZEDWTKTFGxQjZphgWPQUpe554WKDfHQ
This article claims the same, and even suggests who it may be associated with:
https://news.bitcoin.com/rumors-claim-large-bitcoin-wallet-is-a-whales-stash-or-microstrategys-wallet-despite-conflicting-data/
It looks like breadcrumbs may be wrong here, but then again who knows for sure!
LikeLike
Hi, such a nice read, I been approached while ago regards creating pine script for copying this wallet, but love to hear if u created discord group or telegram group for public to join and receive signals, rather then each of us creating new one. Love to hear from you an update. mad Love
LikeLike
This is something I was planning on doing in the near future, hopefully soon!
LikeLike