openapi: 3.0.1 info: title: NFTTOOLS API DOCS FOR MAGIC EDEN Bitcoin EVM API version: 1.0.0 description: A comprehensive API for interacting with Magic Eden, providing tools to handle collections, tokens, activity, bid, list, and buy on Solana, Bitcoin, Ethereum, Base, and Polygon chains. servers: - url: https://nfttools.pro/magiceden description: Production server security: - ApiKeyAuth: [] tags: - name: EVM description: Endpoints related to Ethereum, Polygon and Base blockchain paths: /collection_stats/search/{chain}: servers: - url: https://nfttools.pro/magiceden_stats get: summary: Search Magic Eden Collection Stats on Base description: Retrieve collection statistics from Magic Eden on the Base network, with options for sorting and filtering. tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon - name: window in: query required: true schema: type: string enum: - 1d - 7d - 30d description: The time window for the stats example: 1d - name: limit in: query required: false schema: type: integer minimum: 1 description: The maximum number of results to return example: 50 - name: sort in: query required: true schema: type: string enum: - volume - floorPrice - listedCount description: The field to sort the results by example: volume - name: direction in: query required: true schema: type: string enum: - asc - desc description: The direction to sort the results example: desc - name: filter in: query required: true schema: type: string description: JSON string representing filter criteria example: '{}' responses: '200': description: Successful response '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error /v3/rtp/{chain}/order/v4: post: tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon - name: signature in: query required: true description: URI encoded signature e.g signature=${encodeURIComponent(signature) schema: type: string summary: Submit signed offer description: Submit signed offer requestBody: required: true content: application/json: schema: type: object properties: items: type: array items: type: object properties: order: type: object properties: kind: type: string example: payment-processor-v2 data: type: object properties: kind: type: string example: collection-offer-approval sellerOrBuyer: type: string example: '0xb71425024868e0c9156c3942ac115cd3b56d5559' protocol: type: integer example: 0 cosigner: type: string example: '0x32da57e736e05f75aa4fae2e9be60fd904492726' beneficiary: type: string example: '0xb71425024868e0c9156c3942ac115cd3b56d5559' marketplace: type: string example: '0xca9337244b5f04cb946391bc8b8a980e988f9a6a' fallbackRoyaltyRecipient: type: string example: '0x9ccf727dbb547d623ded5ab83c5b0e499eee5532' paymentMethod: type: string example: '0x4200000000000000000000000000000000000006' tokenAddress: type: string example: '0x00b5f2e672f6b8a176bf6ade71238b61360a29e9' amount: type: string example: '1' itemPrice: type: string example: '100000000000000' expiration: type: string example: '1722607020' marketplaceFeeNumerator: type: string example: '200' nonce: type: string example: '69005277841611552456666767078621072521642912468796321438269508217196416860176' masterNonce: type: string example: '0' r: type: string example: '0x0000000000000000000000000000000000000000000000000000000000000000' s: type: string example: '0x0000000000000000000000000000000000000000000000000000000000000000' v: type: integer example: 0 orderbook: type: string example: reservoir source: type: string example: magiceden.io responses: '200': description: Successful response content: application/json: schema: type: object properties: message: type: string example: Order processed successfully /v3/rtp/{chain}/execute/bid/v5: post: tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon summary: Submit offer description: Submit offer requestBody: required: true content: application/json: schema: type: object properties: maker: type: string example: '0xb71425024868e0c9156c3942AC115Cd3b56d5559' source: type: string example: magiceden.io params: type: array items: type: object properties: collection: type: string example: '0x00b5f2e672f6b8a176bf6ade71238b61360a29e9' currency: type: string example: '0x4200000000000000000000000000000000000006' quantity: type: integer example: 1 weiPrice: type: string example: '100000000000000' expirationTime: type: string example: '1722607020' orderKind: type: string example: payment-processor-v2 orderbook: type: string example: reservoir options: type: object properties: payment-processor-v2: type: object properties: useOffChainCancellation: type: boolean example: true automatedRoyalties: type: boolean example: true responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean example: true /v3/rtp/{chain}/execute/list/v5: post: tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon summary: Execute List requestBody: required: true content: application/json: schema: type: object properties: maker: type: string example: '0xb71425024868e0c9156c3942AC115Cd3b56d5559' source: type: string example: magiceden.io params: type: array items: type: object properties: token: type: string example: 0x9db39ac416c5ec75c2c3ae622d2013ecccc2d74a:9310 weiPrice: type: string example: '10000000000000' orderbook: type: string example: reservoir orderKind: type: string example: payment-processor-v2 quantity: type: integer example: 1 currency: type: string example: '0x0000000000000000000000000000000000000000' expirationTime: type: string example: '1722598814' automatedRoyalties: type: boolean example: true options: type: object properties: payment-processor-v2: type: object properties: useOffChainCancellation: type: boolean example: true responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean example: true /v3/rtp/{chain}/collections/0x9db39ac416c5ec75c2c3ae622d2013ecccc2d74a/marketplace-configurations/v2: get: tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon summary: Get Marketplace configuration responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean example: true /v3/rtp/{chain}/collections-sets/v1: post: tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon summary: Get Collection Set Id requestBody: required: true content: application/json: schema: type: object properties: collections: type: array items: type: string example: '0x9db39ac416c5ec75c2c3ae622d2013ecccc2d74a' responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean example: true /v3/rtp/{chain}/users/{address}/tokens/v10: get: summary: Retrieve user tokens tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon - name: address in: path required: true schema: type: string example: '0xb71425024868e0c9156c3942AC115Cd3b56d5559' - name: includeLastSale in: query required: false schema: type: boolean default: true example: true - name: excludeSpam in: query required: false schema: type: boolean default: true example: true - name: limit in: query required: false schema: type: integer default: 50 example: 50 - name: sortBy in: query required: false schema: type: string enum: - acquiredAt - price default: acquiredAt example: acquiredAt - name: sortDirection in: query required: false schema: type: string enum: - asc - desc default: desc example: desc - name: onlyListed in: query required: false schema: type: boolean default: false example: false - name: normalizeRoyalties in: query required: false schema: type: boolean default: false example: false responses: '200': description: Successful response '400': description: Invalid request '404': description: User not found '500': description: Internal server error /v3/rtp/{chain}/tokens/{token}/activity/v5: get: tags: - EVM summary: Retrieve token activity parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon - name: token in: path required: true schema: type: string example: 0x9db39ac416c5ec75c2c3ae622d2013ecccc2d74a:9310 - name: types in: query required: true schema: type: array items: type: string style: form explode: true example: - sale - ask - transfer - mint - bid - bid_cancel - ask_cancel - name: sortBy in: query required: false schema: type: string enum: - eventTimestamp default: eventTimestamp example: eventTimestamp responses: '200': description: Successful response '400': description: Invalid request '404': description: Token not found '500': description: Internal server error /v3/rtp/{chain}/orders/asks/v5: get: tags: - EVM summary: Retrieve active ask orders parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon - name: token in: header required: true schema: type: string example: 0xcb28749c24af4797808364d71d71539bc01e76d4:4865 - name: status in: header required: false schema: type: string example: active - name: sortBy in: header required: false schema: type: string example: price - name: excludeEOA in: header required: true schema: type: boolean example: false - name: limit in: header required: false schema: type: integer example: 100 - name: normalizeRoyalties in: header required: true schema: type: boolean example: false responses: '200': description: Successful response '400': description: Invalid request '401': description: Unauthorized - Token invalid or expired '500': description: Internal server error /v3/rtp/{chain}/orders/bids/v6: get: summary: Retrieve bids for a collection description: Get detailed information about active bids for a specific collection, including criteria metadata and depth. tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon - name: collection in: query required: true schema: type: string description: The address of the collection example: '0x5ca0c41a50fcfec85b91bb4ca5b024b36d9bb120' - name: sortBy in: query required: false schema: type: string enum: - price description: The field to sort the results by - name: status required: false in: query schema: type: string enum: - active description: The status of the bids to retrieve - name: excludeEOA in: query schema: type: boolean description: Whether to exclude EOA (Externally Owned Account) bids - name: includeCriteriaMetadata in: query schema: type: boolean description: Whether to include criteria metadata - name: includeDepth in: query schema: type: boolean description: Whether to include depth information - name: normalizeRoyalties in: query schema: type: boolean description: Whether to normalize royalties responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error /v3/rtp/{chain}/users/{address}/collections/v4: get: summary: Retrieve user's collections description: Get detailed information about collections owned by a specific user address. tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon - name: address in: path required: true schema: type: string description: The address of the user example: '0xb71425024868e0c9156c3942AC115Cd3b56d5559' - name: offset required: false in: query schema: type: integer minimum: 0 description: The number of items to skip before starting to collect the result set - name: limit required: false in: query schema: type: integer minimum: 1 description: The numbers of items to return - name: collection in: query schema: type: string description: The address of a specific collection to filter by example: '0x9db39ac416c5ec75c2c3ae622d2013ecccc2d74a' responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error /v3/rtp/{chain}/collections/{collectionAddress}/attributes/all/v4: get: summary: Retrieve all attributes for a collection description: Get detailed information about all attributes associated with a specific collection. tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon - name: collectionAddress in: path required: true schema: type: string description: The address of the collection example: '0x5ca0c41a50fcfec85b91bb4ca5b024b36d9bb120' responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error /v3/rtp/{chain}/collections/v7: get: summary: Retrieve collection information description: Get detailed information about specific collections, including sales count, floor price, and other metadata. tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon - name: id in: query required: true schema: type: string description: The address of the collection example: '0x5ca0c41a50fcfec85b91bb4ca5b024b36d9bb120' - name: limit required: false in: query schema: type: integer minimum: 1 description: The number of items to return - name: includeSalesCount in: query schema: type: boolean description: Whether to include the sales count - name: excludeSpam in: query schema: type: boolean description: Whether to exclude spam collections - name: displayCurrency in: query schema: type: string description: The address of the currency to display prices in example: '0x4200000000000000000000000000000000000006' - name: normalizeRoyalties in: query schema: type: boolean description: Whether to normalize royalties - name: includeQuantity in: query schema: type: boolean description: Whether to include quantity information - name: includeLastSale in: query schema: type: boolean description: Whether to include the last sale information - name: excludeBurnt in: query schema: type: boolean description: Whether to exclude burnt tokens - name: sortBy required: false in: query schema: type: string enum: - floorAskPrice description: The field to sort the results by - name: sortDirection in: query schema: type: string enum: - desc - asc description: The direction to sort the results - name: includeAttributes in: query schema: type: boolean description: Whether to include attribute information responses: '200': description: Successful response content: application/json: schema: type: object '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error /v3/rtp/{chain}/collections/activity/v6: get: summary: Fetch collection activity tags: - EVM parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon - in: query name: collection required: true schema: type: string example: '0x306b1ea3ecdf94ab739f1910bbda052ed4a9f949' description: The Ethereum collection address - in: query name: types required: true schema: type: array items: type: string enum: - sale - ask - bid - transfer - mint description: 'Types of activities to fetch. Can include multiple types (sale, ask, bid, transfer, mint). ' responses: '200': description: Successful response '400': description: Bad request content: application/json: schema: type: object properties: message: type: string example: Bad request parameters /v3/rtp/{chain}/tokens/v7: get: tags: - EVM summary: Fetch Ethereum Tokens description: Fetches Ethereum tokens from the specified collection with various filters and sorting options. parameters: - name: chain in: path required: true schema: type: string enum: - ethereum - base - polygon - name: includeQuantity in: query required: false schema: type: boolean description: Whether to include quantity. - name: includeLastSale in: query required: false schema: type: boolean description: Whether to include the last sale. - name: excludeSpam in: query required: false schema: type: boolean description: Whether to exclude spam tokens. - name: excludeBurnt in: query required: false schema: type: boolean description: Whether to exclude burnt tokens. - name: collection in: query required: true schema: type: string description: The collection contract address. - name: sortBy in: query required: false schema: type: string enum: - floorAskPrice - otherPossibleSortFields default: floorAskPrice description: The field to sort by. - name: sortDirection in: query required: false schema: type: string enum: - asc - desc default: asc description: The direction to sort the results. - name: limit in: query required: false schema: type: integer default: 50 minimum: 1 description: The number of results to return. - name: includeAttributes in: query required: false schema: type: boolean description: Whether to include attributes. - name: normalizeRoyalties in: query required: false schema: type: boolean description: Whether to normalize royalties. responses: '200': description: A list of Ethereum tokens. '400': description: Bad Request '500': description: Server Error components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-NFT-API-Key cookieAuth: type: apiKey in: header name: Cookie bearerAuth: type: http scheme: bearer bearerFormat: JWT