{ "id": "brRSLvIkYp3mLq0K", "meta": { "instanceId": "workflow-039e5e49", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:55.096545", "updatedAt": "2025-09-29T07:07:55.096560", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "name": "OpenSea Marketplace Agent Tool", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "nodes": [ { "id": "13579b30-83df-4da6-b0de-90eeaf3252e7", "name": "Marketplace Agent Brain", "type": "n8n-nodes-base.noOp", "position": [ -300, -260 ], "parameters": { "model": { "__rl": true, "mode": "list", "value": "gpt-4o-mini" }, "options": {} }, "credentials": { "openAiApi": { "id": "yUizd8t0sD5wMYVG", "name": "OpenAi account" } }, "typeVersion": 1.2, "notes": "This lmChatOpenAi node performs automated tasks as part of the workflow." }, { "id": "9f979fae-49c6-4a50-b96b-92de5a49ba14", "name": "Marketplace Agent Memory", "type": "n8n-nodes-base.noOp", "position": [ -120, -260 ], "parameters": {}, "typeVersion": 1.3, "notes": "This memoryBufferWindow node performs automated tasks as part of the workflow." }, { "id": "202ca463-f038-46df-99ea-84fbda70a933", "name": "OpenSea Marketplace Agent", "type": "n8n-nodes-base.noOp", "position": [ 420, -540 ], "parameters": { "text": "={{ $json.message }}", "options": { "systemMessage": "### **šŸ›’ OpenSea Marketplace Agent Overview**\nThis agent interacts with the OpenSea marketplace API to retrieve marketplace data, including NFT listings, offers, orders, and trait-specific data. The system follows strict input requirements to ensure compatibility with OpenSea API rules.\n\n---\n\n## **⚔ Available Tools & Usage Guidelines**\nThe OpenSea Marketplace Agent has access to the following marketplace-related tools:\n\n---\n\n### **1ļøāƒ£ Get All Listings (by Collection)**\nšŸ“ **Endpoint**: `/api/v2/listings/collection/{collection_slug}/all` \nšŸ”¹ **Description**: Retrieves all active, valid listings for a given collection. \nšŸ”¹ **Required Parameter**: \n - `collection_slug` → The unique collection identifier from OpenSea. \nšŸ”¹ **Optional Query Parameters**: \n - `limit` → Number of listings to return (1-100, default: 100). \n - `next` → Cursor for pagination. \nšŸ”¹ **Example Query**: \n - _\"Retrieve all active listings for the 'boredapeyachtclub' collection.\"_ \n\n---\n\n### **2ļøāƒ£ Get All Offers (by Collection)**\nšŸ“ **Endpoint**: `/api/v2/offers/collection/{collection_slug}/all` \nšŸ”¹ **Description**: Retrieves all valid offers for a given NFT collection, including individual and criteria-based offers. \nšŸ”¹ **Required Parameter**: \n - `collection_slug` → The unique collection identifier from OpenSea. \nšŸ”¹ **Optional Query Parameters**: \n - `limit` → Number of offers to return (1-100, default: 100). \n - `next` → Cursor for pagination. \nšŸ”¹ **Example Query**: \n - _\"Fetch all current offers for 'azuki' collection.\"_ \n\n---\n\n### **3ļøāƒ£ Get Best Listing (by NFT)** \nšŸ“ **Endpoint**: `/api/v2/listings/collection/{collection_slug}/nfts/{identifier}/best` \nšŸ”¹ **Description**: Retrieves the best (cheapest) active listing for a specific NFT. \nšŸ”¹ **Required Parameters**: \n - `collection_slug` → The collection identifier. \n - `identifier` → The NFT token ID. \nšŸ”¹ **Optional Query Parameters**: \n - `include_private_listings` → Boolean (default: `false`). \nšŸ”¹ **Example Query**: \n - _\"Find the lowest-priced listing for NFT #1234 in 'doodles' collection.\"_ \n\n---\n\n### **4ļøāƒ£ Get Best Listings (by Collection)** \nšŸ“ **Endpoint**: `/api/v2/listings/collection/{collection_slug}/best` \nšŸ”¹ **Description**: Retrieves the lowest-priced active listings for a specific collection. \nšŸ”¹ **Required Parameter**: \n - `collection_slug` → The collection identifier. \nšŸ”¹ **Optional Query Parameters**: \n - `include_private_listings` → Boolean (default: `false`). \n - `limit` → Number of listings to return (1-100, default: 100). \n - `next` → Cursor for pagination. \nšŸ”¹ **Example Query**: \n - _\"Get the 10 cheapest listings for 'mutantapeyachtclub'.\"_ \n\n---\n\n### **5ļøāƒ£ Get Best Offer (by NFT)** \nšŸ“ **Endpoint**: `/api/v2/offers/collection/{collection_slug}/nfts/{identifier}/best` \nšŸ”¹ **Description**: Retrieves the highest offer made for a specific NFT. \nšŸ”¹ **Required Parameters**: \n - `collection_slug` → The collection identifier. \n - `identifier` → The NFT token ID. \nšŸ”¹ **Example Query**: \n - _\"Find the highest offer for NFT #5678 in 'moonbirds' collection.\"_ \n\n---\n\n### **6ļøāƒ£ Get Collection Offers** \nšŸ“ **Endpoint**: `/api/v2/offers/collection/{collection_slug}` \nšŸ”¹ **Description**: Retrieves all active collection-wide offers for a specific NFT collection. \nšŸ”¹ **Required Parameter**: \n - `collection_slug` → The collection identifier. \nšŸ”¹ **Example Query**: \n - _\"List all collection offers for 'clonex'.\"_ \n\n---\n\n### **7ļøāƒ£ Get Item Offers** \nšŸ“ **Endpoint**: `/api/v2/orders/{chain}/{protocol}/offers` \nšŸ”¹ **Description**: Retrieves all valid **individual** offers (excluding criteria-based offers). \nšŸ”¹ **Required Parameters**: \n - `chain` → The blockchain network (must use an **allowed chain**, see below). \n - `protocol` → The token settlement protocol (only `\"seaport\"` is supported). \nšŸ”¹ **Optional Query Parameters**: \n - `asset_contract_address`, `cursor`, `limit`, `listed_after`, `listed_before`, `maker`, `order_by`, `order_direction`, `payment_token_address`, `taker`, `token_ids`. \nšŸ”¹ **Example Query**: \n - _\"Fetch all active item offers for NFTs on Ethereum using Seaport protocol.\"_ \n\n---\n\n### **8ļøāƒ£ Get Listings (by Chain & Protocol)** \nšŸ“ **Endpoint**: `/api/v2/orders/{chain}/{protocol}/listings` \nšŸ”¹ **Description**: Retrieves all active listings filtered by blockchain and protocol. \nšŸ”¹ **Required Parameters**: \n - `chain` → The blockchain network (**must be an allowed chain**). \n - `protocol` → `\"seaport\"` protocol. \nšŸ”¹ **Optional Query Parameters**: \n - `asset_contract_address`, `cursor`, `limit`, `listed_after`, `listed_before`, `maker`, `order_by`, `order_direction`, `payment_token_address`, `taker`, `token_ids`. \nšŸ”¹ **Example Query**: \n - _\"Retrieve all active listings for Ethereum Seaport orders.\"_ \n\n---\n\n### **9ļøāƒ£ Get Order (Single Order by Hash)** \nšŸ“ **Endpoint**: `/api/v2/orders/chain/{chain}/protocol/{protocol_address}/{order_hash}` \nšŸ”¹ **Description**: Retrieves a specific order (offer or listing) based on its hash. \nšŸ”¹ **Required Parameters**: \n - `chain` → The blockchain network (**must be an allowed chain**). \n - `protocol_address` → **Always set to** `0x0000000000000068f116a894984e2db1123eb395`. \n - `order_hash` → The hash of the order. \nšŸ”¹ **Example Query**: \n - _\"Fetch details for order `0x123abc...` on Ethereum.\"_ \n\n---\n\n### **šŸ”Ÿ Get Trait Offers** \nšŸ“ **Endpoint**: `/api/v2/offers/collection/{collection_slug}/traits` \nšŸ”¹ **Description**: Retrieves all active offers made for a specific trait in a collection. \nšŸ”¹ **Required Parameter**: \n - `collection_slug` → The collection identifier. \nšŸ”¹ **Optional Query Parameters**: \n - `float_value`, `int_value`, `type`, `value`. \nšŸ”¹ **Example Query**: \n - _\"Find all offers for 'Background: Blue' in the 'azuki' collection.\"_ \n\n---\n\n## **āš ļø Critical Notes & Restrictions**\n1. **Only Allowed Blockchains Can Be Used** \n - āœ… Supported Chains: \n - `amoy`, `ape_chain`, `ape_curtis`, `arbitrum`, `arbitrum_nova`, `arbitrum_sepolia`, `avalanche`, `avalanche_fuji`, `b3`, `b3_sepolia`, `baobab`, `base`, `base_sepolia`, `bera_chain`, `blast`, `blast_sepolia`, `ethereum`, `flow`, `flow_testnet`, `klaytn`, `matic`, `monad_testnet`, `mumbai`, `optimism`, `optimism_sepolia`, `sei_testnet`, `sepolia`, `shape`, `solana`, `soldev`, `soneium`, `soneium_minato`, `unichain`, `zora`, `zora_sepolia`. \n - āŒ **Incorrect Chain Inputs Will Cause Errors** \n - `\"polygon\"` āŒ **will fail**. Use `\"matic\"` instead.\n\n2. **Protocol Must Be `\"seaport\"` for Item & Listing Queries** \n - The `\"protocol\"` field must always be set to `\"seaport\"`.\n\n3. **Fixed Protocol Address for Get Order** \n - **For retrieving a specific order**, the `protocol_address` **must always be**: \n - `0x0000000000000068f116a894984e2db1123eb395`.\n\n---\n\n## **āœ… Example Queries**\n- _\"Fetch all best listings for Ethereum NFTs.\"_ \n- _\"Find the highest offer for a Bored Ape #456.\"_ \n- _\"Get details for a specific order hash.\"_ \n\nšŸš€ **Follow these rules to ensure successful API queries!**" }, "promptType": "define" }, "typeVersion": 1.8, "notes": "This agent node performs automated tasks as part of the workflow." }, { "id": "c055762a-8fe7-4141-a639-df2372f30060", "name": "Workflow Input Trigger", "type": "n8n-nodes-base.executeWorkflowTrigger", "position": [ -60, -540 ], "parameters": { "workflowInputs": { "values": [ { "name": "message" }, { "name": "sessionId" } ] } }, "typeVersion": 1.1, "notes": "This executeWorkflowTrigger node performs automated tasks as part of the workflow." }, { "id": "e25c62f0-1047-4fbb-815c-caeaa22d2fe1", "name": "OpenSea Get All Listings by Collection", "type": "n8n-nodes-base.noOp", "position": [ 60, -260 ], "parameters": { "url": "{{ $env.API_BASE_URL }}{collection_slug}/all", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": { "values": [ { "name": "limit", "valueProvider": "modelOptional" }, { "name": "next", "valueProvider": "modelOptional" } ] }, "toolDescription": "This tool retrieves all active, valid listings for a single NFT collection on OpenSea, allowing pagination and limit options.", "parametersHeaders": { "values": [ { "name": "Accept", "value": "application/json", "valueProvider": "fieldValue" } ] } }, "credentials": { "httpHeaderAuth": { "id": "3v99GVMGF4tKP5nM", "name": "OpenSea" } }, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow." }, { "id": "d568d5de-82e4-4be1-b9e9-9ec56ca9d872", "name": "OpenSea Get All Offers by Collection", "type": "n8n-nodes-base.noOp", "position": [ 240, -260 ], "parameters": { "url": "{{ $env.API_BASE_URL }}{collection_slug}/all", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": { "values": [ { "name": "limit", "valueProvider": "modelOptional" }, { "name": "next", "valueProvider": "modelOptional" } ] }, "toolDescription": "This tool retrieves all active, valid offers for a specified NFT collection on OpenSea, including individual and criteria offers.", "parametersHeaders": { "values": [ { "name": "Accept", "value": "application/json", "valueProvider": "fieldValue" } ] } }, "credentials": { "httpHeaderAuth": { "id": "3v99GVMGF4tKP5nM", "name": "OpenSea" } }, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow." }, { "id": "1b591b2d-787f-4519-9dfc-fc0489bc0725", "name": "OpenSea Get Best Listing by NFT", "type": "n8n-nodes-base.noOp", "position": [ 440, -260 ], "parameters": { "url": "{{ $env.API_BASE_URL }}{collection_slug}/nfts/{identifier}/best", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": { "values": [ { "name": "include_private_listings", "valueProvider": "modelOptional" } ] }, "toolDescription": "This tool retrieves the best available listing for a specific NFT from OpenSea.", "parametersHeaders": { "values": [ { "name": "Accept", "value": "application/json", "valueProvider": "fieldValue" } ] } }, "credentials": { "httpHeaderAuth": { "id": "3v99GVMGF4tKP5nM", "name": "OpenSea" } }, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow." }, { "id": "33222cfb-17c7-4507-8d09-fa0a7ba1beae", "name": "OpenSea Get Best Listings by Collection", "type": "n8n-nodes-base.noOp", "position": [ 640, -260 ], "parameters": { "url": "{{ $env.API_BASE_URL }}{collection_slug}/best", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": { "values": [ { "name": "include_private_listings", "valueProvider": "modelOptional" }, { "name": "limit", "valueProvider": "modelOptional" }, { "name": "next", "valueProvider": "modelOptional" } ] }, "toolDescription": "This tool retrieves the cheapest active and valid listings for a specific NFT collection on OpenSea.", "parametersHeaders": { "values": [ { "name": "Accept", "value": "application/json", "valueProvider": "fieldValue" } ] } }, "credentials": { "httpHeaderAuth": { "id": "3v99GVMGF4tKP5nM", "name": "OpenSea" } }, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow." }, { "id": "7fd0ddd6-96eb-487d-b7a2-b8fcb29b4e22", "name": "OpenSea Get Best Offer by NFT", "type": "n8n-nodes-base.noOp", "position": [ 860, -260 ], "parameters": { "url": "{{ $env.API_BASE_URL }}{collection_slug}/nfts/{identifier}/best", "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "toolDescription": "This tool retrieves the best offers for a specific NFT on OpenSea.", "parametersHeaders": { "values": [ { "name": "Accept", "value": "application/json", "valueProvider": "fieldValue" } ] } }, "credentials": { "httpHeaderAuth": { "id": "3v99GVMGF4tKP5nM", "name": "OpenSea" } }, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow." }, { "id": "7047b8bc-ea5e-4b9b-9230-0fc46c46c58f", "name": "OpenSea Get Collection Offers", "type": "n8n-nodes-base.noOp", "position": [ 1080, -260 ], "parameters": { "url": "{{ $env.API_BASE_URL }}{collection_slug}", "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "toolDescription": "This tool retrieves the active, valid collection offers for a specified NFT collection on OpenSea.", "parametersHeaders": { "values": [ { "name": "Accept", "value": "application/json", "valueProvider": "fieldValue" } ] } }, "credentials": { "httpHeaderAuth": { "id": "3v99GVMGF4tKP5nM", "name": "OpenSea" } }, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow." }, { "id": "cab63cc4-96b4-4e14-8eb7-9fca08791040", "name": "OpenSea Get Item Offers", "type": "n8n-nodes-base.noOp", "position": [ 1300, -260 ], "parameters": { "url": "{{ $env.API_BASE_URL }}{chain}/{protocol}/offers", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": { "values": [ { "name": "asset_contract_address", "valueProvider": "modelOptional" }, { "name": "cursor", "valueProvider": "modelOptional" }, { "name": "limit", "valueProvider": "modelOptional" }, { "name": "listed_after", "valueProvider": "modelOptional" }, { "name": "listed_before", "valueProvider": "modelOptional" }, { "name": "maker", "valueProvider": "modelOptional" }, { "name": "order_by", "valueProvider": "modelOptional" }, { "name": "order_direction", "valueProvider": "modelOptional" }, { "name": "payment_token_address", "valueProvider": "modelOptional" }, { "name": "taker", "valueProvider": "modelOptional" }, { "name": "token_ids", "valueProvider": "modelOptional" } ] }, "toolDescription": "This tool retrieves active, valid individual offers for NFTs on OpenSea. It does not include criteria offers.", "parametersHeaders": { "values": [ { "name": "Accept", "value": "application/json", "valueProvider": "fieldValue" } ] } }, "credentials": { "httpHeaderAuth": { "id": "3v99GVMGF4tKP5nM", "name": "OpenSea" } }, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow." }, { "id": "63760966-bbec-466d-83dc-a52b235df43a", "name": "OpenSea Get Listings", "type": "n8n-nodes-base.noOp", "position": [ 1500, -260 ], "parameters": { "url": "{{ $env.API_BASE_URL }}{chain}/{protocol}/listings", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": { "values": [ { "name": "asset_contract_address", "valueProvider": "modelOptional" }, { "name": "cursor", "valueProvider": "modelOptional" }, { "name": "limit", "valueProvider": "modelOptional" }, { "name": "listed_after", "valueProvider": "modelOptional" }, { "name": "listed_before", "valueProvider": "modelOptional" }, { "name": "maker", "valueProvider": "modelOptional" }, { "name": "order_by", "valueProvider": "modelOptional" }, { "name": "order_direction", "valueProvider": "modelOptional" }, { "name": "payment_token_address", "valueProvider": "modelOptional" }, { "name": "taker", "valueProvider": "modelOptional" }, { "name": "token_ids", "valueProvider": "modelOptional" } ] }, "toolDescription": "This tool retrieves the complete set of active, valid listings for NFTs on OpenSea.", "parametersHeaders": { "values": [ { "name": "Accept", "value": "application/json", "valueProvider": "fieldValue" } ] } }, "credentials": { "httpHeaderAuth": { "id": "3v99GVMGF4tKP5nM", "name": "OpenSea" } }, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow." }, { "id": "d0365a8a-dfd4-4a86-88cf-4e8ccbdf6c36", "name": "OpenSea Get Trait Offers", "type": "n8n-nodes-base.noOp", "position": [ 1900, -260 ], "parameters": { "url": "{{ $env.API_BASE_URL }}{collection_slug}/traits", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": { "values": [ { "name": "float_value", "valueProvider": "modelOptional" }, { "name": "int_value", "valueProvider": "modelOptional" }, { "name": "type", "valueProvider": "modelOptional" }, { "name": "value", "valueProvider": "modelOptional" } ] }, "toolDescription": "This tool retrieves the active, valid trait offers for a specified collection on OpenSea.", "parametersHeaders": { "values": [ { "name": "Accept", "value": "application/json", "valueProvider": "fieldValue" } ] } }, "credentials": { "httpHeaderAuth": { "id": "3v99GVMGF4tKP5nM", "name": "OpenSea" } }, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow." }, { "id": "148a00a5-d8f4-4708-9afd-b1111f7d71bd", "name": "OpenSea Get Order", "type": "n8n-nodes-base.noOp", "position": [ 1700, -260 ], "parameters": { "url": "{{ $env.API_BASE_URL }}{chain}/protocol/0x0000000000000068f116a894984e2db1123eb395/{order_hash}", "sendQuery": true, "sendHeaders": true, "authentication": "{{ $credentials.genericCredentialType }}", "genericAuthType": "httpHeaderAuth", "parametersQuery": { "values": [ { "name": "chain" }, { "name": "order_hash" } ] }, "toolDescription": "This tool retrieves a single order (offer or listing) from OpenSea using its order hash. Protocol and Chain are required to prevent hash collisions. The protocol address is always set to 0x0000000000000068f116a894984e2db1123eb395.", "parametersHeaders": { "values": [ { "name": "Accept", "value": "application/json", "valueProvider": "fieldValue" } ] } }, "credentials": { "httpHeaderAuth": { "id": "3v99GVMGF4tKP5nM", "name": "OpenSea" } }, "typeVersion": 1.1, "notes": "This toolHttpRequest node performs automated tasks as part of the workflow." }, { "id": "2b616d18-f719-42dd-a616-d91ae11be009", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -2080, -1840 ], "parameters": { "color": 2, "width": 1380, "height": 1860, "content": "# OpenSea Marketplace Agent Tool (n8n Workflow) Guide\n\n## šŸš€ Workflow Overview\nThe **OpenSea Marketplace Agent Tool** is an **AI-driven marketplace analytics system** for **NFT trading insights**. This tool integrates with **OpenSea's API** to fetch and analyze **NFT listings, offers, orders, and trait-specific data**, helping traders and collectors make informed decisions.\n\n### šŸŽÆ **Key Features**:\n- Retrieve **active NFT listings** for a collection.\n- Fetch **valid offers** for individual NFTs or entire collections.\n- Find the **cheapest available NFT listings** by collection or NFT.\n- Track **the highest offer** made for an NFT or collection-wide offers.\n- Access **detailed order data** based on order hash.\n- Ensure **API query compliance** to prevent errors.\n\n---\n\n## šŸ”— **Nodes & Functions**\n### **1ļøāƒ£ Marketplace Agent Brain**\n- **Type**: AI Language Model (GPT-4o Mini)\n- **Purpose**: Processes marketplace-related API requests and user queries.\n\n### **2ļøāƒ£ Marketplace Agent Memory**\n- **Type**: AI Memory Buffer\n- **Purpose**: Stores session data to maintain context across multiple queries.\n\n### **3ļøāƒ£ OpenSea Get All Listings by Collection**\n- **Type**: API Request\n- **Endpoint**: `/api/v2/listings/collection/{collection_slug}/all`\n- **Function**: Retrieves all active listings for a given collection.\n\n### **4ļøāƒ£ OpenSea Get All Offers by Collection**\n- **Type**: API Request\n- **Endpoint**: `/api/v2/offers/collection/{collection_slug}/all`\n- **Function**: Fetches all active offers made for NFTs in a collection.\n\n### **5ļøāƒ£ OpenSea Get Best Listing by NFT**\n- **Type**: API Request\n- **Endpoint**: `/api/v2/listings/collection/{collection_slug}/nfts/{identifier}/best`\n- **Function**: Retrieves the **lowest-priced** active listing for a specific NFT.\n\n### **6ļøāƒ£ OpenSea Get Best Listings by Collection**\n- **Type**: API Request\n- **Endpoint**: `/api/v2/listings/collection/{collection_slug}/best`\n- **Function**: Fetches the **cheapest listings** for a given NFT collection.\n\n### **7ļøāƒ£ OpenSea Get Best Offer by NFT**\n- **Type**: API Request\n- **Endpoint**: `/api/v2/offers/collection/{collection_slug}/nfts/{identifier}/best`\n- **Function**: Retrieves the **highest offer** made for a specific NFT.\n\n### **8ļøāƒ£ OpenSea Get Collection Offers**\n- **Type**: API Request\n- **Endpoint**: `/api/v2/offers/collection/{collection_slug}`\n- **Function**: Retrieves all **active collection-wide offers**.\n\n### **9ļøāƒ£ OpenSea Get Item Offers**\n- **Type**: API Request\n- **Endpoint**: `/api/v2/orders/{chain}/{protocol}/offers`\n- **Function**: Fetches **individual active offers** (excluding criteria-based offers).\n\n### **šŸ”Ÿ OpenSea Get Listings by Chain & Protocol**\n- **Type**: API Request\n- **Endpoint**: `/api/v2/orders/{chain}/{protocol}/listings`\n- **Function**: Retrieves all active **listings filtered by blockchain and protocol**.\n\n### **11ļøāƒ£ OpenSea Get Order by Hash**\n- **Type**: API Request\n- **Endpoint**: `/api/v2/orders/chain/{chain}/protocol/0x0000000000000068f116a894984e2db1123eb395/{order_hash}`\n- **Function**: Fetches **a specific order (listing or offer)** based on its order hash.\n\n### **12ļøāƒ£ OpenSea Get Trait Offers**\n- **Type**: API Request\n- **Endpoint**: `/api/v2/offers/collection/{collection_slug}/traits`\n- **Function**: Retrieves **active offers** for specific traits in a collection.\n\n---\n\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "f483a29b-626d-4c15-84a9-ac9937aea302", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ -600, -1840 ], "parameters": { "color": 5, "width": 1500, "height": 1080, "content": "\n## šŸ“Œ **How to Use the Workflow**\n\n### āœ… **Step 1: Input Data**\n- Provide required parameters such as `collection_slug`, `identifier`, `chain`, `protocol`, or `order_hash`.\n\n### āœ… **Step 2: Execute API Calls**\n- The system processes requests and fetches NFT marketplace data.\n\n### āœ… **Step 3: Analyze & Output Results**\n- Results can be integrated into dashboards, alerts, or Telegram notifications.\n\n---\n\n## āš ļø **Common API Queries & Examples**\n\n### **1ļøāƒ£ Get All Listings for a Collection**\n```plaintext\nGET {{ $env.API_BASE_URL }}\n```\n\n### **2ļøāƒ£ Get All Offers for a Collection**\n```plaintext\nGET {{ $env.API_BASE_URL }}\n```\n\n### **3ļøāƒ£ Get Best Listing for an NFT**\n```plaintext\nGET {{ $env.API_BASE_URL }}\n```\n\n### **4ļøāƒ£ Get Best Offer for an NFT**\n```plaintext\nGET {{ $env.API_BASE_URL }}\n```\n\n### **5ļøāƒ£ Get Order Details by Order Hash**\n```plaintext\nGET {{ $env.API_BASE_URL }}\n```\n\n---\n\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "6c111fd9-0076-438e-8516-3a0e03e63510", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ 1040, -1840 ], "parameters": { "color": 3, "width": 1060, "height": 520, "content": "## ⚔ **Error Handling & Troubleshooting**\n| **Error Code** | **Description** |\n|--------------|----------------|\n| `200` | Success |\n| `400` | Bad Request (Invalid input) |\n| `404` | Not Found (Incorrect slug, address, or identifier) |\n| `500` | Server Error (OpenSea API issue) |\n\n### šŸ”¹ **Fixing Common Errors**\n- Ensure correct **collection slug** and **NFT identifier**.\n- Always use `\"matic\"` instead of `\"polygon\"` for chain input.\n- Verify that the **protocol is set to `\"seaport\"`** where required.\n- **Order hash queries require the fixed protocol address:** `0x0000000000000068f116a894984e2db1123eb395`.\n- Retry after some time if the OpenSea API is experiencing downtime.\n\n---\n\n## šŸš€ **Connect with Me for Support**\nIf you need assistance, custom OpenSea marketplace insights, or automation support, feel free to connect with me on LinkedIn:\n\n🌐 **Don Jayamaha – LinkedIn** \nšŸ”— [{{ $env.WEBHOOK_URL }}]({{ $env.WEBHOOK_URL }}\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." } ], "active": false, "pinData": {}, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "versionId": "f82ae6e7-43e0-4c9d-ae7e-0ddacc93a92a", "connections": { "e25c62f0-1047-4fbb-815c-caeaa22d2fe1": { "main": [ [ { "node": "error-handler-e25c62f0-1047-4fbb-815c-caeaa22d2fe1", "type": "main", "index": 0 } ], [ { "node": "error-handler-e25c62f0-1047-4fbb-815c-caeaa22d2fe1-e5138c8b", "type": "main", "index": 0 } ], [ { "node": "error-handler-e25c62f0-1047-4fbb-815c-caeaa22d2fe1-1409d05c", "type": "main", "index": 0 } ], [ { "node": "error-handler-e25c62f0-1047-4fbb-815c-caeaa22d2fe1-f4621abe", "type": "main", "index": 0 } ], [ { "node": "error-handler-e25c62f0-1047-4fbb-815c-caeaa22d2fe1-950a9090", "type": "main", "index": 0 } ], [ { "node": "error-handler-e25c62f0-1047-4fbb-815c-caeaa22d2fe1-f5e7e1a3", "type": "main", "index": 0 } ], [ { "node": "error-handler-e25c62f0-1047-4fbb-815c-caeaa22d2fe1-25a76df3", "type": "main", "index": 0 } ], [ { "node": "error-handler-e25c62f0-1047-4fbb-815c-caeaa22d2fe1-b46688a0", "type": "main", "index": 0 } ], [ { "node": "error-handler-e25c62f0-1047-4fbb-815c-caeaa22d2fe1-d5c755a2", "type": "main", "index": 0 } ] ] }, "d568d5de-82e4-4be1-b9e9-9ec56ca9d872": { "main": [ [ { "node": "error-handler-d568d5de-82e4-4be1-b9e9-9ec56ca9d872", "type": "main", "index": 0 } ], [ { "node": "error-handler-d568d5de-82e4-4be1-b9e9-9ec56ca9d872-77f66165", "type": "main", "index": 0 } ], [ { "node": "error-handler-d568d5de-82e4-4be1-b9e9-9ec56ca9d872-270db9a0", "type": "main", "index": 0 } ], [ { "node": "error-handler-d568d5de-82e4-4be1-b9e9-9ec56ca9d872-2a1de757", "type": "main", "index": 0 } ], [ { "node": "error-handler-d568d5de-82e4-4be1-b9e9-9ec56ca9d872-ca75802e", "type": "main", "index": 0 } ], [ { "node": "error-handler-d568d5de-82e4-4be1-b9e9-9ec56ca9d872-336d9e58", "type": "main", "index": 0 } ], [ { "node": "error-handler-d568d5de-82e4-4be1-b9e9-9ec56ca9d872-6cd96c86", "type": "main", "index": 0 } ], [ { "node": "error-handler-d568d5de-82e4-4be1-b9e9-9ec56ca9d872-7db51ad5", "type": "main", "index": 0 } ], [ { "node": "error-handler-d568d5de-82e4-4be1-b9e9-9ec56ca9d872-c3b53d3e", "type": "main", "index": 0 } ] ] }, "1b591b2d-787f-4519-9dfc-fc0489bc0725": { "main": [ [ { "node": "error-handler-1b591b2d-787f-4519-9dfc-fc0489bc0725", "type": "main", "index": 0 } ], [ { "node": "error-handler-1b591b2d-787f-4519-9dfc-fc0489bc0725-385ae3ed", "type": "main", "index": 0 } ], [ { "node": "error-handler-1b591b2d-787f-4519-9dfc-fc0489bc0725-aa44e113", "type": "main", "index": 0 } ], [ { "node": "error-handler-1b591b2d-787f-4519-9dfc-fc0489bc0725-bb7de1f3", "type": "main", "index": 0 } ], [ { "node": "error-handler-1b591b2d-787f-4519-9dfc-fc0489bc0725-dd248e18", "type": "main", "index": 0 } ], [ { "node": "error-handler-1b591b2d-787f-4519-9dfc-fc0489bc0725-f1c63344", "type": "main", "index": 0 } ], [ { "node": "error-handler-1b591b2d-787f-4519-9dfc-fc0489bc0725-fe44a041", "type": "main", "index": 0 } ], [ { "node": "error-handler-1b591b2d-787f-4519-9dfc-fc0489bc0725-99025184", "type": "main", "index": 0 } ], [ { "node": "error-handler-1b591b2d-787f-4519-9dfc-fc0489bc0725-b5ab0e24", "type": "main", "index": 0 } ] ] }, "33222cfb-17c7-4507-8d09-fa0a7ba1beae": { "main": [ [ { "node": "error-handler-33222cfb-17c7-4507-8d09-fa0a7ba1beae", "type": "main", "index": 0 } ], [ { "node": "error-handler-33222cfb-17c7-4507-8d09-fa0a7ba1beae-b8e6ecb3", "type": "main", "index": 0 } ], [ { "node": "error-handler-33222cfb-17c7-4507-8d09-fa0a7ba1beae-9c99e83c", "type": "main", "index": 0 } ], [ { "node": "error-handler-33222cfb-17c7-4507-8d09-fa0a7ba1beae-135939eb", "type": "main", "index": 0 } ], [ { "node": "error-handler-33222cfb-17c7-4507-8d09-fa0a7ba1beae-f8002940", "type": "main", "index": 0 } ], [ { "node": "error-handler-33222cfb-17c7-4507-8d09-fa0a7ba1beae-fe8572cf", "type": "main", "index": 0 } ], [ { "node": "error-handler-33222cfb-17c7-4507-8d09-fa0a7ba1beae-2107aa19", "type": "main", "index": 0 } ], [ { "node": "error-handler-33222cfb-17c7-4507-8d09-fa0a7ba1beae-42776450", "type": "main", "index": 0 } ], [ { "node": "error-handler-33222cfb-17c7-4507-8d09-fa0a7ba1beae-e744c1a1", "type": "main", "index": 0 } ] ] }, "7fd0ddd6-96eb-487d-b7a2-b8fcb29b4e22": { "main": [ [ { "node": "error-handler-7fd0ddd6-96eb-487d-b7a2-b8fcb29b4e22", "type": "main", "index": 0 } ], [ { "node": "error-handler-7fd0ddd6-96eb-487d-b7a2-b8fcb29b4e22-d4b6c978", "type": "main", "index": 0 } ], [ { "node": "error-handler-7fd0ddd6-96eb-487d-b7a2-b8fcb29b4e22-602a65c8", "type": "main", "index": 0 } ], [ { "node": "error-handler-7fd0ddd6-96eb-487d-b7a2-b8fcb29b4e22-cbeb4a8e", "type": "main", "index": 0 } ], [ { "node": "error-handler-7fd0ddd6-96eb-487d-b7a2-b8fcb29b4e22-44919e33", "type": "main", "index": 0 } ], [ { "node": "error-handler-7fd0ddd6-96eb-487d-b7a2-b8fcb29b4e22-b51dfd93", "type": "main", "index": 0 } ], [ { "node": "error-handler-7fd0ddd6-96eb-487d-b7a2-b8fcb29b4e22-9a5c1532", "type": "main", "index": 0 } ], [ { "node": "error-handler-7fd0ddd6-96eb-487d-b7a2-b8fcb29b4e22-94fc88d5", "type": "main", "index": 0 } ], [ { "node": "error-handler-7fd0ddd6-96eb-487d-b7a2-b8fcb29b4e22-f5aa49c5", "type": "main", "index": 0 } ] ] }, "7047b8bc-ea5e-4b9b-9230-0fc46c46c58f": { "main": [ [ { "node": "error-handler-7047b8bc-ea5e-4b9b-9230-0fc46c46c58f", "type": "main", "index": 0 } ], [ { "node": "error-handler-7047b8bc-ea5e-4b9b-9230-0fc46c46c58f-2410e8b8", "type": "main", "index": 0 } ], [ { "node": "error-handler-7047b8bc-ea5e-4b9b-9230-0fc46c46c58f-c7467835", "type": "main", "index": 0 } ], [ { "node": "error-handler-7047b8bc-ea5e-4b9b-9230-0fc46c46c58f-2e7fa91f", "type": "main", "index": 0 } ], [ { "node": "error-handler-7047b8bc-ea5e-4b9b-9230-0fc46c46c58f-642d2a1b", "type": "main", "index": 0 } ], [ { "node": "error-handler-7047b8bc-ea5e-4b9b-9230-0fc46c46c58f-1ce95970", "type": "main", "index": 0 } ], [ { "node": "error-handler-7047b8bc-ea5e-4b9b-9230-0fc46c46c58f-c4dfccc4", "type": "main", "index": 0 } ], [ { "node": "error-handler-7047b8bc-ea5e-4b9b-9230-0fc46c46c58f-20ec6d88", "type": "main", "index": 0 } ], [ { "node": "error-handler-7047b8bc-ea5e-4b9b-9230-0fc46c46c58f-4006e3de", "type": "main", "index": 0 } ] ] }, "cab63cc4-96b4-4e14-8eb7-9fca08791040": { "main": [ [ { "node": "error-handler-cab63cc4-96b4-4e14-8eb7-9fca08791040", "type": "main", "index": 0 } ], [ { "node": "error-handler-cab63cc4-96b4-4e14-8eb7-9fca08791040-6be65b58", "type": "main", "index": 0 } ], [ { "node": "error-handler-cab63cc4-96b4-4e14-8eb7-9fca08791040-49ae86ac", "type": "main", "index": 0 } ], [ { "node": "error-handler-cab63cc4-96b4-4e14-8eb7-9fca08791040-b3d7c2de", "type": "main", "index": 0 } ], [ { "node": "error-handler-cab63cc4-96b4-4e14-8eb7-9fca08791040-9d1f7201", "type": "main", "index": 0 } ], [ { "node": "error-handler-cab63cc4-96b4-4e14-8eb7-9fca08791040-05a34a65", "type": "main", "index": 0 } ], [ { "node": "error-handler-cab63cc4-96b4-4e14-8eb7-9fca08791040-afe88c2e", "type": "main", "index": 0 } ], [ { "node": "error-handler-cab63cc4-96b4-4e14-8eb7-9fca08791040-c0d6db20", "type": "main", "index": 0 } ], [ { "node": "error-handler-cab63cc4-96b4-4e14-8eb7-9fca08791040-cc1723df", "type": "main", "index": 0 } ] ] }, "63760966-bbec-466d-83dc-a52b235df43a": { "main": [ [ { "node": "error-handler-63760966-bbec-466d-83dc-a52b235df43a", "type": "main", "index": 0 } ], [ { "node": "error-handler-63760966-bbec-466d-83dc-a52b235df43a-54998cd9", "type": "main", "index": 0 } ], [ { "node": "error-handler-63760966-bbec-466d-83dc-a52b235df43a-215bed77", "type": "main", "index": 0 } ], [ { "node": "error-handler-63760966-bbec-466d-83dc-a52b235df43a-a547008a", "type": "main", "index": 0 } ], [ { "node": "error-handler-63760966-bbec-466d-83dc-a52b235df43a-914c2199", "type": "main", "index": 0 } ], [ { "node": "error-handler-63760966-bbec-466d-83dc-a52b235df43a-68175224", "type": "main", "index": 0 } ], [ { "node": "error-handler-63760966-bbec-466d-83dc-a52b235df43a-e108d08b", "type": "main", "index": 0 } ], [ { "node": "error-handler-63760966-bbec-466d-83dc-a52b235df43a-d7a336de", "type": "main", "index": 0 } ], [ { "node": "error-handler-63760966-bbec-466d-83dc-a52b235df43a-f9d0f424", "type": "main", "index": 0 } ] ] }, "d0365a8a-dfd4-4a86-88cf-4e8ccbdf6c36": { "main": [ [ { "node": "error-handler-d0365a8a-dfd4-4a86-88cf-4e8ccbdf6c36", "type": "main", "index": 0 } ], [ { "node": "error-handler-d0365a8a-dfd4-4a86-88cf-4e8ccbdf6c36-056f2f63", "type": "main", "index": 0 } ], [ { "node": "error-handler-d0365a8a-dfd4-4a86-88cf-4e8ccbdf6c36-ba1e200d", "type": "main", "index": 0 } ], [ { "node": "error-handler-d0365a8a-dfd4-4a86-88cf-4e8ccbdf6c36-87b9eef5", "type": "main", "index": 0 } ], [ { "node": "error-handler-d0365a8a-dfd4-4a86-88cf-4e8ccbdf6c36-83e3b872", "type": "main", "index": 0 } ], [ { "node": "error-handler-d0365a8a-dfd4-4a86-88cf-4e8ccbdf6c36-b5c6ea4c", "type": "main", "index": 0 } ], [ { "node": "error-handler-d0365a8a-dfd4-4a86-88cf-4e8ccbdf6c36-42eb27d3", "type": "main", "index": 0 } ], [ { "node": "error-handler-d0365a8a-dfd4-4a86-88cf-4e8ccbdf6c36-9c2c704d", "type": "main", "index": 0 } ], [ { "node": "error-handler-d0365a8a-dfd4-4a86-88cf-4e8ccbdf6c36-64787459", "type": "main", "index": 0 } ] ] }, "148a00a5-d8f4-4708-9afd-b1111f7d71bd": { "main": [ [ { "node": "error-handler-148a00a5-d8f4-4708-9afd-b1111f7d71bd", "type": "main", "index": 0 } ], [ { "node": "error-handler-148a00a5-d8f4-4708-9afd-b1111f7d71bd-951fa6df", "type": "main", "index": 0 } ], [ { "node": "error-handler-148a00a5-d8f4-4708-9afd-b1111f7d71bd-a172c704", "type": "main", "index": 0 } ], [ { "node": "error-handler-148a00a5-d8f4-4708-9afd-b1111f7d71bd-da79ed46", "type": "main", "index": 0 } ], [ { "node": "error-handler-148a00a5-d8f4-4708-9afd-b1111f7d71bd-6b43ecd2", "type": "main", "index": 0 } ], [ { "node": "error-handler-148a00a5-d8f4-4708-9afd-b1111f7d71bd-906618b0", "type": "main", "index": 0 } ], [ { "node": "error-handler-148a00a5-d8f4-4708-9afd-b1111f7d71bd-182437c3", "type": "main", "index": 0 } ], [ { "node": "error-handler-148a00a5-d8f4-4708-9afd-b1111f7d71bd-25170df6", "type": "main", "index": 0 } ], [ { "node": "error-handler-148a00a5-d8f4-4708-9afd-b1111f7d71bd-900fee0b", "type": "main", "index": 0 } ] ] }, "13579b30-83df-4da6-b0de-90eeaf3252e7": { "main": [ [ { "node": "error-handler-13579b30-83df-4da6-b0de-90eeaf3252e7-6976e6f1", "type": "main", "index": 0 } ] ] } }, "description": "Automated workflow: OpenSea Marketplace Agent Tool. This workflow integrates 7 different services: stickyNote, toolHttpRequest, agent, stopAndError, lmChatOpenAi. It contains 38 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: OpenSea Marketplace Agent Tool. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }