Skip to main content

xmr-haystack

Description

This program takes a Monero wallet file, scans the blockchain, and outputs transactions in which your one-time public outputs (stealth addresses) were used as decoys.

Installation

A Python 3 environment is required to run this application. Given that you have a working Python 3 environment, all you need to do to install this application is run the following command:

$ pip3 install xmr-haystack

If you are on Linux or MacOS and you would prefer to build from the source code, then the following commands will allow you to do so:

$ git clone https://github.com/jeffro256/xmr-haystack.git
$ cd xmr-haystack
$ pip3 install .

If you are Windows and would prefer to build from the source code, then follow these steps:

  1. Download the unzip source code from Github.
  2. Open 'cmd' from the Start Menu
  3. Naviagte to newly unzipped directory in cmd
  4. Type $ pip3 install .

Usage

python3 -m xmr-haystack [-h] [-a ADDR] [-p PORT] [-l LOGIN] [-s HEIGHT] [-q | -Q] [-i CACHE_IN] [-o CACHE_OUT] [-n] 
                        [-c CLI_EXE_FILE] wallet file

America's favorite stealth address scanner™

positional arguments:
  wallet file           path to wallet file

optional arguments:
  -h, --help            show this help message and exit
  -a ADDR, --daemon-addr ADDR
                        daemon address (e.g. node.xmr.to)
  -p PORT, --daemon-port PORT
                        daemon port (e.g. 18081)
  -l LOGIN, --daemon-login LOGIN
                        monerod RPC login in the form of [username]:[password]
  -s HEIGHT, --scan-height HEIGHT
                        rescan blockchain from specified height. defaults to wallet restore height
  -q, --quiet           use this flag if you would like a simpler output
  -Q, --extra-quiet     use this flag if you would like a BARE BONES output
  -i CACHE_IN, --cache-input CACHE_IN
                        path to input cache file
  -o CACHE_OUT, --cache-output CACHE_OUT
                        path to output cache file
  -n, --no-cache        do not read from cache file and do not save to cache file
  -c CLI_EXE_FILE, --wallet-cli-path CLI_EXE_FILE
                        path to monero-wallet-cli executable. Helpful if executable is not in PATH

Example

$ python -m xmr-haystack Documents/mywallet/mywallet

...
Your stealth address: 58ddd530a2148ca67f914823bab3e5b30f10be16b5a17ca194a022e279fb9258
    [2019-10-28 14:49:50]: Pubkey was created. Transaction(hash=f889ab737e12a88f249762e15fdcf2e0fa5a3f2d124d63860c029e57a61d33b6, height=1954776, ins=22, outs=2)
    [2019-10-28 17:20:56]: Used as a decoy. Transaction(hash=41662618c3fe6556a1b69128be7ff731565fb5d3003d03296587bc3d9985e01b, height=1954856, ins=11, outs=2)
    [2019-10-28 20:46:02]: Used as a decoy. Transaction(hash=ce3d73fd5f47ed3205d5f4d3a5246a7d3adf09ab6fb9238ac8f5d0c3976874d3, height=1954958, ins=11, outs=2)
    [2019-10-29 01:06:24]: Used as a decoy. Transaction(hash=76be4fa1b0089e2dec7332adf0230294e9c94ec4e32be44d65830ba2f0ecb1c3, height=1955092, ins=814, outs=2)
    [2019-10-29 07:03:25]: Used as a decoy. Transaction(hash=28277d27a738543257414e3f5f4b71eed5d3551fa815c22a66c7183cf38ebcd1, height=1955280, ins=22, outs=2)
    [2019-10-29 12:39:36]: Used as a decoy. Transaction(hash=1e3e89a8be3af614ce06324d1c61c16ed4cf84fcbf39095be84cbe3875fd0644, height=1955443, ins=11, outs=2)
    [2019-10-29 16:27:17]: Used as a decoy. Transaction(hash=1e2e63f61222809178476a7dcb7b2b5aaba060b23cfc95c9c797bfb3d233b92f, height=1955566, ins=187, outs=2)
    [2020-07-15 00:26:23]: Pubkey was spent. Transaction(hash=a6cbb9f76f9b37247c9f3fb160dccdf5d627b92702a09c488815cf8bcd9baf70, height=2142546, ins=11, outs=2)
...

Disclaimer

While this program works, it is still in very early dev stages. Use this program at your own risk; I take no responsibility for any lost funds or privacy, etc, etc. That said, I really hope you find this code useful and I would really appreciate any feedback. :)

Release files for xmr-haystack 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xmr-haystack 0.0.6
File Size Uploaded
xmr-haystack-0.0.6.tar.gz 16.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xmr-haystack 0.0.6
File Interpreter ABI Platform
xmr_haystack-0.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 31.4 kB

Release files / xmr-haystack-0.0.6.tar.gz

Download URL xmr-haystack-0.0.6.tar.gz
Size 16.0 kB
Tags Source
SHA-256 checksum
How to use checksums
aa652300b8aed45a4958377f76d361fc89fac55338b5b7388eb422c955847204
BLAKE2b-256 checksum
How to use checksums
95614fb6da4a57e8afc900f478fe3340e3ce4d922dd93ad500d044da86b04708
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Release files / xmr_haystack-0.0.6-py3-none-any.whl

Download URL xmr_haystack-0.0.6-py3-none-any.whl
Size 15.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3b97431c7d3ae2623194eceffb5588fda601b3d7956eb1a6dd0ef36c521df10
BLAKE2b-256 checksum
How to use checksums
3907dd11a5e48f7bb03e6156320b399670d0d586fe9a1d2eed3bafd218138946
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page