YAM is a free, open-source command-line tool for developers who want to look at the Bitcoin peer-to-peer network directly. It connects to Bitcoin nodes, helps you observe how transactions and mempool data spread across peers, lets you export what it sees, and offers an experimental way to broadcast transactions. It is aimed at developers, researchers and node operators who prefer a small, scriptable utility over a full graphical application.
Because it is a lightweight CLI with no external dependencies, YAM is easy to run in a terminal session, a test environment or a script. Its scope is narrow on purpose: it focuses on the networking layer of Bitcoin rather than wallets or trading, which makes it a useful companion to a node or a development setup.
What Is YAM and Why Developers Use It
YAM sits at the networking layer of Bitcoin. Instead of talking to a wallet or a block explorer, it speaks the same peer-to-peer protocol that full nodes use to share blocks and transactions with each other.
This makes it useful for questions that are hard to answer from a high-level API. How long does a transaction take to appear on several peers? Do different peers relay messages in a different order? A small tool that connects directly and reports what it sees can help answer these questions.
Who Should Consider a Bitcoin P2P CLI Tool
YAM is best suited to people who already know what a Bitcoin node is and are comfortable in a terminal. Typical users include:
- Developers building or testing software that depends on Bitcoin's relay behavior.
- Researchers studying propagation, peer behavior or network topology.
- Node operators who want to check how their node connects to others.
If you are looking for a graphical wallet or a way to manage funds, YAM is not the right category of tool.
How Mempool Propagation Observation Works
The mempool is the pool of unconfirmed transactions a node holds before they are mined into a block. When a transaction is broadcast, it reaches different peers at slightly different times.
By connecting to several peers and watching when a transaction or message arrives, you can build a rough timeline of propagation. YAM's ability to export data is useful here, because raw observations are easier to analyze in a spreadsheet or script once they are saved.
Understanding Peer Discovery in the Bitcoin Network
Bitcoin nodes do not have a central directory. They learn about each other by exchanging address information, and the getaddr message is one way to ask a peer for addresses it knows about.
Expanding your peer list this way gives you a more varied view of the network. A wider set of peers can reveal differences in relay behavior that a small, fixed list might hide.
Key features
Configurable peer count
Simultaneous or staggered sending
Peer discovery via getaddr
Supported coins
YAM's documentation mentions Bitcoin (BTC) as the network it works with. It is a Bitcoin-focused tool rather than a multi-chain one.
How to install YAM on Windows
- 1
Get the source code
YAM is distributed through its GitHub repository at https://github.com/leishman/yam. Open the repository in your browser and check the latest release or the README for the current build instructions. Download only from the official repository.
- 2
Install the build dependency
The project requires Zig version 0.15.2 or newer. Install Zig from its official website and confirm the version by running the zig version command in a terminal before continuing.
- 3
Build the program
Follow the build instructions in the repository. The build produces a command-line executable that you can run from a terminal. Check the repository for any Windows-specific notes, since build support can change between versions.
-
Run and verify
Open a terminal in the folder containing the executable and run it with the --help option or the usage shown in the README to confirm it starts correctly. Then try a short session with a small peer count to see the output format.
System requirements
- Zig 0.15.2 or newer is required to build YAM from source
- A terminal (Command Prompt, PowerShell or Windows Terminal)
- Network access to reach Bitcoin peers
How to use YAM
YAM is run from the command line, so the workflow is a sequence of commands rather than menus. The sample flags below come from the program's documented options. Check the repository for the exact syntax of the version you build.
A typical first session looks like this:
- Open a terminal in the folder where YAM is built.
- Run a basic connection with a small peer count, for example with the -p flag set to a low number, to confirm you can reach peers.
- Add the -d flag to expand your peer list through getaddr and see how many more nodes you discover.
- Try the -s flag to send to all peers at once, then compare the results with the default staggered mode.
- Export the observations you collected so you can analyze them outside the terminal.
- Repeat the same test at different times to see whether propagation patterns change.
Keep your first sessions short. Small, repeatable tests are easier to interpret than long runs with many variables changed at once.
Pros & cons
- Free and open source, with the source code publicly available
- Lightweight and dependency-free, which keeps it small and easy to audit
- Useful for observing Bitcoin P2P propagation directly
- Flags for peer count, simultaneous sending and peer discovery give useful control
- Exports data for further analysis
- Command-line only, with no graphical interface
- Requires familiarity with Bitcoin networking and a terminal
- Documented as Bitcoin-only
- Broadcasting transactions is experimental
- Windows support requires building from source with Zig
Is YAM safe?
YAM is a network observation tool, not a wallet, so it does not ask for a seed phrase and should never need one. Still, treat any program that talks to the Bitcoin network with care. Download only from the official GitHub repository, and check the release notes before building. If the project publishes checksums or signatures, verify them against the file you downloaded.
Be cautious with the experimental transaction broadcast feature. Test on a testnet or with transactions you understand before sending anything that touches real funds. The project's last code update was recorded in January 2026, so check the repository for recent activity and open issues before relying on it for important work.
- Official source only. Download from github.com/leishman/yam. Ignore ads and lookalike domains.
- Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
- Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
Alternatives
YAM is a narrow tool. Where some similar programs in our catalog focus on running a full local environment, such as Nigiri for Bitcoin and Liquid development, YAM concentrates on the peer-to-peer layer and on observing how messages propagate. It does not try to be a full node or a development stack.
Compared with broader analysis or infrastructure tools, YAM is lighter and more focused. If you need a full local Bitcoin setup to test applications, a development environment like Nigiri may suit you better. If you want to watch relay behavior from a terminal, YAM is the more direct choice.
Specifications
- Price
- Free
- Type
- Open source
- License
- —
- Latest version
- —
- Last update
- 12 Jan 2026
- Windows support
- Likely (builds for Windows; check releases)
- Source code
- github.com/leishman/yam
Frequently asked questions
Yes. YAM is free and open source, and its source code is available on GitHub. There is no price to pay for the program itself. Check the repository for the licensing terms that apply to the version you use.
YAM's documentation indicates it builds for Windows, but Windows support is best confirmed in the repository's current release notes. You will likely need to build it from source using Zig 0.15.2 or newer.
YAM is designed for the Bitcoin network, and its documentation mentions Bitcoin (BTC) as the network it works with. It is not built for other blockchains.
The -d flag expands your peer list by using Bitcoin's getaddr message to request addresses from connected peers. This helps you find more nodes than the ones you started with, giving a broader view of the network.
No. The broadcast feature is described as experimental. Test it on a testnet or with non-critical transactions before relying on it, and read the current project notes first.
YAM connects to Bitcoin peers directly over the network, so it does not require you to run your own full node. Understanding how nodes work will still help you interpret the output.
It is a network observation tool that does not handle wallets or seed phrases. Download only from the official GitHub repository and verify any published checksums before running it.
Verdict
YAM suits developers, researchers and node operators who want a small, scriptable way to observe Bitcoin peer-to-peer propagation from the command line. It is not a wallet or a trading tool, and it asks for patience with building from source on Windows. If that fits your work, it is a focused and free option worth testing in a non-critical environment.