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' maker: type: string description: order maker, only support batch cancellation under one maker orderIds: type: array items: type: string minItems: 1 maxItems: 100 description: Order ids to cancel required: - chain - orderIds - maker ixsCancelOrderGetSuccessResponse: type: object allOf: - $ref: '#/components/schemas/ixsBaseSuccessResponse' properties: dataToSignAndPostList: type: array items: type: object properties: cancelOrderDataToSign: $ref: '#/components/schemas/ixsEip712SignData' postBody: type: string description: Base64 encoded data that need to be pass to cancellation API endpoint description: Order cancellation data to sign. Once signed, you should call the cancellatino API endpoint with signature to finish order cancellation. onchainCancellationTransactionToSign: type: array items: $ref: '#/components/schemas/ixsTransactionData' ixsCancelOrderGetResponse: oneOf: - $ref: '#/components/schemas/ixsBaseErrorResponse' - $ref: '#/components/schemas/ixsCancelOrderGetSuccessResponse' ixsCancelOrderPostRequest: 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 ixsCancelOrderPostResponse: oneOf: - $ref: '#/components/schemas/ixsBaseErrorResponse' - $ref: '#/components/schemas/ixsBaseSuccessResponse' ixsListing: type: object properties: assetId: type: string example: 0xbd3531da5cf5857e7cfaa92426877b022e612cf8:0 description: Asset id for listing, could be a ERC-721 or ERC-1155 quantity: type: number description: Asset quantity to list, for ERC-721, must specified 1, for ERC-1155, could be > 1 minimum: 1 unitPrice: $ref: '#/components/schemas/ixsUnitPrice' description: Unit price per quantity royaltyBps: type: number description: Royalty bps to paid to creator for listing if there are minimum: 0 maximum: 10000 expirationInSeconds: type: number description: 'Expiration time (in seconds). Min: 15 minutes, Max: 1 year' minimum: 900 maximum: 31536000 required: - assetId - quantity - unitPrice - expirationInSeconds ixsListGetRequest: type: object properties: chain: $ref: '#/components/schemas/chainEnum' maker: type: string example: '0x079e5e1ac85b04225edad793ecdd9b31a26fdacc' description: listing maker, should be owner of these assets(tokens) that wish to be listed. listings: type: array items: $ref: '#/components/schemas/ixsListing' minItems: 1 maxItems: 10 description: listings to generate required: - chain - maker - listings ixsListGetErrorResponse: type: object allOf: - $ref: '#/components/schemas/ixsBaseErrorResponse' ixsListGetSuccessResponse: type: object allOf: - $ref: '#/components/schemas/ixsBaseSuccessResponse' properties: contractApprovalsNeeded: $ref: '#/components/schemas/ixsApprovals' description: Contract approvals needed to be signed before listing. This is for delegating MagicEden to move user's assets when listings are fulfilled dataToSignAndPostList: type: array items: type: object properties: listingDataToSign: $ref: '#/components/schemas/ixsEip712SignData' postBody: type: string description: Base64 encoded data that need to be pass to creation API endpoint description: Array of listing data to sign and post to listing creation API endpoint, you should call listing creation API endpoint for every item in this list with signed signature and post body required: - dataToSignAndPostList ixsListGetResponse: oneOf: - $ref: '#/components/schemas/ixsListGetErrorResponse' - $ref: '#/components/schemas/ixsListGetSuccessResponse' ixsListPostRequest: 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 ixsListPostErrorResponse: type: object allOf: - $ref: '#/components/schemas/ixsBaseErrorResponse' ixsListPostSuccessResponse: type: object allOf: - $ref: '#/components/schemas/ixsBaseSuccessResponse' properties: createdOrderIds: type: array items: type: string description: created listing ids required: - createdOrderIds ixsListPostResponse: oneOf: - $ref: '#/components/schemas/ixsListPostErrorResponse' - $ref: '#/components/schemas/ixsListPostSuccessResponse' ixsSellGetRequest: type: object properties: chain: $ref: '#/components/schemas/chainEnum' taker: type: string example: '0x079e5e1ac85b04225edad793ecdd9b31a26fdacc' description: Taker who wish to sell assets 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 sell required: - chain - taker - items ixsSellGetSuccessResponse: type: object allOf: - $ref: '#/components/schemas/ixsBaseSuccessResponse' properties: contractApprovalsNeeded: $ref: '#/components/schemas/ixsApprovals' description: Contract approvals needed to be signed before listing. This is for delegating MagicEden to move user's assets when selling sellTransactionsToSign: type: array items: $ref: '#/components/schemas/ixsTransactionData' description: Array of selling transaction data to sign. Once signed, please broadcast signed transactions to EVM network to finish selling sellDetails: type: object description: Selling details for every to-sell items properties: items: type: array items: type: object properties: assetId: type: string orderId: type: string description: Which order (bid) is sold to for this asset sellQuantity: type: number minimum: 1 description: How many quantity is sold to this order for this asset required: - assetId - orderId - sellQuantity required: - items required: - sellTransactionsToSign - sellDetails ixsSellGetResponse: oneOf: - $ref: '#/components/schemas/ixsBaseErrorResponse' - $ref: '#/components/schemas/ixsSellGetSuccessResponse' filterOrderSourceEnum: type: string enum: - any - opensea.io - magiceden getAsksResponse: type: object properties: asks: type: array items: $ref: '#/components/schemas/evmAssetAsk' continuation: type: string description: used to get next offset of items required: - asks getBidsResponse: type: object properties: bids: type: array items: $ref: '#/components/schemas/evmBid' continuation: type: string description: used to get next offset of items required: - bids assetFloorAskSourceEnum: type: string enum: - any - opensea.io - magiceden getAssetsResponse: type: object properties: assets: type: array items: type: object properties: asset: $ref: '#/components/schemas/asset' floorAsk: $ref: '#/components/schemas/evmAssetAsk' topBid: $ref: '#/components/schemas/evmBid' required: - asset continuation: type: string description: used to get next offset of items required: - assets getUserAssetsResponse: type: object properties: assets: type: array items: type: object properties: asset: $ref: '#/components/schemas/asset' floorAsk: $ref: '#/components/schemas/evmAssetAsk' topBid: $ref: '#/components/schemas/evmBid' required: - asset - ownership continuation: type: string description: used to get next offset of items required: - assets securitySchemes: BearerAuth: type: http scheme: bearer tags: [] paths: /activities: get: summary: NFT Activity operationId: getNftActivity description: Use this API to get NFT activity parameters: - name: chain schema: $ref: '#/components/schemas/chainEnum' required: true in: query - name: activityTypes[] schema: type: array items: $ref: '#/components/schemas/nftActivityTypeEnum' required: true explode: true in: query description: The activity types to query - name: fromTime schema: type: string required: false in: query description: '`From time` of time range to query' - name: toTime schema: type: string required: false in: query description: '`To time` of time range to query' - name: assetId schema: type: string required: true in: query description: 'Asset Id to filter for activities. Either `assetId` or `collectionId` or `walletAddress` should be provided. example: `0xbd3531da5cf5857e7cfaa92426877b022e612cf8:0`' - name: collectionId schema: type: string required: true in: query description: 'Collection Id to filter for activities. Either `assetId` or `collectionId` or `walletAddress` should be provided. example: `0xbd3531da5cf5857e7cfaa92426877b022e612cf8`' - name: walletAddress schema: type: string required: true in: query description: 'User wallet address to filter for activities. Either `assetId` or `collectionId` or `walletAddress` should be provided. example: `0x47d88afbba889709abba07339ed1c88079944ca3`' - name: limit schema: type: number default: 20 minimum: 1 maximum: 100 required: false in: query description: Amount of items returned, default to __20__ - name: continuation schema: type: string required: false in: query description: Use continuation token to request next offset of items. tags: - Activity responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/getNftActivityResponse' x-order: 7 /collections: post: summary: Collections operationId: getCollections description: Use this API to explore a collection's metadata and statistics (sales, volume, etc). requestBody: content: application/json: schema: $ref: '#/components/schemas/getCollectionsRequest' tags: - Collections responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/getCollectionsResponse' x-order: 1 /collections/user-collections: post: summary: User Collections operationId: getUserCollections description: Use this API to explore a user's collections metadata and statistics (sales, volume, etc). requestBody: content: application/json: schema: $ref: '#/components/schemas/getUserCollectionsRequest' tags: - Collections responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/getUserCollectionsResponse' x-order: 2 /collections/search: post: summary: Search Collections operationId: searchCollections description: Use this API to do a fuzzy collection search requestBody: content: application/json: schema: $ref: '#/components/schemas/searchCollectionsRequest' tags: - Collections responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/searchCollectionsResponse' /ixs/bid/get: post: summary: Create Bids (Get Signing Data) operationId: ixsBidGet description: Generate bids. This API is used to generate bid data to sign. Once you get signing data from this API, you shall sign them and post to another bid creation API to finish bid generation requestBody: content: application/json: schema: $ref: '#/components/schemas/ixsBidGetRequest' tags: - Ixs responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/ixsBidGetResponse' x-order: 10 /ixs/bid: post: summary: Create Bids (Creation) operationId: ixsBidPost description: Generate bids. This API is used to create bids with signature provided requestBody: content: application/json: schema: $ref: '#/components/schemas/ixsBidPostRequest' tags: - Ixs responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/ixsBidPostResponse' x-order: 11 /ixs/bulk-transfer/get: post: summary: Bulk Transfer operationId: ixsBulkTransferGet description: Bulk transfer assets(tokens). This API is used to generate asset bulk transfer transaction data requestBody: content: application/json: schema: $ref: '#/components/schemas/ixsBulkTransferGetRequest' tags: - Ixs responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/ixsBulkTransferGetResponse' x-order: 14 /ixs/buy/get: post: summary: Buy Assets operationId: ixsBuyGet description: Buy assets(tokens). This API is used to generate transaction data to buy assets requestBody: content: application/json: schema: $ref: '#/components/schemas/ixsBuyGetRequest' tags: - Ixs responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/ixsBuyGetResponse' x-order: 15 /ixs/cancel-order/get: post: summary: Cancel Orders (Get Signing Data) operationId: ixsCancelOrderGet description: Cancel Orders. This API is used to generate order cancellation data to sign. Once you get signing data from this API, you shall sign them and post to another order cancellation API to finish order cancellation requestBody: content: application/json: schema: $ref: '#/components/schemas/ixsCancelOrderGetRequest' tags: - Ixs responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/ixsCancelOrderGetResponse' x-order: 12 /ixs/cancel-order: post: summary: Cancel Orders (Cancellation) operationId: ixsCancelOrderPost description: Cancel Orders. This API is used to cancel orders with signature provided requestBody: content: application/json: schema: $ref: '#/components/schemas/ixsCancelOrderPostRequest' tags: - Ixs responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/ixsCancelOrderPostResponse' x-order: 13 /ixs/list/get: post: summary: Create Listings (Get Signing Data) operationId: ixsListGet description: Generate listings for assets (tokens). This API is used to generate listing data to sign. Once you get signing data from this API, you shall sign them and post to another listing creation API to finish listing generation requestBody: content: application/json: schema: $ref: '#/components/schemas/ixsListGetRequest' tags: - Ixs responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/ixsListGetResponse' x-order: 8 /ixs/list: post: summary: Create Listings (Creation) operationId: ixsListPost description: Generate listings for assets (tokens). This API is used to create listings with signature provided requestBody: content: application/json: schema: $ref: '#/components/schemas/ixsListPostRequest' tags: - Ixs responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/ixsListPostResponse' x-order: 9 /ixs/sell/get: post: summary: Sell Assets operationId: ixsSellGet description: Sell assets(tokens). This API is used to generate transaction data to sell assets requestBody: content: application/json: schema: $ref: '#/components/schemas/ixsSellGetRequest' tags: - Ixs responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/ixsSellGetResponse' x-order: 16 /orders/asks: get: summary: Asks (listings) operationId: getAsks description: Use this API to search asks parameters: - name: chain schema: $ref: '#/components/schemas/chainEnum' required: true in: query - name: ids[] schema: type: array items: type: string maxItems: 40 in: query explode: true required: true description: Direct fetch asks by ids, other filters will be ignored if `ids` is provided. Either `ids` and `collectionId` must be provided - name: collectionId schema: type: string explode: true required: true in: query description: 'Filter by collectionId. example: `0xbd3531da5cf5857e7cfaa92426877b022e612cf8`. Either `ids` and `collectionId` must be provided' - name: assetIds[] schema: type: array items: type: string maxItems: 40 explode: true required: false in: query description: 'Filter by asset ids. example: `0xbd3531da5cf5857e7cfaa92426877b022e612cf8:0`' - name: makers[] schema: type: array items: type: string maxItems: 40 explode: true required: false in: query description: 'Filter by makers who made these asks. example: `0x47d88afbba889709abba07339ed1c88079944ca3`' - name: sources[] schema: type: array items: $ref: '#/components/schemas/filterOrderSourceEnum' maxItems: 5 explode: true required: false in: query description: Filter by order source. - name: status[] schema: type: array items: $ref: '#/components/schemas/orderStatusEnum' maxItems: 5 explode: true required: false in: query description: Filter by order status. default `active` - name: createAfter schema: type: string explode: true required: true in: query description: 'Filter orders after some create timestamp using UTC format. example: `2025-05-01T06:01:09.000Z`.' - name: updateAfter schema: type: string explode: true required: true in: query description: 'Filter orders after some update timestamp using UTC format. example: `2025-05-01T06:01:09.000Z`.' - name: sortBy schema: type: string enum: - price - createdAt - updatedAt default: price required: false in: query - name: sortDir schema: type: string enum: - asc - desc default: asc required: false in: query - name: limit schema: type: number default: 20 minimum: 1 maximum: 100 required: false in: query description: Amount of items returned, default to __20__ - name: continuation schema: type: string required: false in: query description: Use continuation token to request next offset of items. tags: - Orders responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/getAsksResponse' x-order: 5 /orders/bids: get: summary: Bids (offers) operationId: getBids description: Use this API to search bids parameters: - name: chain schema: $ref: '#/components/schemas/chainEnum' required: true in: query - name: ids[] schema: type: array items: type: string maxItems: 40 in: query explode: true required: true description: Direct fetch bids by ids, other filters will be ignored if `ids` is provided. Either `ids` and `bidTypes[] + collectionId` must be provided - name: bidTypes[] schema: type: array items: $ref: '#/components/schemas/bidTypeEnum' explode: true required: true in: query description: Filter by bid types - name: collectionId schema: type: string explode: true required: true in: query description: 'Filter by collectionId. example: `0xbd3531da5cf5857e7cfaa92426877b022e612cf8`. Either `ids` and `collectionId` must be provided' - name: assetIds[] schema: type: array items: type: string maxItems: 40 explode: true required: false in: query description: 'Filter by asset ids. example: `0xbd3531da5cf5857e7cfaa92426877b022e612cf8:0`' - name: attributes[] schema: type: array items: type: string maxItems: 40 explode: true required: false in: query description: 'Filter by attributes, could be a list, format as `:`, example: `Background:Black`' - name: makers[] schema: type: array items: type: string maxItems: 40 explode: true required: false in: query description: 'Filter by makers who made these bids. example: `0x47d88afbba889709abba07339ed1c88079944ca3`' - name: sources[] schema: type: array items: $ref: '#/components/schemas/filterOrderSourceEnum' maxItems: 5 explode: true required: false in: query description: Filter by order source. - name: status[] schema: type: array items: $ref: '#/components/schemas/orderStatusEnum' maxItems: 5 explode: true required: false in: query description: Filter by order status. default `active` - name: createAfter schema: type: string explode: true required: true in: query description: 'Filter orders after some create timestamp using UTC format. example: `2025-05-01T06:01:09.000Z`.' - name: updateAfter schema: type: string explode: true required: true in: query description: 'Filter orders after some update timestamp using UTC format. example: `2025-05-01T06:01:09.000Z`.' - name: sortBy schema: type: string enum: - price - createdAt - updatedAt default: price required: false in: query - name: sortDir schema: type: string enum: - asc - desc default: desc required: false in: query - name: limit schema: type: number default: 20 minimum: 1 maximum: 100 required: false in: query description: Amount of items returned, default to __20__ - name: continuation schema: type: string required: false in: query description: Use continuation token to request next offset of items. tags: - Orders responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/getBidsResponse' x-order: 6 /assets/collection-assets: get: summary: Collection Assets operationId: getAssets description: Use this API to explore a collection's assets and its market info parameters: - name: chain schema: $ref: '#/components/schemas/chainEnum' required: true in: query - name: collectionId schema: type: string required: true in: query description: 'The collection id to query assets. example: `0xbd3531da5cf5857e7cfaa92426877b022e612cf8` ' - name: assetIds[] schema: type: array items: type: string maxItems: 40 required: false in: query explode: true description: 'Filter assets by ids. example: `0xbd3531da5cf5857e7cfaa92426877b022e612cf8:0`' - name: includeFloorAskSource[] schema: type: array items: $ref: '#/components/schemas/assetFloorAskSourceEnum' maxItems: 40 required: false explode: true in: query description: Filter assets whose floor ask is from specific sources. if `any` is specified, means return assets which are listed only - name: name schema: type: string required: false in: query description: Filter assets by its name - name: includeTopBid schema: type: boolean required: false in: query description: Whether to include top bid for returned assets, default to __false__ - name: limit schema: type: number default: 20 minimum: 1 maximum: 100 required: false in: query description: Amount of items returned, default to __20__ - name: sortBy schema: type: string enum: - price - listedAt default: price required: false in: query - name: sortDir schema: type: string enum: - asc - desc default: asc required: false in: query - name: continuation schema: type: string required: false in: query description: Use continuation token to request next offset of assets. tags: - Assets responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/getAssetsResponse' x-order: 3 /assets/user-assets: get: summary: User Assets operationId: getUserAssets description: Use this API to explore a user's assets and its market info parameters: - name: chain schema: $ref: '#/components/schemas/chainEnum' required: true in: query - name: walletAddresses[] schema: type: array items: type: string maxItems: 40 minItems: 1 explode: true required: true in: query description: 'The wallet address (user address) to query assets from, could be a list, example: `0x47d88afbba889709abba07339ed1c88079944ca3`' - name: assetIds[] schema: type: array items: type: string maxItems: 40 explode: true required: false in: query description: 'Filter assets by ids. example: `0xbd3531da5cf5857e7cfaa92426877b022e612cf8:0`' - name: collectionIds[] schema: type: array items: type: string maxItems: 40 explode: true required: false in: query description: 'Filter assets by collectionIds. example: `0xbd3531da5cf5857e7cfaa92426877b022e612cf8`' - name: onlyListed schema: type: boolean required: false in: query description: Whether to show only listed assets, default to __false__ - name: includeTopBid schema: type: boolean required: false in: query description: Whether to include top bid for returned assets, default to __false__ - name: sortBy schema: type: string enum: - listingPrice - listedAt - receivedAt - lastSalePrice default: receivedAt required: false in: query - name: sortDir schema: type: string enum: - asc - desc default: desc required: false in: query - name: limit schema: type: number default: 20 minimum: 1 maximum: 100 required: false in: query description: Amount of items returned, default to __20__ - name: continuation schema: type: string required: false in: query description: Use continuation token to request next offset of assets. tags: - Assets responses: '200': description: Successful content: '*/*': schema: $ref: '#/components/schemas/getUserAssetsResponse' x-order: 4