domains / data / opensea-nft-token-operations / opensea

opensea

Skill card

combined

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.

Repositories

RepositoryPath
BankrBot/skillsopensea/SKILL.md
LeoYeAI/openclaw-master-skillsskills/opensea-skill/SKILL.md

Other copies

RoleRepositoryPath
peerBankrBot/skillsopensea/SKILL.md
peerLeoYeAI/openclaw-master-skillsskills/opensea-skill/SKILL.md

Combined skill

---
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.