skills/ecosystem/opensea/SKILL.md
Query OpenSea marketplace data — listings, offers, sales / events, floor prices, collection stats, drops, traits — and execute Seaport trades via the official `@opensea/cli` and OpenSea REST API across Ethereum, Base, Arbitrum, Optimism, Polygon, and more. Includes search across collections / NFTs / tokens / accounts. NOT for general NFT metadata reads (name, image, traits, ownership), token metadata, current wallet balances, transaction history, or live RPC reads — for those use `alchemy-cli` (live), `alchemy-mcp`, `alchemy-api` (app code), or `agentic-gateway` (no API key). For pure cross-chain token swaps (no marketplace context), prefer the `lifi` ecosystem skill. Requires `OPENSEA_API_KEY` (instant via API).
npx skillsauth add alchemyplatform/skills openseaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
OpenSea is the dominant NFT marketplace. This skill queries marketplace data — listings, offers, sales / events, floor prices, drops, traits — and executes Seaport trades via the official @opensea/cli. For NFT metadata (name, image, traits, ownership) outside the marketplace context, use Alchemy's NFT API instead. For pure cross-chain token swaps (no marketplace context), use the lifi ecosystem skill.
| | |
| --- | --- |
| Primary tool | npx @opensea/cli@latest <command> (or npm install -g @opensea/cli) |
| REST API base | https://api.opensea.io/api/v2 |
| Auth | OPENSEA_API_KEY header — instant via POST /api/v2/auth/keys, or signup at the developer portal |
| Optional Privy | PRIVY_APP_ID / PRIVY_APP_SECRET / PRIVY_WALLET_ID for write / fulfillment flows |
| Chains | Ethereum, Base, Arbitrum, Optimism, Polygon, and more |
Use opensea when any of the following are true:
| Need | Use instead |
| --- | --- |
| NFT metadata (name, image, traits, ownership lookup) outside a marketplace context | alchemy-api (NFT API) — broader coverage, fewer rate limits |
| Pure cross-chain token swap (no NFT marketplace need) | lifi (ecosystem skill) — broader bridge / DEX aggregation |
| Token spot prices for valuation | alchemy-api (Prices API) |
| Token metadata, search, list by chain (general) | alchemy-api (Token API) |
| Current wallet balances (token + native) | alchemy-api (Portfolio / Token API) |
| Transaction history (transfers in / out) | alchemy-api (Transfers API) |
| Live blockchain reads (block #, gas, eth_call) | alchemy-cli (live) or alchemy-api (JSON-RPC) |
| Pre-execution simulation | alchemy-api (Simulation API) |
| Account abstraction (bundlers, gas managers) | alchemy-api |
| Smart wallet / embedded wallet flows | alchemy-api (Wallets / Account Kit) |
This skill covers (scope_in):
opensea listings best, opensea listings best-for-nft, opensea offers best-for-nft, opensea offers all, opensea collections stats, opensea collections trending, opensea collections top, opensea collections traitsopensea-fulfill-listing.sh) and selling (opensea-fulfill-offer.sh); creating listings / offers via opensea-post.sh with the Seaport order structureopensea events list, events by-collection, events by-nft, events by-account — sale / transfer / mint / listing / offer / trait_offer / collection_offeropensea drops list, opensea drops get, opensea drops mintopensea search across collections / NFTs / tokens / accountsopensea accounts resolve (ENS / username / address)This skill does NOT cover (scope_out):
alchemy-api (NFT API). OpenSea's NFT data is marketplace-flavored and rate-limited; Alchemy's NFT API is broader and cheaper for pure metadata.lifi (ecosystem skill). OpenSea's swap aggregator works, but lifi covers more bridges and chains.alchemy-api (Prices API)alchemy-api (Token API)alchemy-api (Portfolio / Token API)alchemy-api (Transfers API)alchemy-cli or alchemy-api (JSON-RPC)alchemy-api (Simulation API)alchemy-api (Wallets / Bundler / Gas Manager)alchemy-api (Account Kit)API key is required. Get one instantly via the auth endpoint (no signup) or register at the developer portal for higher limits:
# Instant key (no signup needed)
export OPENSEA_API_KEY=$(curl -s -X POST https://api.opensea.io/api/v2/auth/keys | jq -r '.api_key')
# Or set an existing key
# export OPENSEA_API_KEY="..."
Install the CLI globally (optional — npx @opensea/cli works without install):
npm install -g @opensea/cli
For write / fulfillment flows that sign with Privy:
export PRIVY_APP_ID="..."
export PRIVY_APP_SECRET="..."
export PRIVY_WALLET_ID="..."
Security: never expose
OPENSEA_API_KEYor Privy credentials in client-side code. Server-side only.
| Task | CLI |
| --- | --- |
| Best listings for a collection | opensea listings best <slug> [--limit <n>] |
| Best listing for a specific NFT | opensea listings best-for-nft <slug> <token_id> |
| Best offer for an NFT | opensea offers best-for-nft <slug> <token_id> |
| All listings on a collection | opensea listings all <slug> [--limit <n>] |
| All offers on a collection | opensea offers all <slug> [--limit <n>] |
| Trait offers | opensea offers traits <slug> --type <type> --value <value> |
| Collection stats (floor, volume) | opensea collections stats <slug> |
| Trending collections | opensea collections trending [--timeframe <tf>] [--chains <chains>] |
| Top collections by sort | opensea collections top [--sort-by <field>] [--chains <chains>] |
| Collection traits | opensea collections traits <slug> |
| Task | Script |
| --- | --- |
| Get fulfillment data to buy an NFT | opensea-fulfill-listing.sh <chain> <order_hash> <buyer> |
| Get fulfillment data to sell (accept offer) | opensea-fulfill-offer.sh <chain> <order_hash> <seller> <contract> <token_id> |
| Generic POST to OpenSea API | opensea-post.sh <path> <json_body> |
| Task | CLI |
| --- | --- |
| Recent events (filterable by type) | opensea events list [--event-type <type>] |
| Events for a collection | opensea events by-collection <slug> [--event-type <type>] |
| Events for a specific NFT | opensea events by-nft <chain> <contract> <token_id> |
| Events for an account | opensea events by-account <address> |
Event types: sale, transfer, mint, listing, offer, trait_offer, collection_offer.
For real-time event streaming: opensea-stream-collection.sh <slug> (requires websocat).
| Task | CLI |
| --- | --- |
| List drops (featured / upcoming / recent) | opensea drops list [--type <type>] |
| Drop details + stages | opensea drops get <slug> |
| Build mint tx | opensea drops mint <slug> --minter <address> [--quantity <n>] |
| Task | CLI |
| --- | --- |
| Search collections | opensea search <query> --types collection |
| Search NFTs | opensea search <query> --types nft |
| Search tokens | opensea search <query> --types token |
| Search accounts | opensea search <query> --types account |
| Multi-type search | opensea search <query> --types collection,nft,token |
opensea collections stats boredapeyachtclub
opensea listings best boredapeyachtclub --limit 1
# 1. Get the best listing for a specific NFT
opensea listings best-for-nft boredapeyachtclub 1234
# 2. Get fulfillment data — order_hash from above response
./scripts/opensea-fulfill-listing.sh ethereum 0xORDER_HASH 0xYOUR_WALLET
# 3. Sign + submit the returned tx data via your wallet
./scripts/opensea-stream-collection.sh boredapeyachtclub
# Filters to sale events; pipe through jq to format
opensea search "cool cats" --types collection,nft --chains ethereum,base
X-API-KEY.opensea swaps quote), but for pure swap flows without marketplace context, lifi aggregates more bridges + DEXs and is the better default. Use OpenSea swaps when the user is already in an NFT-buying flow that involves a token swap.listings best-for-nft / offers best-for-nft are needed for fulfillment. Don't lose them between API calls.websocat; if not installed, fall back to polling events by-collection with the same filters.boredapeyachtclub), NFTs by (chain, contract, tokenId). Don't mix.If during a session the user's need shifts to surfaces this skill doesn't cover:
alchemy-api (NFT API) is the right path. OpenSea's NFT API is marketplace-flavored and rate-limited; Alchemy's is broader and faster.alchemy-apialchemy-cli (live) or alchemy-api (app code) or agentic-gateway (no API key)lifi (ecosystem skill); covers 27 bridges + 31 DEXs across 60+ chainsMaintenance: OpenSea maintains
@opensea/cliand the underlying API; this skill itself is maintained jointly by Alchemy and OpenSea. File issues againstalchemyplatform/skillswith[ecosystem/opensea]in the title.
tools
Query Allium APIs for wallet PnL (current + historical, by-wallet and by-token), holdings timeseries history, Hyperliquid HyperCore trading data (info, fills, orders, orderbook), and custom SQL analytics across 70+ chains. NOT for token prices, token metadata, current wallet balance snapshots, transaction transfer history, or NFT metadata — for those use `alchemy-cli` (live work), `alchemy-mcp`, `alchemy-api` (app code), or `agentic-gateway` (no API key). Requires Allium credentials at `~/.allium/credentials`.
tools
Use the Alchemy MCP server (`https://mcp.alchemy.com/mcp`) for live blockchain data and admin work when MCP is wired into your AI client and the Alchemy CLI is NOT installed locally. Exposes 159 tools across 100+ chains for token prices, NFT metadata, transactions, simulation, tracing, account abstraction, Solana DAS, and app management. Use for live querying, analysis, admin work, or on-machine agent work — not for application code that ships to production. For application code, use the `alchemy-api` skill (with API key) or `agentic-gateway` skill (without). When the CLI is also installed locally, prefer `alchemy-cli` instead.
tools
Use the Alchemy MCP server (`https://mcp.alchemy.com/mcp`) for live blockchain data and admin work when MCP is wired into your AI client and the Alchemy CLI is NOT installed locally. Exposes 159 tools across 100+ chains for token prices, NFT metadata, transactions, simulation, tracing, account abstraction, Solana DAS, and app management. Use for live querying, analysis, admin work, or on-machine agent work — not for application code that ships to production. For application code, use the `alchemy-api` skill (with API key) or `agentic-gateway` skill (without). When the CLI is also installed locally, prefer `alchemy-cli` instead.
tools
Use the Alchemy CLI (`@alchemy/cli`) for live blockchain data, transaction lookups, NFT/token/portfolio queries, simulation, tracing/debugging, account abstraction (bundler + gas manager), webhook management, Solana RPC/DAS, and Alchemy app administration. Preferred runtime path for live agent work (querying, admin, local automation) when the CLI is installed locally — or when both CLI and MCP are available. If neither is installed, install the CLI with `npm i -g @alchemy/cli`. Use for live agent work in this session, not for building application code that ships to production. For application code, use the `alchemy-api` skill (with API key) or `agentic-gateway` skill (without).