{"id":49824892,"url":"https://github.com/rossbates/rummage","last_synced_at":"2026-05-13T15:32:08.982Z","repository":{"id":324430735,"uuid":"1097190802","full_name":"rossbates/rummage","owner":"rossbates","description":"Rummage is a GPU accelerated npub miner for Nostr","archived":false,"fork":false,"pushed_at":"2025-11-15T20:34:02.000Z","size":115,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-15T20:34:50.402Z","etag":null,"topics":["cuda","identity","mining","nostr"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rossbates.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-15T17:47:49.000Z","updated_at":"2025-11-15T20:34:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rossbates/rummage","commit_stats":null,"previous_names":["rossbates/rummage"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/rossbates/rummage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossbates%2Frummage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossbates%2Frummage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossbates%2Frummage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossbates%2Frummage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rossbates","download_url":"https://codeload.github.com/rossbates/rummage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rossbates%2Frummage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32988715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"ssl_error","status_checked_at":"2026-05-13T13:14:51.610Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cuda","identity","mining","nostr"],"created_at":"2026-05-13T15:32:08.056Z","updated_at":"2026-05-13T15:32:08.977Z","avatar_url":"https://github.com/rossbates.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"/assets/iconx128.png\" alt=\"Rummage Logo\" title=\"Rummage logo\" width=\"64\"/\u003e\n  \n# Rummage\n\u003c/div\u003e\n\nRummage is a high-performance Nostr vanity address miner that searches the secp256k1 keyspace to generate custom prefixes or suffixes in either Bech32 npub format or raw hex. It supports both random sampling and exhaustive sequential search modes.\n\nIt's built for NVIDIA GPUs using CUDA and can sustain 42M+ keys/second on a consumer card (RTX 3070, Ampere architecture) and 170M+ keys/second on a datacenter card (H200, Hopper architecture).\n\nThere is also an experimental build for Apple Silicon in the Metal branch. This is a ground-up implementation in Metal Shading Language, as no existing secp256k1 libraries are available for Metal. Currently it can do about 9M+ keys/second on a 2021 M1.\n\n\n## Requirements\n\n- NVIDIA GPU with CUDA support\n- CUDA Toolkit 11.8+\n- GMP library\n- g++ compiler\n\n## Installation\n\n```bash\nmake\n```\n\nIf you need to configure for a different GPU or CUDA version, see [docs/BUILD.md](docs/BUILD.md).\n\n## Usage\n\nSearch for npub prefix:\n```bash\n./rummage --npub-prefix alice\n```\n\nSearch for hex prefix:\n```bash\n./rummage --prefix cafe\n```\n\nSequential exhaustive search (resumable):\n```bash\n./rummage --npub-prefix satoshi --sequential\n```\n\nTo learn more about how search modes work in Rummage, see [docs/SEARCH.md](docs/SEARCH.md).\n\n## Options\n\n**Bech32 Mode** (searches npub address):\n- `--npub-prefix \u003cstr\u003e` - Search for prefix in npub\n- `--npub-suffix \u003cstr\u003e` - Search for suffix in npub\n- `--npub-both \u003cstr\u003e` - Search for both prefix and suffix\n\n**Hex Mode** (searches raw public key):\n- `--prefix \u003chex\u003e` - Search for hex prefix\n- `--suffix \u003chex\u003e` - Search for hex suffix\n- `--both \u003chex\u003e` - Search for both prefix and suffix\n\n**Search Modes**:\n- `--sequential` - Exhaustive search (resumable, guarantees completion)\n- `--checkpoint \u003cfile\u003e` - Checkpoint file path (default: checkpoint.txt)\n\nBy default, random search mode is used (faster for short patterns).\n\n\n## Output\n\nFound keys are saved to `keys.txt` with private key, public key, and npub address.\n\n## What is Nostr?\nPerhaps you stumbled upon this project and have no idea what on earth is going on here. \n\nQuick explanation: Nostr is a decentralized protocol where your identity is a cryptographic key pair, not an account on someone else's server. Your npub (public key) is your permanent identifier across the network. Think of it like a username that no company can take away, suspend, or ban.\n\nUnlike traditional platforms where @yourname can disappear if the service shuts down or decides they don't like you, your Nostr identity is yours forever. A vanity npub is not necessary, but it lets you claim something readable and memorable (like npub1alice...) instead of a random string. It's a little nerdy, but suitable for those who perk up when they hear terms like sovereign identity.\n\nAn npub is not just an identifier, it's how you log in to a growing number of apps in the Nostr ecosystem. Think \"Sign in with Google,\" except there is no Google. Just you and the math.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frossbates%2Frummage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frossbates%2Frummage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frossbates%2Frummage/lists"}