domains / data / opensea-nft-token-operations / opensea
The two copies cover the same OpenSea surface but with materially different structure and content. The BankrBot copy is a router that delegates to five sub-skills (opensea-api, opensea-marketplace, opensea-swaps, opensea-wallet, opensea-tool-sdk) and explicitly requires reading a sub-skill before executing; it also documents wallet signing providers (Bankr, Privy, Turnkey, Fireblocks, local PRIVATE_KEY) and ERC-8257 tool building. The LeoYeAI copy is a self-contained operational guide that recommends the @opensea/cli as the primary tool, provides concrete CLI commands for collections, NFTs, listings, offers, swaps, search, and events, and lists shell-script and MCP alternatives. Neither copy is a reproduction of the other: the router lacks the CLI command tables and the self-contained copy lacks the sub-skill routing, wallet provider configuration, and tool SDK steps. Crowning one would hide a real alternative workflow.
| Repository | Path |
|---|---|
| BankrBot/skills | opensea/SKILL.md |
| LeoYeAI/openclaw-master-skills | skills/opensea-skill/SKILL.md |
| Role | Repository | Path |
|---|---|---|
| peer | BankrBot/skills | opensea/SKILL.md |
| peer | LeoYeAI/openclaw-master-skills | skills/opensea-skill/SKILL.md |
--- name: opensea description: Query NFT and token data, trade NFTs on Seaport, swap ERC20 tokens via DEX aggregator, configure wallet signing providers, and build/register/gate AI agent tools on Base. Covers the full OpenSea developer surface across CLI, MCP server, shell scripts, and SDK. license: MIT compatibility: Requires network access and Node.js >= 18. Set $OPENSEA_API_KEY for all read/write operations. Write operations additionally require a wallet provider configured per opensea-wallet/SKILL.md. curl and jq recommended for shell-script flows. --- # OpenSea ## Setup 1. Set OPENSEA_API_KEY in your environment. 2. Install the CLI: npm install -g @opensea/cli (or use npx @opensea/cli). 3. For write operations (buy, sell, offers, swaps), configure a wallet signing provider (Bankr, Privy, Turnkey, Fireblocks, or local PRIVATE_KEY) per opensea-wallet/SKILL.md. ## Routing Pick the appropriate sub-skill based on task, then read its SKILL.md for operational detail: | Task | Sub-skill | |---|---| | Query NFT/token data, search, drops, events | opensea-api/SKILL.md | | Buy/sell NFTs on Seaport, sweeps, cross-chain | opensea-marketplace/SKILL.md | | Swap ERC20 tokens via DEX aggregator | opensea-swaps/SKILL.md | | Configure wallet signing | opensea-wallet/SKILL.md | | Build/register/gate AI agent tools (ERC-8257) | opensea-tool-sdk/SKILL.md | ## Quick start (CLI) ```bash export OPENSEA_API_KEY="your-api-key" # Collection info opensea collections get boredapeyachtclub # Floor price and volume stats opensea collections stats boredapeyachtclub # NFT details opensea nfts get ethereum 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d 1234 # Best listings opensea listings best boredapeyachtclub --limit 5 # Search opensea search "cool cats" # Trending tokens opensea tokens trending --limit 5 # Swap quote opensea swaps quote \ --from-chain base --from-address 0x0000000000000000000000000000000000000000 \ --to-chain base --to-address 0xTokenAddress \ --quantity 0.02 --address 0xYourWallet ``` ## Task guide ### Token swaps | Task | CLI Command | Alternative | |------|------------|-------------| | Get swap quote with calldata | opensea swaps quote --from-chain <chain> --from-address <addr> --to-chain <chain> --to-address <addr> --quantity <qty> --address <wallet> | get_token_swap_quote (MCP) or opensea-swap.sh | | Get trending tokens | opensea tokens trending [--chains <chains>] [--limit <n>] | get_trending_tokens (MCP) | | Get top tokens by volume | opensea tokens top [--chains <chains>] [--limit <n>] | get_top_tokens (MCP) | | Get token details | opensea tokens get <chain> <address> | get_tokens (MCP) | | Search tokens | opensea search <query> --types token | search_tokens (MCP) | | Check token balances | get_token_balances (MCP) | — | ### Reading NFT data | Task | CLI Command | Alternative | |------|------------|-------------| | Get collection details | opensea collections get <slug> | opensea-collection.sh <slug> | | Get collection stats | opensea collections stats <slug> | opensea-collection-stats.sh <slug> | | List NFTs in collection | opensea nfts list-by-collection <slug> [--limit <n>] | opensea-collection-nfts.sh <slug> [limit] [next] | | Get single NFT | opensea nfts get <chain> <contract> <token_id> | opensea-nft.sh <chain> <contract> <token_id> | | List NFTs by wallet | opensea nfts list-by-account <chain> <address> [--limit <n>] | opensea-account-nfts.sh <chain> <address> [limit] | | List NFTs by contract | opensea nfts list-by-contract <chain> <contract> [--limit <n>] | — | | Get collection traits | opensea collections traits <slug> | — | | Get contract details | opensea nfts contract <chain> <address> | — | | Refresh NFT metadata | opensea nfts refresh <chain> <contract> <token_id> | — | ### Marketplace queries | Task | CLI Command | Alternative | |------|------------|-------------| | Get best listings for collection | opensea listings best <slug> [--limit <n>] | opensea-best-listing.sh <slug> <token_id> | | Get best listing for specific NFT | opensea listings best-for-nft <slug> <token_id> | opensea-best-listing.sh <slug> <token_id> | | Get best offer for NFT | opensea offers best-for-nft <slug> <token_id> | opensea-best-offer.sh <slug> <token_id> | | List all collection listings | opensea listings all <slug> [--limit <n>] | opensea-listings-collection.sh <slug> [limit] | | List all collection offers | opensea offers all <slug> [--limit <n>] | opensea-offers-collection.sh <slug> [limit] | | Get collection offers | opensea offers collection <slug> [--limit <n>] | opensea-offers-collection.sh <slug> [limit] | | Get trait offers | opensea offers traits <slug> --type <type> --value <value> | — | | Get order by hash | — | opensea-order.sh <chain> <order_hash> | ### Marketplace actions (POST) | Task | Script | |------|--------| | Get fulfillment data (buy NFT) | opensea-fulfill-listing.sh <chain> <order_hash> <buyer> | | Get fulfillment data (accept offer) | opensea-fulfill-offer.sh <chain> <order_hash> <seller> <contract> <token_id> | | Generic POST request | opensea-post.sh <path> <json_body> | ### Search | Task | CLI Command | |------|------------| | 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 | | Search multiple types | opensea search <query> --types collection,nft,token | | Search on specific chain | opensea search <query> --chains base,ethereum | ### Events and monitoring | Task | CLI Command | Alternative | |------|------------|-------------| | List recent events | opensea events list [--event-type <type>] [--limit <n>] | — | | Get collection events | opensea events by-collection <slug> [--event-type <type>] | opensea-events-collection.sh <slug> [event_type] [limit] | | Get events for specific NFT | opensea events by-nft <chain> <contract> <token_id> | — | | Get events for account | opensea events by-account <address> | — | | Stream real-time events | — | opensea-stream-collection.sh <slug> (requires websocat) | ## Conflicts - BankrBot/skills routes to sub-skills and requires reading a sub-skill SKILL.md before executing; it includes wallet provider configuration (Privy/Turnkey/Fireblocks/Bankr) and ERC-8257 tool SDK steps not present in the LeoYeAI copy. - LeoYeAI/openclaw-master-skills recommends @opensea/cli as the primary tool and provides concrete CLI command tables for all operations; it does not reference sub-skills, wallet provider configuration, or the tool SDK.