nft-public-mint README

The project's README from github.com/morsyxbt/nft-public-mint. As one markdown file: README.md.

NFT Public Mint Sniper

A command-line tool for sniping public NFT mints on OpenSea's SeaDrop, across Ethereum, Base and Robinhood Chain.

It builds the mint transaction from on-chain data only - price, fee recipient and per-wallet limit all come straight from the SeaDrop contract. That means:

Multi-wallet: paste as many keys as you like and they all fire in parallel.


Requirements


Step 1 — Install

Run these one line at a time, pressing Enter after each:

git clone https://github.com/morsyxbt/nft-public-mint.git
cd nft-public-mint
npm install
npm run build

Before running npm install, check your prompt ends in nft-public-mint — if the cd didn't take, everything after it fails.

Then confirm the build worked:

npm start -- --help
Install errors

Set-Location : A positional parameter cannot be found (Windows PowerShell) Two commands got pasted onto one line — you'll see something like cd nft-public-mintnpm install. Run each line separately.

Could not read package.json / Missing script: build You're in the wrong folder. Run cd nft-public-mint first.

npm or git is not recognised Install Node.js 18+ and Git, then reopen your terminal.

cp .env.example .env

Open .env and add a private RPC URL for the chain you'll mint on, e.g.:

RPC_URL_BASE=https://base-mainnet.g.alchemy.com/v2/YOUR_KEY

A free Alchemy key takes two minutes and is the single biggest factor in whether you win a contested mint. You can also paste it at the prompt instead — the tool works without any .env at all, falling back to public nodes.

Never put private keys in .env. You paste them into the CLI at run time. They're held in memory for that run only and never written to disk.

Step 3 — Run it

npm start

The wizard asks you seven things:

Step What it wants
1. Private keys Paste one per line, hidden as you type. Blank line to finish. Each key is confirmed back to you by its wallet address, so you can check you pasted the right one.
2. Chain Ethereum, Base, or Robinhood.
3. Quantity How many NFTs per wallet.
4. NFT link An OpenSea collection link, an item link, a slug, or the raw 0x contract address. A contract address or item link always works with no API key; a collection slug needs a lookup that usually works unauthenticated.
5. RPC Paste a full URL, or just your Alchemy key and it expands automatically. Blank uses .env, or public nodes.
6. Gas Ceiling and tip. The live base fee is shown right above the prompt.
7. Timing Wait for the stage to open, or fire now if it's already live.

Then it shows a summary and asks Fire?. Nothing is sent until you type y.

Step 4 — Set it and walk away

If the drop opens later, choose "Wait for the stage". It pre-signs everything, holds, and fires at the exact start time — no supervision needed. The Fire? confirmation comes before the wait, so there's no second prompt at mint time.

Two things to get right if you're leaving it running:


Understanding gas

Three different numbers, and mixing them up is the most common way to lose a mint:

Term What it is Who sets it
Base fee The network's price. Burned. The chain
Priority fee (tip) Paid on top, to the block producer You
Max fee The ceiling you'll tolerate You

You pay base fee + tip. The max fee is only a cap — if the base fee is 0.006 gwei and your tip is 0.05, you pay 0.056 gwei no matter whether your ceiling is 2 or 200.

But the ceiling is not free. Before a node will even accept your transaction, it checks that your wallet holds gasLimit × maxFee + mint price. So a high ceiling with a thin wallet gets rejected outright, even though the real cost is tiny. The tool checks this before firing and tells you the highest ceiling your balance can support.

A SeaDrop mint uses roughly 135,000 gas for quantity 1.


What it protects you from

Each of these is checked before anything is broadcast:

If a transaction is rejected by every endpoint, it says so plainly instead of waiting for a receipt that will never exist.


Supported chains

Chain Chain ID Explorer
Ethereum 1 etherscan.io
Base 8453 basescan.org
Robinhood Chain 4663 robinhoodchain.blockscout.com

To add another, append one entry to src/chains.ts — no other code changes needed.


Security


Allowlist / FCFS mints

Not supported here, and it isn't an oversight. An allowlist stage uses SeaDrop's mintSigned(), which needs a signature that OpenSea generates per wallet — that genuinely requires an authenticated OpenSea session. There's no way to build it from on-chain data, which is the whole premise of this tool.

License

MIT

nft-public-mint (morsyxbt/nft-public-mint)

Searching Database…

这是什么?它是一个 CLI 工具,用于在 Ethereum、Base 和 Robinhood Chain 上狙击 OpenSea 的 SeaDrop 合约中的公开 NFT 铸造,专为在铸造阶段开放的瞬间出手而打造。
这和直接用 OpenSea 网站铸造有什么不同?它完全依据链上合约数据(价格、手续费接收方、每个钱包的限额)来构建铸造交易,而不经过 OpenSea 的 API,因此不需要账号、登录或访问令牌,也没有 API 速率限制。
怎么让它跑起来?克隆仓库,运行 npm install,再运行 npm run build,然后用 CLI 命令启动;随后向导会依次问你七个问题(私钥、链、数量、NFT 链接、RPC、gas、时机),最后要求你用 Fire? 确认。
运行之前我需要准备什么?Node.js 18 或更新版本,以及一个在你打算铸造的链上存有一点 ETH 的钱包。私有 RPC(例如免费的 Alchemy 密钥)是可选的,但强烈建议配置。
它也能抢白名单(allowlist)或先到先得(FCFS)的铸造吗?不能——只能抢公开的、无需身份验证的 SeaDrop 阶段。白名单阶段需要 OpenSea 签发的 mintSigned() 签名,而这个签名无法仅凭链上数据推导出来。
它在 Windows 上也能跑吗,还是只有 Mac/Linux?能,它是一个 Node.js CLI,README 还专门记录了在 Windows PowerShell 中粘贴安装命令时的一个常见坑。
我粘贴私钥的时候它们安全吗?私钥在运行时粘贴进 CLI,只在这一次运行的内存中保存——除了作为本地签名交易的一部分,它们永远不会写入磁盘或发往任何地方。
我可以在哪些链上抢铸造?Ethereum(链 ID 1)、Base(8453)和 Robinhood Chain(4663)。要添加其他链,只需在 src/chains.ts 里追加一个条目。
如果铸造还没开始会怎样?你选择 'Wait for the stage',工具会预先签署交易并持有它,在开始时刻准时自动发出,不需要你再盯着。
它怎么防止我把 gas 设置错?发射之前,它会拒绝低于基础费的上限、高于上限的小费,以及付不起 gasLimit × maxFee 加铸造价格的任何钱包,并告诉你余额实际能支撑的最高上限。
我能同时用多个钱包铸造吗?能——你在提示时粘贴多少个私钥都行,它们会并行发射。
Creator
morsyxbt
Size
<0.1 MB
Stars
293
Updated
CommitAug 15
Age
2mo
Commits · 90 Days