How maouv/opensea-list works
opensea-list is a multi-wallet NFT operations product controlled through Telegram and a companion web panel. The main workflow resolves a collection and chain, verifies wallet holdings, gathers listing or mint choices, summarizes the action, then executes and reports results. Separate branches cover managing existing listings and timed drop mints. The README documents capabilities beyond the sampled excerpts; those are shown at subsystem level where wiring is not directly evidenced.
Main entry points: server.js Panel API · bot.js Telegram bot · opensea.js OpenSea operations · holdings.js Holdings verification
Components 24
User interfaces
- Telegram bot
bot.js - Web panel UI
panel/public/index.html - Panel API
panel/server.js
Listing and holdings
- Listing workflows
bot.js - Fast List settings
bot.js - Holdings verification
lib/holdings.js - OpenSea operations
lib/opensea.js - Offer acceptance
lib/osoffers.js
Minting and schedules
- Schedule manager
lib/schedules.js - Mint workflows
bot.js - Mint probing
lib/mint.js - Mint transactions
lib/minttx.js - Drop eligibility
lib/oselig.js - OpenSea wallet auth
lib/osauth.js
Shared services
- Request limiter
lib/limiter.js - Shared state
lib/state.js - Conversation sessions
lib/session.js
Other components
- Telegram user
- Panel user
- Chain RPCs
- OpenSea API
- Telegram service
- Mint schedules
mint-schedules.json - Fast List settings
fastlist-settings.json
Connections 41
- Telegram user → Telegram bot: sends actions
- Telegram bot → Telegram service: sends messages
- Telegram bot → Conversation sessions: tracks sessions
- Telegram bot → Listing workflows: routes listing
- Telegram bot → Mint workflows: routes minting
- Telegram bot → Schedule manager: manages schedules
- Telegram bot → Shared state: reads settings
- Fast List settings → Fast List settings: reads and writes
- Telegram bot → Fast List settings: runs fast list
- Panel user → Web panel UI: uses panel
- Web panel UI → Panel API: calls API
- Panel API → Shared state: shares state
- Panel API → Holdings verification: gets holdings
- Panel API → OpenSea operations: gets listing data
- Panel API → Mint probing: probes mints
- Panel API → Mint transactions: builds mint tx
- Panel API → Offer acceptance: accepts offers
- Panel API → Schedule manager: manages schedules
- Panel API → Chain RPCs: reads chain
- Listing workflows → Holdings verification: verifies holdings
- Listing workflows → OpenSea operations: lists and manages
- Listing workflows → Chain RPCs: checks ownership
- OpenSea operations → Request limiter: sends SDK requests
- Request limiter → OpenSea API: fetches API
- OpenSea operations → OpenSea API: queries listings
- Holdings verification → OpenSea operations: gets candidates
- Holdings verification → Chain RPCs: verifies owners
- Mint workflows → Mint probing: probes and checks
- Mint workflows → Mint transactions: builds transactions
- Mint workflows → Drop eligibility: checks eligibility
- Mint workflows → Schedule manager: creates schedules
- Mint workflows → Chain RPCs: simulates and mints
- Mint probing → Drop eligibility: checks drop eligibility
- Mint probing → Chain RPCs: probes contracts
- Mint transactions → OpenSea API: builds drop tx
- Drop eligibility → OpenSea wallet auth: gets wallet JWT
- OpenSea wallet auth → OpenSea API: authenticates wallets
- Drop eligibility → OpenSea API: queries drop stages
- Offer acceptance → OpenSea API: fetches offers
- Offer acceptance → Chain RPCs: sends acceptance tx
- Schedule manager → Mint schedules: persists schedules