Magic Eden EVM API

Endpoints related to Ethereum, Polygon and Base blockchain

OpenAPI Specification

magiceden-evm-api-openapi.yml Raw ↑
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