Magic Eden EVM API

Reservoir-powered v4 REST API for EVM chains (Ethereum, Polygon, Base, ApeChain, Arbitrum, Berachain, BSC, SEI, Abstract) covering collections, user collections, search, NFT activity, asks (listings), bids (offers), assets, and signed-transaction instruction endpoints for bidding, listing, buying, selling, cancelling, and bulk transfers.

Magic Eden EVM API is one of 3 APIs that Magic Eden publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include REST, EVM, Reservoir, and Multi-chain. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and authentication docs.

OpenAPI Specification

magic-eden-evm-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Magic Eden EVM API
  description: Aggregated Magic Eden EVM API (v4) for Ethereum and L2 chains (Polygon, Base, ApeChain, Arbitrum, Berachain,
    BSC, SEI, Abstract). Covers collections, assets, bids, asks, listings, buy/sell, and bulk transfer instructions.
  version: v4
  termsOfService: https://magiceden.io/terms-of-service.pdf
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://api-mainnet.magiceden.dev/v4/evm-public
components:
  schemas:
    feeKindEnum:
      type: string
      enum:
      - unknown
      - maker_marketplace
      - taker_marketplace
      - royalty
      - liquidity_provider
      - marketplace
    feeAmount:
      type: object
      properties:
        kind:
          $ref: '#/components/schemas/feeKindEnum'
        recipient:
          type: string
        bps:
          type: number
        rawAmount:
          type: string
        currencyId:
          type: string
      required:
      - kind
      - recipient
      - currencyId
      - bps
      - rawAmount
    transactionInfo:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        transactionId:
          type: string
        transactionIndex:
          type: number
        blockNumber:
          type: number
        blockHash:
          type: string
        logIndex:
          type: number
        batchTransferIndex:
          type: number
      required:
      - transactionId
      - blockNumber
      - blockHash
    chainEnum:
      type: string
      enum:
      - ethereum
      - abstract
      - apechain
      - arbitrum
      - base
      - berachain
      - bsc
      - polygon
      - sei
      - avalanche
      - monad
    media:
      type: object
      properties:
        url:
          type: string
        mimeType:
          type: string
    social:
      type: object
      properties:
        twitterUsername:
          type: string
        discordUrl:
          type: string
        websiteUrl:
          type: string
    chainAsset:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        assetId:
          type: string
      required:
      - chain
      - assetId
    listingCurrency:
      type: object
      properties:
        address:
          type: string
        name:
          type: string
        symbol:
          type: string
        decimals:
          type: number
      required:
      - address
      - name
      - symbol
      - decimals
    collectionVerificationEnum:
      type: string
      enum:
      - VERIFIED
      - UNVERIFIED
    evmProtocolTypeEnum:
      type: string
      enum:
      - ERC721
      - ERC1155
    collectionTypeEnum:
      type: string
      enum:
      - ERC721
      - ERC1155
    collectionTransferabilityEnum:
      type: string
      enum:
      - TRANSFERABLE_TRADABLE
      - TRANSFERABLE_NOT_TRADABLE
      - NOT_TRANSFERABLE_NOT_TRADABLE
      - NOT_TRANSFERABLE_TRADABLE
    collectionMintStageKindEnum:
      type: string
      enum:
      - public
      - allowlist
    collectionRoyalty:
      type: object
      properties:
        recipient:
          type: string
        bps:
          type: number
          maximum: 10000
          minimum: 0
        isOptional:
          type: boolean
      required:
      - recipient
      - bps
      - isOptional
    collectionMintStage:
      type: object
      properties:
        kind:
          $ref: '#/components/schemas/collectionMintStageKindEnum'
        price:
          type: object
          properties:
            currency:
              $ref: '#/components/schemas/chainAsset'
            raw:
              type: string
          required:
          - currency
          - raw
        startTime:
          type: string
        endTime:
          type: string
        walletLimit:
          type: number
          minimum: 0
          maximum: 1000
        maxSupply:
          type: number
          minimum: 1
      required:
      - kind
      - price
    collectionSchema:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        id:
          type: string
        name:
          type: string
        symbol:
          type: string
          description: i.e. collection slug
        description:
          type: string
        media:
          $ref: '#/components/schemas/media'
        social:
          $ref: '#/components/schemas/social'
        verification:
          $ref: '#/components/schemas/collectionVerificationEnum'
        isTradeable:
          type: boolean
        royalty:
          $ref: '#/components/schemas/collectionRoyalty'
        collectionType:
          $ref: '#/components/schemas/collectionTypeEnum'
        isSeaportV16Disabled:
          type: boolean
        isSeaportV16RoyaltyOptional:
          type: boolean
        seaportV16ListingCurrencies:
          type: array
          items:
            $ref: '#/components/schemas/listingCurrency'
        chainData:
          type: object
          properties:
            contract:
              type: string
            transferability:
              $ref: '#/components/schemas/collectionTransferabilityEnum'
            collectionBidSupported:
              type: boolean
            contractDeployedAt:
              type: string
            isMinting:
              type: boolean
            owner:
              type: string
            mintConfig:
              type: object
              properties:
                maxSupply:
                  type: string
                totalSupply:
                  type: string
                walletLimit:
                  type: string
                baseURI:
                  type: string
                contractURI:
                  type: string
                stages:
                  type: array
                  items:
                    $ref: '#/components/schemas/collectionMintStage'
                payoutRecipient:
                  type: string
                royaltyRecipient:
                  type: string
                royaltyBps:
                  type: string
                mintFee:
                  type: string
              required:
              - maxSupply
              - totalSupply
              - walletLimit
              - baseURI
              - contractURI
              - stages
              - payoutRecipient
              - royaltyRecipient
              - royaltyBps
          required:
          - contract
          - transferability
          - collectionBidSupported
          - isMinting
      required:
      - chain
      - id
      - name
      - verification
      - isTradeable
      - collectionType
    assetClassEnum:
      type: string
      enum:
      - NFT
      - SFT
    assetMediaTypeEnum:
      type: string
      enum:
      - img
      - video
      - html
      - model
      - audio
      - text
      - pdf
    assetRarityEnum:
      type: string
      enum:
      - MOONRANK
      - HOWRARE
      - OPENRARITY
      - POPRANK
      - ME_STATISTICAL
      - MAGICEDEN
    assetMediaV2Entry:
      type: object
      properties:
        url:
          type: string
        type:
          $ref: '#/components/schemas/assetMediaTypeEnum'
        typeRaw:
          type: string
      required:
      - url
      - type
    assetMediaV2:
      type: object
      properties:
        cover:
          $ref: '#/components/schemas/assetMediaV2Entry'
        main:
          $ref: '#/components/schemas/assetMediaV2Entry'
        additional:
          type: array
          items:
            $ref: '#/components/schemas/assetMediaV2Entry'
      required:
      - main
    asset:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        id:
          type: string
        collectionId:
          type: string
        owner:
          type: string
        name:
          type: string
        description:
          type: string
        assetClass:
          $ref: '#/components/schemas/assetClassEnum'
        attributes:
          type: array
          items:
            type: object
            properties:
              traitType:
                type: string
              value:
                type: string
            required:
            - traitType
            - value
        mediaV2:
          $ref: '#/components/schemas/assetMediaV2'
        remainingSupply:
          type: string
        rarity:
          type: array
          items:
            type: object
            properties:
              provider:
                $ref: '#/components/schemas/assetRarityEnum'
              rank:
                type: number
            required:
            - provider
            - rank
        contractAddress:
          type: string
        tokenId:
          type: string
        standard:
          $ref: '#/components/schemas/collectionTypeEnum'
        lastSalePrice:
          $ref: '#/components/schemas/tokenPrice'
      required:
      - id
      - collectionId
      - assetClass
      - rarity
      - contractAddress
      - tokenId
      - standard
    tokenPrice:
      type: object
      properties:
        amount:
          type: object
          properties:
            raw:
              type: string
            native:
              type: string
            fiat:
              type: object
              properties:
                usd:
                  type: string
          required:
          - raw
        currency:
          type: object
          properties:
            contract:
              type: string
            symbol:
              type: string
            decimals:
              type: number
              minimum: 0
            displayName:
              type: string
            fiatConversion:
              type: object
              properties:
                usd:
                  type: number
          required:
          - contract
          - symbol
          - decimals
          - displayName
      required:
      - amount
      - currency
    orderStatusEnum:
      type: string
      enum:
      - active
      - inactive
      - expired
      - filled
      - cancelled
    orderKindEnum:
      type: string
      enum:
      - ASK
      - BID
    orderContractKind:
      type: string
    orderSourceEnum:
      type: string
      enum:
      - MAGICEDEN
      - OPENSEA
      - IXS_SERVICE
    nftActivityTypeEnum:
      type: string
      enum:
      - ASK_CREATED
      - ASK_CANCELLED
      - BID_CREATED
      - BID_CANCELLED
      - BURN
      - MINT
      - TRANSFER
      - TRADE
    orderFee:
      type: object
      properties:
        royaltyBp:
          type: number
          minimum: 0
          maximum: 10000
        makerMarketplaceBp:
          type: number
          minimum: 0
          maximum: 10000
        takerMarketplaceBp:
          type: number
          minimum: 0
          maximum: 10000
        lpFeeBp:
          type: number
          minimum: 0
          maximum: 10000
      required:
      - royaltyBp
      - makerMarketplaceBp
      - takerMarketplaceBp
      - lpFeeBp
    orderQuantity:
      type: object
      properties:
        filled:
          type: string
        remaining:
          type: string
      required:
      - filled
      - remaining
    orderExpiry:
      type: object
      properties:
        validFrom:
          type: string
        validUntil:
          type: string
      required:
      - validUntil
    baseOrder:
      type: object
      properties:
        id:
          type: string
        kind:
          $ref: '#/components/schemas/orderKindEnum'
        status:
          $ref: '#/components/schemas/orderStatusEnum'
        maker:
          type: string
        price:
          $ref: '#/components/schemas/tokenPrice'
        quantity:
          $ref: '#/components/schemas/orderQuantity'
        expiry:
          $ref: '#/components/schemas/orderExpiry'
        source:
          $ref: '#/components/schemas/orderSourceEnum'
        fees:
          $ref: '#/components/schemas/orderFee'
        createdAt:
          type: string
        updatedAt:
          type: string
      required:
      - id
      - kind
      - status
      - maker
      - price
      - quantity
      - source
      - fees
      - createdAt
    assetAttribute:
      type: object
      properties:
        name:
          type: string
        value:
          oneOf:
          - type: string
          - type: number
      required:
      - name
      - value
    evmChainCommon:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        protocol:
          $ref: '#/components/schemas/evmProtocolTypeEnum'
        contract:
          type: string
        contractData:
          type: object
          properties:
            orderContractKind:
              $ref: '#/components/schemas/orderContractKind'
          required:
          - orderContractKind
      required:
      - chain
      - protocol
      - contract
      - contractData
    baseAssetAsk:
      allOf:
      - $ref: '#/components/schemas/baseOrder'
      type: object
      properties:
        assetId:
          type: string
      required:
      - assetId
    bidTypeEnum:
      type: string
      enum:
      - ASSET
      - COLLECTION
      - ATTRIBUTE
    bidAssetCriteria:
      type: object
      properties:
        assetId:
          type: string
      required:
      - assetId
    bidCollectionCriteria:
      type: object
      properties:
        collectionId:
          type: string
      required:
      - collectionId
    bidAttributeCriteria:
      type: object
      properties:
        collectionId:
          type: string
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/assetAttribute'
          minItems: 1
      required:
      - collectionId
      - attributes
    baseAssetBid:
      allOf:
      - $ref: '#/components/schemas/baseOrder'
      type: object
      properties:
        kind:
          $ref: '#/components/schemas/orderKindEnum'
        criteria:
          $ref: '#/components/schemas/bidAssetCriteria'
      required:
      - kind
    baseCollectionBid:
      allOf:
      - $ref: '#/components/schemas/baseOrder'
      type: object
      properties:
        kind:
          $ref: '#/components/schemas/orderKindEnum'
        criteria:
          $ref: '#/components/schemas/bidCollectionCriteria'
      required:
      - kind
    baseAttributeBid:
      allOf:
      - $ref: '#/components/schemas/baseOrder'
      type: object
      properties:
        kind:
          $ref: '#/components/schemas/orderKindEnum'
        criteria:
          $ref: '#/components/schemas/bidAttributeCriteria'
      required:
      - kind
    evmAssetAsk:
      allOf:
      - $ref: '#/components/schemas/baseAssetAsk'
      - $ref: '#/components/schemas/evmChainCommon'
    evmAssetBid:
      allOf:
      - $ref: '#/components/schemas/baseAssetBid'
      - $ref: '#/components/schemas/evmChainCommon'
    evmCollectionBid:
      allOf:
      - $ref: '#/components/schemas/baseCollectionBid'
      - $ref: '#/components/schemas/evmChainCommon'
    evmAttributeBid:
      allOf:
      - $ref: '#/components/schemas/baseAttributeBid'
      - $ref: '#/components/schemas/evmChainCommon'
    evmBid:
      oneOf:
      - $ref: '#/components/schemas/evmAssetBid'
      - $ref: '#/components/schemas/evmCollectionBid'
      - $ref: '#/components/schemas/evmAttributeBid'
      type: object
      properties:
        type:
          $ref: '#/components/schemas/bidTypeEnum'
      required:
      - type
    baseNftActivity:
      type: object
      properties:
        activityType:
          $ref: '#/components/schemas/nftActivityTypeEnum'
        activityId:
          type: string
        timestamp:
          type: string
        collection:
          $ref: '#/components/schemas/collectionSchema'
        asset:
          $ref: '#/components/schemas/asset'
      required:
      - activityType
      - activityId
      - timestamp
    nftTradeActivity:
      type: object
      allOf:
      - $ref: '#/components/schemas/baseNftActivity'
      properties:
        assetAmount:
          type: string
        fromAddress:
          type: string
        toAddress:
          type: string
        order:
          type: object
          properties:
            orderId:
              type: string
            orderKind:
              $ref: '#/components/schemas/orderKindEnum'
            bidType:
              $ref: '#/components/schemas/bidTypeEnum'
            sourceDomain:
              type: string
          required:
          - orderId
          - sourceDomain
        unitPrice:
          $ref: '#/components/schemas/tokenPrice'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/feeAmount'
        transactionInfo:
          $ref: '#/components/schemas/transactionInfo'
      required:
      - assetAmount
      - fromAddress
      - toAddress
      - order
      - unitPrice
      - transactionInfo
    nftTransferActivity:
      type: object
      allOf:
      - $ref: '#/components/schemas/baseNftActivity'
      properties:
        assetAmount:
          type: string
        fromAddress:
          type: string
        toAddress:
          type: string
        transactionInfo:
          $ref: '#/components/schemas/transactionInfo'
      required:
      - assetAmount
      - fromAddress
      - toAddress
      - transactionInfo
    nftMintActivity:
      type: object
      allOf:
      - $ref: '#/components/schemas/baseNftActivity'
      properties:
        assetAmount:
          type: string
        toAddress:
          type: string
        unitPrice:
          $ref: '#/components/schemas/tokenPrice'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/feeAmount'
        transactionInfo:
          $ref: '#/components/schemas/transactionInfo'
      required:
      - assetAmount
      - toAddress
      - transactionInfo
    nftAskActivity:
      type: object
      allOf:
      - $ref: '#/components/schemas/baseNftActivity'
      properties:
        ask:
          $ref: '#/components/schemas/evmAssetAsk'
      required:
      - ask
    nftBidActivity:
      type: object
      allOf:
      - $ref: '#/components/schemas/baseNftActivity'
      properties:
        bid:
          $ref: '#/components/schemas/evmBid'
      required:
      - bid
    nftActivity:
      oneOf:
      - $ref: '#/components/schemas/nftTradeActivity'
      - $ref: '#/components/schemas/nftTransferActivity'
      - $ref: '#/components/schemas/nftMintActivity'
      - $ref: '#/components/schemas/nftAskActivity'
      - $ref: '#/components/schemas/nftBidActivity'
    getNftActivityResponse:
      type: object
      properties:
        activities:
          type: array
          items:
            $ref: '#/components/schemas/nftActivity'
        continuation:
          type: string
          description: used to get next offset of items
      required:
      - activities
    getCollectionsById:
      type: object
      properties:
        collectionIds:
          description: 'List of collection IDs to retrieve. example: `0xbd3531da5cf5857e7cfaa92426877b022e612cf8` '
          type: array
          items:
            type: string
          maxItems: 100
      required:
      - collectionIds
    getCollectionsBySlugs:
      type: object
      properties:
        collectionSlugs:
          description: 'List of collection Slugs to retrieve. example: `pudgypenguins` '
          type: array
          items:
            type: string
          maxItems: 100
      required:
      - collectionSlugs
    getCollectionsRequest:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        includeMintConfig:
          type: boolean
          description: Whether to include mint configuration.
        includeOwnerAddress:
          type: boolean
          description: Whether to include owner address.
      oneOf:
      - $ref: '#/components/schemas/getCollectionsById'
      - $ref: '#/components/schemas/getCollectionsBySlugs'
      required:
      - chain
    getCollectionsResponse:
      type: object
      properties:
        collections:
          type: array
          items:
            $ref: '#/components/schemas/collectionSchema'
      required:
      - collections
    userCollectionSchema:
      allOf:
      - $ref: '#/components/schemas/collectionSchema'
      - type: object
        properties:
          ownedCount:
            type: number
            minimum: 0
          listedCount:
            type: number
            minimum: 0
        required:
        - ownedCount
        - listedCount
    getUserCollectionsRequest:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        walletAddresses:
          description: 'a list of user wallet address to query collection stats from. example: `0x47d88afbba889709abba07339ed1c88079944ca3` '
          type: array
          maxItems: 100
          items:
            type: string
      required:
      - walletAddresses
    getUserCollectionsResponse:
      type: object
      properties:
        collections:
          type: array
          items:
            $ref: '#/components/schemas/userCollectionSchema'
      required:
      - collections
    searchCollectionsRequest:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        pattern:
          type: string
          description: Any name pattern you want to search for collections. Only first 50 collection matched will be returned
      required:
      - chain
      - pattern
    searchCollectionsResponse:
      type: object
      properties:
        collections:
          type: array
          items:
            $ref: '#/components/schemas/collectionSchema'
      required:
      - collections
    ixsEip712Domain:
      type: object
      properties:
        name:
          type: string
        version:
          type: string
        chainId:
          type: number
        verifyingContract:
          type: string
      required:
      - name
      - version
      - chainId
      - verifyingContract
    ixsEip712SignData:
      type: object
      description: Standard EIP-712 signature data for signing and generate signature, once signature is generated, signer
        usually should pass signature along with `postBody` to another API endpoint
      properties:
        signatureKind:
          type: string
        domain:
          $ref: '#/components/schemas/ixsEip712Domain'
        types: {}
        value: {}
        primaryType:
          type: string
      required:
      - name
      - version
      - chainId
      - verifyingContract
    ixsTransactionData:
      type: object
      description: EVM transaction data structure
      properties:
        from:
          type: string
          example: '0x78d25e7beb6e7ae84859f2df6fd739b9eab231ec'
          description: 'Transaction issuer: from whom sends this transaction'
        to:
          type: string
          example: '0x3334fd65540a19cf92bee834da65d2316c55c348'
          description: 'Transaction destination: to where this transaction shall be executed, usually a EVM smart contract
            address'
        data:
          type: string
          description: Hex-ed transaction data to sign before broadcasting to EVM network
        value:
          type: string
          description: Transaction value to specifiy when broadcasting to EVM network
      required:
      - from
      - to
    ixsApprovals:
      type: object
      properties:
        transactionsDataToSignAndCast:
          type: array
          items:
            $ref: '#/components/schemas/ixsTransactionData'
      required:
      - transactionsDataToSignAndCast
    ixsUnitPrice:
      type: object
      properties:
        currency:
          type: string
          example: '0x0000000000000000000000000000000000000000'
          description: on-chain currency id
        raw:
          type: string
          example: '1000000000000000000'
          description: price with on-chain currency in its decimal format. e.g. `0x0000000000000000000000000000000000000000`
            stands for ETH in ethereum, so to specify 1 ETH (deicmals == 18), you should input `1000000000000000000`
      required:
      - currency
      - raw
    ixsOffer:
      type: object
      properties:
        quantity:
          type: number
          description: Bid quantity
          minimum: 1
        unitPrice:
          $ref: '#/components/schemas/ixsUnitPrice'
          description: Unit price per quantity
        expirationInSeconds:
          type: number
          description: 'Expiration time (in seconds). Min: 15 minutes, Max: 1 year'
          minimum: 900
          maximum: 31536000
        collectionId:
          type: string
          example: '0xbd3531da5cf5857e7cfaa92426877b022e612cf8'
          description: Collection id which this bid against to. If this is present, means this is a collection offer
        assetId:
          type: string
          example: 0xbd3531da5cf5857e7cfaa92426877b022e612cf8:0
          description: Specify asset id for bidding, could be a ERC-721 or ERC-1155. If this is present, means this is an
            asset(token) offer
        attribute:
          type: object
          properties:
            key:
              type: string
            value:
              type: string
          description: Specify an attribute this bid against to which means this is an attribute offer
      required:
      - quantity
      - unitPrice
      - expirationInSeconds
    ixsBaseErrorResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - error
        errors:
          type: array
          items:
            type: string
          description: errors
      required:
      - status
      - errors
    ixsBaseSuccessResponse:
      type: object
      properties:
        status:
          type: string
          enum:
          - success
      required:
      - status
    ixsBidGetRequest:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        maker:
          type: string
          example: '0x079e5e1ac85b04225edad793ecdd9b31a26fdacc'
          description: Bid maker
        offers:
          type: array
          items:
            $ref: '#/components/schemas/ixsOffer'
          minItems: 1
          maxItems: 10
          description: Bids to generate from this maker
      required:
      - chain
      - maker
      - offers
    ixsBidGetSuccessResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/ixsBaseSuccessResponse'
      properties:
        erc20CurrencyApprovalsNeeded:
          $ref: '#/components/schemas/ixsApprovals'
          description: ERC-20 token approvals needed to be signed before bids generation. This is for delegating MagicEden
            to move user's ERC-20 balances when bids are fulfilled
        dataToSignAndPostList:
          type: array
          items:
            type: object
            properties:
              bidDataToSign:
                $ref: '#/components/schemas/ixsEip712SignData'
              postBody:
                type: string
                description: Base64 encoded data that need to be pass to creation API endpoint
          description: Array of bid data to sign and post to bid creation API endpoint, you should call bid creation API endpoint
            for every item in this list with signed signature and post body
      required:
      - dataToSignAndPostList
    ixsBidGetResponse:
      oneOf:
      - $ref: '#/components/schemas/ixsBaseErrorResponse'
      - $ref: '#/components/schemas/ixsBidGetSuccessResponse'
    ixsBidPostRequest:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        postBody:
          type: string
          description: Base64-encoded string stands for post body, which should come from signing data generation API endpoint
        signature:
          type: string
          description: Hex-ed string stands for signaure, which should come from signing data generation API endpoint
      required:
      - chain
      - postBody
      - signature
    ixsBidPostSuccessResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/ixsBaseSuccessResponse'
      properties:
        createdOrderIds:
          type: array
          items:
            type: string
          description: created bid ids
      required:
      - createdOrderIds
    ixsBidPostResponse:
      oneOf:
      - $ref: '#/components/schemas/ixsBaseErrorResponse'
      - $ref: '#/components/schemas/ixsBidPostSuccessResponse'
    ixsBulkTransferGetRequest:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        from:
          type: string
          description: from which address these assets will be transferred out
        to:
          type: string
          description: to which address these assets will be transferred in
        assets:
          type: array
          items:
            type: object
            properties:
              assetId:
                type: string
              quantity:
                type: number
                minimum: 1
            required:
            - assetId
            - quantity
          minItems: 1
          maxItems: 10
          description: Assets to transfer
      required:
      - chain
      - from
      - to
      - assets
    ixsBulkTransferGetSuccessResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/ixsBaseSuccessResponse'
      properties:
        contractApprovalsNeeded:
          $ref: '#/components/schemas/ixsApprovals'
          description: Contract approvals needed to be signed before transferring. This is for delegating MagicEden to move
            user's assets when transferring
        transferTransactionsToSign:
          type: array
          items:
            $ref: '#/components/schemas/ixsTransactionData'
          description: Array of transfer transaction data to sign. Once signed, please broadcast signed transactions to EVM
            network to finish transfer
      required:
      - transferTransactionsToSign
    ixsBulkTransferGetResponse:
      oneOf:
      - $ref: '#/components/schemas/ixsBaseErrorResponse'
      - $ref: '#/components/schemas/ixsBulkTransferGetSuccessResponse'
    ixsBuyGetRequest:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        taker:
          type: string
          example: '0x079e5e1ac85b04225edad793ecdd9b31a26fdacc'
          description: Taker who wish to buy assets
        currency:
          type: string
          example: '0x0000000000000000000000000000000000000000'
          description: Listing currency which this taker wants to buy
        items:
          type: array
          items:
            type: object
            properties:
              assetId:
                type: string
              quantity:
                type: number
                minimum: 1
            required:
            - assetId
            - quantity
          minItems: 1
          maxItems: 10
          description: Assets to buy
      required:
      - chain
      - taker
      - assets
    ixsBuyGetSuccessResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/ixsBaseSuccessResponse'
      properties:
        erc20CurrencyApprovalsNeeded:
          $ref: '#/components/schemas/ixsApprovals'
          description: ERC-20 token approvals needed to be signed before buying. This is for delegating MagicEden to move
            user's ERC-20 balances for buying
        buyTransactionsToSign:
          type: array
          items:
            $ref: '#/components/schemas/ixsTransactionData'
          description: Array of buying transaction data to sign. Once signed, please broadcast signed transactions to EVM
            network to finish buying
      required:
      - buyTransactionsToSign
    ixsBuyGetResponse:
      oneOf:
      - $ref: '#/components/schemas/ixsBaseErrorResponse'
      - $ref: '#/components/schemas/ixsBuyGetSuccessResponse'
    ixsCancelOrderGetRequest:
      type: object
      properties:
        chain:
          $ref: '#/components/schemas/chainEnum'
        make

# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/magic-eden/refs/heads/main/openapi/magic-eden-evm-openapi.yml