Magic Eden EVM API
Endpoints related to Ethereum, Polygon and Base blockchain
Endpoints related to Ethereum, Polygon and Base blockchain
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/magic-eden-evm-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: NFTTOOLS API DOCS FOR MAGIC EDEN 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