Skip to content
Back to skills

Repo Integrations

ASecurity

**Branch:** `feat/vanity-mint-keygen` **Source repo:** https://github.com/nirholas/solana-wallet-toolkit **One PR. Standalone. No other prompt is required to be shipped first.**

  • 7 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 6, 2026
testingrustnodegitapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add nirholas/three-ui --skill repo-integrations --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Repo Integrations?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Repo Integrations
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nirholas-repo-integrations-528ba45b/badge)](https://www.skillsdirectory.com/skills/nirholas-repo-integrations-528ba45b)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# 22 — Vanity mint keygen skill

**Branch:** `feat/vanity-mint-keygen`
**Source repo:** https://github.com/nirholas/solana-wallet-toolkit
**One PR. Standalone. No other prompt is required to be shipped first.**

## Why it matters

Pump.fun token creators often want vanity mint addresses (e.g. ending in `pump`). solana-wallet-toolkit ships a multi-threaded vanity keygen. Wrapping it as a server-side skill + endpoint lets the studio's launch flow offer "make my mint end in X" without users running a CLI.

## Read these first

| File | Why |
| :--- | :--- |
| [api/](../../api/) | API conventions. |
| [src/agent-skills-pumpfun.js](../../src/agent-skills-pumpfun.js) | Skill registration. |
| [api/pump-fun-mcp.js](../../api/pump-fun-mcp.js) | MCP tool registration. |
| https://github.com/nirholas/solana-wallet-toolkit | Reference for the keygen logic (Rust + TS). |

## Build this

1. Add `src/pump/vanity-keygen.js` exporting:
    ```js
    export async function generateVanityKey({ suffix, prefix, caseSensitive = false, maxAttempts = 5_000_000, signal })
    // Generates Solana keypairs until one matches both prefix and suffix.
    // Returns { publicKey, secretKey: Uint8Array, attempts, ms } | null if maxAttempts hit.
    // Implementation: pure JS using @solana/web3.js (already a transitive dep). Single-threaded is fine for v1.
    ```
2. Add `api/pump/vanity-keygen.js`:
    ```js
    // POST /api/pump/vanity-keygen
    // body: { suffix?, prefix?, caseSensitive?, maxAttempts? }
    // Streams progress via Server-Sent Events; final event delivers { publicKey, secretKey: base58, attempts, ms }.
    // Reject if both prefix and suffix are empty.
    ```
3. Register skill `pumpfun.vanityMint` and MCP tool `pumpfun_vanity_mint`. The non-streaming version (one batch result) is fine for the skill / MCP path.
4. Hard cap: 60 seconds wallclock per request server-side; abort and 408 if exceeded.
5. Add `tests/vanity-keygen.test.js` asserting the function returns a key whose base58 ends with the requested suffix.

## Out of scope

- Multi-threaded / WebWorker parallelism (later).
- Persisting generated keys (caller must save them).
- GPU keygen.

## Acceptance

- [ ] `node --check` passes for new files.
- [ ] `npx vitest run tests/vanity-keygen.test.js` passes.
- [ ] Endpoint accepts a request with `suffix: "ab"` and returns a matching key in under 60s.
- [ ] Endpoint rejects empty inputs and aborts long-running requests.
- [ ] `npx vite build` passes.

## Test plan

1. `curl -X POST -d '{"suffix":"a"}' http://localhost:3000/api/pump/vanity-keygen` — expect a result quickly.
2. With `suffix:"abcdef"` — expect a 408 (timeout) or success after a long search.
3. Confirm secret keys are returned base58-encoded and never logged.

## Reporting

- Shipped: …
- Skipped: …
- Broke / regressions: …
- Unrelated bugs noticed: …

Files in this skill

  • 01-pumpkit-whale-alerts.md3.5 KB
  • 02-pumpkit-claim-monitor.md3.1 KB
  • 03-pumpkit-channel-feed.md2.7 KB
  • 04-pumpkit-telegram-delivery.md2.7 KB
  • 05-pumpfun-claims-bot-feed.md2.6 KB
  • 06-claim-alerts-agent-home.md2.7 KB
  • 07-cf-workers-mcp-mirror.md3 KB
  • 08-pump-fun-skills-port.md2.9 KB
  • 09-skill-manifest-export.md2.6 KB
  • 10-pump-swap-quote-skill.md2.5 KB
  • 11-kol-quest-smart-money-widget.md2.8 KB
  • 12-kol-leaderboard-skill.md2.2 KB
  • 13-wallet-pnl-skill.md2 KB
  • 14-gmgn-smart-wallets-ingest.md2.4 KB
  • 15-radar-signals-skill.md2.2 KB
  • 16-x-post-price-impact-skill.md2.3 KB
  • 17-cashtag-sentiment-skill.md2.4 KB
  • 18-realtime-trade-visualizer-widget.md2.5 KB
  • 19-trades-into-3d-scene.md2.8 KB
  • 20-launchpad-ui-port-studio.md2.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.