Magic Eden EVM API
Endpoints related to Ethereum, Polygon and Base blockchain
Endpoints related to Ethereum, Polygon and Base blockchain
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