opensea — скилл для Claude Code: данные маркетплейса и сделки Seaport
Скилл даёт агенту доступ к листингам, офферам, продажам и статистике коллекций OpenSea, а также позволяет исполнять сделки через Seaport.
npx skills add alchemyplatform/skills --skill opensea -a claude-codeЧто делает opensea
Скилл работает поверх официального @opensea/cli и REST API OpenSea. Агент может запросить лучшие листинги коллекции, лучший оффер для конкретного NFT, статистику и тренды коллекций, события продаж и минтов, список дропов и поиск по коллекциям, NFT, токенам и аккаунтам. Поддерживаются Ethereum, Base, Arbitrum, Optimism, Polygon и другие сети.
Для работы нужен ключ OPENSEA_API_KEY. Его можно получить мгновенно через POST /api/v2/auth/keys без регистрации, либо зарегистрироваться в портале разработчика для более высоких лимитов. Также понадобятся Node.js версии 18 или выше, curl и, желательно, jq. Для сценариев записи и исполнения сделок с подписью через Privy нужны PRIVY_APP_ID, PRIVY_APP_SECRET и PRIVY_WALLET_ID.
Скилл не подходит для чтения метаданных NFT вне контекста маркетплейса, балансов кошелька, истории транзакций и живых RPC-запросов. Для этих задач авторы советуют alchemy-cli, alchemy-mcp или alchemy-api. Если нужен кроссчейн-своп токенов без привязки к маркетплейсу, лучше взять скилл lifi. Это повод проверить, что именно вы собираетесь делать: данные маркетплейса и торговля — сюда, всё остальное — в Alchemy.
Какие задачи решает
- посмотреть лучшие листинги коллекции перед покупкой
- найти лучший оффер на конкретный NFT
- отследить продажи и минты коллекции в реальном времени
- собрать статистику и тренды коллекции для оценки
- исполнить покупку или продажу NFT через Seaport
Примеры запросов агенту
- покажи лучшие листинги коллекции boredapeyachtclub
- какой сейчас лучший оффер на этот NFT из коллекции pudgypenguins
- найди все события продаж для коллекции azuki за последнюю неделю
Как установить opensea
1Через Skills CLI (Vercel)
npx skills add alchemyplatform/skills --skill opensea -a claude-code2Вручную: положить файлы
~/.claude/skills/opensea/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/opensea/
1Через Skills CLI (Vercel)
npx skills add alchemyplatform/skills --skill opensea -a codex2Вручную: положить файлы
.agents/skills/opensea/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add alchemyplatform/skills --skill opensea -a cursor2Вручную: положить файлы
.cursor/skills/opensea/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install alchemyplatform/skills opensea2Вручную: положить файлы
.github/skills/opensea/SKILL.md1Через Skills CLI (Vercel)
npx skills add alchemyplatform/skills --skill opensea -a gemini-cli2Командой платформы
gemini skills install https://github.com/alchemyplatform/skills --path skills/ecosystem/openseaВручную: положить файлы
.devin/skills/opensea/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add alchemyplatform/skills --skill opensea -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о opensea
Как установить opensea в Claude?
Выполните npx skills add alchemyplatform/skills --skill opensea -a claude-code. Скилл появится в ~/.claude/skills/opensea/SKILL.md.
Что делает скилл opensea?
Он запрашивает данные маркетплейса OpenSea — листинги, офферы, продажи, статистику коллекций, дропы — и позволяет исполнять сделки через Seaport. Также умеет искать по коллекциям, NFT, токенам и аккаунтам.
Что нужно для работы скилла?
Ключ OPENSEA_API_KEY, который можно получить мгновенно через POST /api/v2/auth/keys. Также нужны Node.js версии 18 или выше и curl.
Исходный текст
SKILL.md · MIT
--- name: opensea description: 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). license: MIT compatibility: API key required via `$OPENSEA_API_KEY` (instant — `curl -X POST https://api.opensea.io/api/v2/auth/keys` returns a key with no signup, or sign up at https://opensea.io/settings/developer for higher limits). Optional `$PRIVY_APP_ID` / `$PRIVY_APP_SECRET` / `$PRIVY_WALLET_ID` for write / fulfillment flows. Needs Node.js (≥ 18), `curl`, `jq` (recommended). metadata: author: opensea version: "0.1" provider: opensea partner: "true" --- # OpenSea (NFT Marketplace Data + Seaport Trades) 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 | ## When to use this skill Use `opensea` when **any** of the following are true: - The user wants **marketplace data** — listings, offers, floor prices, sales history, collection stats - The user wants to **buy / sell an NFT** via Seaport (fulfill listing or accept offer) - The user wants to **search** across OpenSea (collections / NFTs / tokens / accounts) - The user wants to **monitor events** — sales, transfers, mints, listings, offers — for a collection or NFT - The user wants to **explore drops** or build a mint transaction for a SeaDrop contract - The user wants **token discovery** in the OpenSea-curated context (top, trending, by group) ## When NOT to use this skill (handoff) | 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) | ## Scope contract **This skill covers (`scope_in`):** - **Marketplace data:** `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 traits` - **Seaport trades:** fulfillment data for buying (`opensea-fulfill-listing.sh`) and selling (`opensea-fulfill-offer.sh`); creating listings / offers via `opensea-post.sh` with the Seaport order structure - **Events / monitoring:** `opensea events list`, `events by-collection`, `events by-nft`, `events by-account` — sale / transfer / mint / listing / offer / trait_offer / collection_offer - **Drops + minting:** `opensea drops list`, `opensea drops get`, `opensea drops mint` - **Search:** `opensea search` across collections / NFTs / tokens / accounts - **Account utilities:** `opensea accounts resolve` (ENS / username / address) **This skill does NOT cover (`scope_out`):** - General NFT metadata reads (name, image, traits, ownership, contract metadata) outside the marketplace context → handoff: `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. - Pure cross-chain token swaps (no NFT marketplace use case) → handoff: `lifi` (ecosystem skill). OpenSea's swap aggregator works, but `lifi` covers more bridges and chains. - Token spot prices for valuation / display → handoff: `alchemy-api` (Prices API) - General token metadata, search, list → handoff: `alchemy-api` (Token API) - Wallet balances (token + native) → handoff: `alchemy-api` (Portfolio / Token API) - Transaction transfer history → handoff: `alchemy-api` (Transfers API) - Live RPC reads → handoff: `alchemy-cli` or `alchemy-api` (JSON-RPC) - Pre-execution simulation → handoff: `alchemy-api` (Simulation API) - Account abstraction → handoff: `alchemy-api` (Wallets / Bundler / Gas Manager) - Embedded / smart wallet onboarding → handoff: `alchemy-api` (Account Kit) - Signed tx submission → user wallet (or Privy if configured for OpenSea write flows) ## Setup API key is required. Get one instantly via the auth endpoint (no signup) or register at the developer portal for higher limits: ```bash # 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): ```bash npm install -g @opensea/cli ``` For write / fulfillment flows that sign with Privy: ```bash export PRIVY_APP_ID="..." export PRIVY_APP_SECRET="..." export PRIVY_WALLET_ID="..." ``` > **Security:** never expose `OPENSEA_API_KEY` or Privy credentials in client-side code. Server-side only. ## Endpoint reference → [references/marketplace.md](./references/marketplace.md) ### Marketplace queries (most-used) | 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>` | ### Seaport trade execution | 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>` | ### Events / monitoring | 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`). ### Drops + minting | 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>]` | ### Search | 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` | ## Quick examples ### Get the floor + 24h volume for Bored Apes ```bash opensea collections stats boredapeyachtclub ``` ### Find the cheapest listing for a collection ```bash opensea listings best boredapeyachtclub --limit 1 ``` ### Buy an NFT (fulfill a listing) ```bash # 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 ``` ### Stream sales for a collection in real time ```bash ./scripts/opensea-stream-collection.sh boredapeyachtclub # Filters to sale events; pipe through jq to format ``` ### Search across types ```bash opensea search "cool cats" --types collection,nft --chains ethereum,base ``` ## Common gotchas - **API key is mandatory** — even the "instant" tier requires one. The bare REST API will 401 without `X-API-KEY`. - **OpenSea's NFT data overlaps with Alchemy's NFT API** for metadata reads. Prefer Alchemy for *general* NFT metadata (name, image, traits, ownership across many wallets) — OpenSea is rate-limited harder and adds marketplace flavoring you may not want. Use OpenSea when the marketplace context (listings, offers, sales history, drops) is the actual need. - **Token swap aggregator** exists in the OpenSea API (`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. - **Privy is optional** but required for end-to-end write flows. The skill returns fulfillment calldata; how it gets signed is up to the app (user wallet, Privy, or any other signer). - **Order hashes** from `listings best-for-nft` / `offers best-for-nft` are needed for fulfillment. Don't lose them between API calls. - **Event streaming** requires `websocat`; if not installed, fall back to polling `events by-collection` with the same filters. - **Slug vs. address**: collections are addressed by slug (e.g., `boredapeyachtclub`), NFTs by `(chain, contract, tokenId)`. Don't mix. ## Routing back to Alchemy If during a session the user's need shifts to surfaces this skill doesn't cover: - **NFT metadata reads** (name, image, traits, ownership) — `alchemy-api` (NFT API) is the right path. OpenSea's NFT API is marketplace-flavored and rate-limited; Alchemy's is broader and faster. - **Token prices, balances, transfer history, general token metadata** — `alchemy-api` - **Live RPC, gas, simulation, AA, Account Kit** — `alchemy-cli` (live) or `alchemy-api` (app code) or `agentic-gateway` (no API key) - **Pure cross-chain token swaps** — `lifi` (ecosystem skill); covers 27 bridges + 31 DEXs across 60+ chains --- > **Maintenance:** OpenSea maintains `@opensea/cli` and the underlying API; this skill itself is maintained jointly by Alchemy and OpenSea. File issues against `alchemyplatform/skills` with `[ecosystem/opensea]` in the title.
© opensea · MIT · alchemyplatform/skills