# Send OpenSea to your agent
Use the source page and any available docs to guide the install because the item currently does not return a direct package file.
## Fast path
- Open the source page via Open source listing.
- If you can obtain the package, extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the source page and extracted files.
## Suggested prompts
### New install

```text
I tried to install a skill package from Yavira, but the item currently does not return a direct package file. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required.
```
### Upgrade existing

```text
I tried to upgrade a skill package from Yavira, but the item currently does not return a direct package file. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "opensea-mcp",
    "name": "OpenSea",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/dfinzer/opensea-mcp",
    "canonicalUrl": "https://clawhub.ai/dfinzer/opensea-mcp",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/opensea-mcp",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=opensea-mcp",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "scripts/opensea-account-nfts.sh",
      "scripts/opensea-order.sh",
      "scripts/opensea-listings-collection.sh",
      "scripts/opensea-get.sh",
      "scripts/opensea-best-offer.sh"
    ],
    "downloadMode": "manual_only",
    "sourceHealth": {
      "source": "tencent",
      "slug": "opensea-mcp",
      "status": "source_issue",
      "reason": "not_found",
      "recommendedAction": "review_source",
      "checkedAt": "2026-05-06T13:55:24.770Z",
      "expiresAt": "2026-05-07T13:55:24.770Z",
      "httpStatus": 404,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=opensea-mcp",
      "contentType": "text/plain",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=opensea-mcp",
        "contentDisposition": null,
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "opensea-mcp"
      },
      "scope": "item",
      "summary": "Known item issue.",
      "detail": "This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.",
      "primaryActionLabel": "Open source listing",
      "primaryActionHref": "https://clawhub.ai/dfinzer/opensea-mcp"
    },
    "validation": {
      "installChecklist": [
        "Open the source listing and confirm there is a real package or setup artifact available.",
        "Review SKILL.md before asking your agent to continue.",
        "Treat this source as manual setup until the upstream download flow is fixed."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/opensea-mcp",
    "downloadUrl": "https://openagent3.xyz/downloads/opensea-mcp",
    "agentUrl": "https://openagent3.xyz/skills/opensea-mcp/agent",
    "manifestUrl": "https://openagent3.xyz/skills/opensea-mcp/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/opensea-mcp/agent.md"
  }
}
```
## Documentation

### OpenSea API

Query NFT data, trade on the Seaport marketplace, and swap ERC20 tokens across Ethereum, Base, Arbitrum, Optimism, Polygon, and more.

### Quick start

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

### Token swaps

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)

### Reading NFT data

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]

### Marketplace queries

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>

### Marketplace actions (POST)

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>

### Events and monitoring

TaskScriptGet collection eventsopensea-events-collection.sh <slug> [event_type] [limit]Stream real-time eventsopensea-stream-collection.sh <slug> (requires websocat)

### Generic requests

TaskScriptAny GET endpointopensea-get.sh <path> [query]Any POST endpointopensea-post.sh <path> <json_body>

### Buying an NFT

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

### Selling an NFT (accepting an offer)

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 listings/offers

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.

### NFT & Collection Scripts

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

### Marketplace Scripts

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

### Token Swap Scripts

ScriptPurposeopensea-swap.shSwap tokens via OpenSea MCP

### Monitoring Scripts

ScriptPurposeopensea-events-collection.shCollection event historyopensea-stream-collection.shReal-time WebSocket events

### Supported chains

ethereum, matic, arbitrum, optimism, base, avalanche, klaytn, zora, blast, sepolia

### References

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

### OpenSea MCP Server

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

### Token Swap Tools

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

### NFT Tools

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

### Profile & Utility Tools

MCP ToolPurposeget_profileWallet profile with holdings/activityaccount_lookupResolve ENS/address/usernameget_chainsList supported chainssearchAI-powered natural language searchfetchGet full details by entity ID

### Token Swaps via MCP

OpenSea MCP supports ERC20 token swaps across supported DEXes - not just NFTs!

### Get Swap Quote

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

### Execute the Swap

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)
});

### Check Token Balances

mcporter call opensea.get_token_balances --args '{
  "address": "0xYourWallet",
  "chains": ["base", "ethereum"]
}'

### Generating a wallet

To execute swaps or buy NFTs, you need an Ethereum wallet (private key + address).

### Using Node.js

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);

### Using OpenSSL

# 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);
"

### Using cast (Foundry)

cast wallet new

Important: Store private keys securely. Never commit them to git or share publicly.

### Requirements

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.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: dfinzer
- Version: 1.0.2
## Source health
- Status: source_issue
- Known item issue.
- This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.
- Health scope: item
- Reason: not_found
- Checked at: 2026-05-06T13:55:24.770Z
- Expires at: 2026-05-07T13:55:24.770Z
- Recommended action: Open source listing
## Links
- [Detail page](https://openagent3.xyz/skills/opensea-mcp)
- [Send to Agent page](https://openagent3.xyz/skills/opensea-mcp/agent)
- [JSON manifest](https://openagent3.xyz/skills/opensea-mcp/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/opensea-mcp/agent.md)
- [Download page](https://openagent3.xyz/downloads/opensea-mcp)