Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenSea Mint Bot

Standalone Python 3.11+ CLI for checking eligibility and minting NFTs from OpenSea drop URLs. It has no external project dependencies and reads secrets only from the project-local .env.

Quick Start

git clone <repo-url>
cd opensea-mint-bot
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt && .venv/bin/pip install -e .

Copy .env.example to .env, fill in PRIVATE_KEY, OPENSEA_API_KEY, and preferred RPC URLs, then run:

opensea-mint "https://opensea.io/collection/example/drop" --check --dry-run

CLI

opensea-mint <url> [--quantity N] [--wallet KEY|all] [--dry-run] [--gas-multiplier 1.5]
opensea-mint <url> --watch [--timeout 3600]
opensea-mint <url> --check
opensea-mint <url> --stage public|allowlist

Flags:

  • --quantity, -q: number of NFTs to mint per wallet.
  • --wallet: first configured wallet by default, a zero-based wallet index, an address, or all.
  • --dry-run: simulate only; never broadcasts. Also enabled by DRY_RUN=true.
  • --broadcast: allow a real transaction when eligibility and simulation pass.
  • --gas-multiplier: override GAS_PRICE_MULTIPLIER.
  • --watch: poll eligibility until mintable or timeout.
  • --timeout: watch mode timeout in seconds.
  • --check: inspect eligibility only; never broadcasts.
  • --stage: explicitly use public or allowlist.
  • --verbose, -v: verbose logs.

Architecture

URL -> OpenSea metadata -> chain/contract target
                         -> adapter detection
                            -> SeaDrop
                            -> ERC721A generic
                            -> custom explorer ABI fallback
                         -> eligibility report
                         -> eth_call simulation
                         -> signed transaction
                         -> receipt + notification

Example Output

Eligible dry run:

OpenSea Mint Report
Wallet                                      Adapter   Status    Reason    Tx
0x1234...abcd                               seadrop   eligible  eligible  dry-run

Ineligible drop:

OpenSea Mint Report
Wallet                                      Adapter   Status      Reason
0x1234...abcd                               seadrop   ineligible  stage not active until 2026-06-04 12:00:00 UTC

Successful mint:

OpenSea Mint Report
Wallet                                      Adapter   Status  Reason    Tx
0x1234...abcd                               seadrop   minted  eligible  0xabc123...

Supported URLs

  • https://opensea.io/collection/{slug}
  • https://opensea.io/collection/{slug}/drop
  • https://opensea.io/collection/{slug}/overview
  • https://opensea.io/{chain}/collection/{slug}
  • https://opensea.io/assets/{chain}/{contract}/{tokenid}

Safety Controls

  • MAX_GAS_PRICE_GWEI rejects expensive gas.
  • MAX_VALUE_PER_MINT_ETH caps mint price plus estimated gas.
  • --dry-run and --check never broadcast.
  • Private keys are loaded once at startup and are never logged.

Roadmap

  • Richer watch mode scheduling with jitter around known start times.
  • Telegram bot wrapper for remote mint approvals.
  • Allowlist proof providers for OpenSea GraphQL, thirdweb, manifold, and scatter drops.
  • Broader custom adapter support for thirdweb, manifold, scatter, and creator-specific contracts.
  • Multi-wallet state tracking and mint history.

Disclaimer

Use at your own risk. NFT mint contracts can be malicious or misconfigured. Always verify drop legitimacy, contract addresses, mint price, and transaction data before broadcasting.

About

Reusable, extensible CLI bot for auto-minting NFTs from OpenSea drops. Multi-chain (ETH/Base/Polygon/Arbitrum/OP/Zora/Blast/AVAX), SeaDrop + ERC721A + custom adapters, eligibility checks, gas safety controls.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages