Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Query OpenSea NFT marketplace data via official MCP server. Get floor prices, trending collections, token prices, wallet balances, swap quotes, and NFT holdings. Supports Ethereum, Base, Polygon, Solana, and other major chains. Requires OpenSea developer account for MCP token.
Query OpenSea NFT marketplace data via official MCP server. Get floor prices, trending collections, token prices, wallet balances, swap quotes, and NFT holdings. Supports Ethereum, Base, Polygon, Solana, and other major chains. Requires OpenSea developer account for MCP token.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Query NFT data, trade on the Seaport marketplace, and swap ERC20 tokens across Ethereum, Base, Arbitrum, Optimism, Polygon, and more.
Set OPENSEA_API_KEY in your environment Run helper scripts in scripts/ for common operations Use the MCP server for token swaps and advanced queries export OPENSEA_API_KEY="your-api-key" # Token swap: ETH to token ./scripts/opensea-swap.sh 0xTokenAddress 0.1 0xYourWallet 0xYourKey base # Token swap: Token to token (specify from_token as last arg) ./scripts/opensea-swap.sh 0xToToken 100 0xYourWallet 0xYourKey base 0xFromToken # Get collection info ./scripts/opensea-collection.sh boredapeyachtclub # Get NFT details ./scripts/opensea-nft.sh ethereum 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d 1234 # Get best listing price for an NFT ./scripts/opensea-best-listing.sh boredapeyachtclub 1234
OpenSea's API includes a cross-chain DEX aggregator for swapping ERC20 tokens with optimal routing across all supported chains. TaskTool/ScriptGet swap quote with calldataget_token_swap_quote (MCP) or opensea-swap.shCheck token balancesget_token_balances (MCP)Search tokenssearch_tokens (MCP)Get trending tokensget_trending_tokens (MCP)Get top tokens by volumeget_top_tokens (MCP)
TaskScriptGet collection detailsopensea-collection.sh <slug>Get collection statsopensea-collection-stats.sh <slug>List NFTs in collectionopensea-collection-nfts.sh <slug> [limit] [next]Get single NFTopensea-nft.sh <chain> <contract> <token_id>List NFTs by walletopensea-account-nfts.sh <chain> <address> [limit]
TaskScriptGet best listing for NFTopensea-best-listing.sh <slug> <token_id>Get best offer for NFTopensea-best-offer.sh <slug> <token_id>List all collection listingsopensea-listings-collection.sh <slug> [limit]List all collection offersopensea-offers-collection.sh <slug> [limit]Get listings for specific NFTopensea-listings-nft.sh <chain> <contract> <token_id>Get offers for specific NFTopensea-offers-nft.sh <chain> <contract> <token_id>Get order by hashopensea-order.sh <chain> <order_hash>
TaskScriptGet 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 requestopensea-post.sh <path> <json_body>
TaskScriptGet collection eventsopensea-events-collection.sh <slug> [event_type] [limit]Stream real-time eventsopensea-stream-collection.sh <slug> (requires websocat)
TaskScriptAny GET endpointopensea-get.sh <path> [query]Any POST endpointopensea-post.sh <path> <json_body>
Find the NFT and check its listing: ./scripts/opensea-best-listing.sh cool-cats-nft 1234 Get the order hash from the response, then get fulfillment data: ./scripts/opensea-fulfill-listing.sh ethereum 0x_order_hash 0x_your_wallet The response contains transaction data to execute on-chain
Check offers on your NFT: ./scripts/opensea-best-offer.sh cool-cats-nft 1234 Get fulfillment data for the offer: ./scripts/opensea-fulfill-offer.sh ethereum 0x_offer_hash 0x_your_wallet 0x_nft_contract 1234 Execute the returned transaction data
Creating new listings and offers requires wallet signatures. Use opensea-post.sh with the Seaport order structure - see references/marketplace-api.md for full details.
ScriptPurposeopensea-get.shGeneric GET (path + optional query)opensea-post.shGeneric POST (path + JSON body)opensea-collection.shFetch collection by slugopensea-collection-stats.shFetch collection statisticsopensea-collection-nfts.shList NFTs in collectionopensea-nft.shFetch single NFT by chain/contract/tokenopensea-account-nfts.shList NFTs owned by wallet
ScriptPurposeopensea-listings-collection.shAll listings for collectionopensea-listings-nft.shListings for specific NFTopensea-offers-collection.shAll offers for collectionopensea-offers-nft.shOffers for specific NFTopensea-best-listing.shLowest listing for NFTopensea-best-offer.shHighest offer for NFTopensea-order.shGet order by hashopensea-fulfill-listing.shGet buy transaction dataopensea-fulfill-offer.shGet sell transaction data
ScriptPurposeopensea-swap.shSwap tokens via OpenSea MCP
ScriptPurposeopensea-events-collection.shCollection event historyopensea-stream-collection.shReal-time WebSocket events
ethereum, matic, arbitrum, optimism, base, avalanche, klaytn, zora, blast, sepolia
references/rest-api.md - REST endpoint families and pagination references/marketplace-api.md - Buy/sell workflows and Seaport details references/stream-api.md - WebSocket event streaming references/seaport.md - Seaport protocol and NFT purchase execution references/token-swaps.md - Token swap workflows via MCP
An official OpenSea MCP server provides direct LLM integration for token swaps and NFT operations. When enabled, Claude can execute swaps, query token data, and interact with NFT marketplaces directly. Setup: Go to the OpenSea Developer Portal and verify your email Generate a new API key for REST API access Generate a separate MCP token for the MCP server Add to your MCP config: { "mcpServers": { "opensea": { "url": "https://mcp.opensea.io/mcp", "headers": { "Authorization": "Bearer YOUR_MCP_TOKEN" } } } } Or use the inline token format: https://mcp.opensea.io/YOUR_MCP_TOKEN/mcp
MCP ToolPurposeget_token_swap_quoteGet swap calldata for token tradesget_token_balancesCheck wallet token holdingssearch_tokensFind tokens by name/symbolget_trending_tokensHot tokens by momentumget_top_tokensTop tokens by 24h volumeget_tokensGet detailed token info
MCP ToolPurposesearch_collectionsSearch NFT collectionssearch_itemsSearch individual NFTsget_collectionsGet detailed collection infoget_itemsGet detailed NFT infoget_nft_balancesList NFTs owned by walletget_trending_collectionsTrending NFT collectionsget_top_collectionsTop collections by volumeget_activityTrading activity for collections/itemsget_upcoming_dropsUpcoming NFT mints
MCP ToolPurposeget_profileWallet profile with holdings/activityaccount_lookupResolve ENS/address/usernameget_chainsList supported chainssearchAI-powered natural language searchfetchGet full details by entity ID
OpenSea MCP supports ERC20 token swaps across supported DEXes - not just NFTs!
mcporter call opensea.get_token_swap_quote --args '{ "fromContractAddress": "0x0000000000000000000000000000000000000000", "fromChain": "base", "toContractAddress": "0xb695559b26bb2c9703ef1935c37aeae9526bab07", "toChain": "base", "fromQuantity": "0.02", "address": "0xYourWalletAddress" }' Parameters: fromContractAddress: Token to swap from (use 0x0000...0000 for native ETH) toContractAddress: Token to swap to fromChain / toChain: Chain identifiers fromQuantity: Amount in human-readable units (e.g., "0.02" for 0.02 ETH) address: Your wallet address Response includes: swapQuote: Price info, fees, slippage impact swap.actions[0].transactionSubmissionData: Ready-to-use calldata
import { createWalletClient, http } from 'viem'; import { privateKeyToAccount } from 'viem/accounts'; import { base } from 'viem/chains'; // Extract from swap quote response const txData = response.swap.actions[0].transactionSubmissionData; const wallet = createWalletClient({ account: privateKeyToAccount(PRIVATE_KEY), chain: base, transport: http() }); const hash = await wallet.sendTransaction({ to: txData.to, data: txData.data, value: BigInt(txData.value) });
mcporter call opensea.get_token_balances --args '{ "address": "0xYourWallet", "chains": ["base", "ethereum"] }'
To execute swaps or buy NFTs, you need an Ethereum wallet (private key + address).
import crypto from 'crypto'; import { privateKeyToAccount } from 'viem/accounts'; const privateKey = '0x' + crypto.randomBytes(32).toString('hex'); const account = privateKeyToAccount(privateKey); console.log('Private Key:', privateKey); console.log('Address:', account.address);
# Generate private key PRIVATE_KEY="0x$(openssl rand -hex 32)" echo "Private Key: $PRIVATE_KEY" # Derive address (requires node + viem) node --input-type=module -e " import { privateKeyToAccount } from 'viem/accounts'; console.log('Address:', privateKeyToAccount('$PRIVATE_KEY').address); "
cast wallet new Important: Store private keys securely. Never commit them to git or share publicly.
OPENSEA_API_KEY environment variable (for REST API scripts) OPENSEA_MCP_TOKEN environment variable (for MCP server, separate from API key) curl for REST calls websocat (optional) for Stream API jq (recommended) for parsing JSON responses Get both credentials at opensea.io/settings/developer.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.