Overview

As an End User, I want to be able to sell NFTs (that I bought on the primary or the secondary market) on the secondary market.

For the moment, like for the purchase of an NFT, the only way to sell an NFT is with the auction mechanism. As an End User, when I create a listing to sell a specific NFT of mine, I need to set:

  • The floor price in XTZ: the first order will have to be greater or equal to this floor price

  • The start and end dates (minutes, hours, days) : when the end date is reached, the best order wins the NFT.

In the back-end, there will be 2 steps (so 2 endpoints to call) to create a listing for a specific token:

  1. Create a listing,

  2. Link the listing to the token.

As an End User who sells a NFT on the secondary marketplace, I will receive email notifications when:

  • I receive a new order

  • The listing has been sold to another End User

Convert XTZ amount in EUR

This step is recommended (to display important information for the End Users) but not mandatory.

Use case

To offer your End Users a smooth user experience, when your End Users place an order, we advise you to convert it in the other currency. If the order is in EUR, you can display the price in XTZ and conversely if the order is in XTZ, you can display the price in EUR.

  • As an End User, when I type an amount in XTZ to withdraw to an external Tezos wallet, I might want to be able to check how much is this amount in EUR.

  • When an End User places an order in EUR (by credit card) for a specific listing, he can wonder how much it is worth in XTZ and conversely

  • when an End User places an order in XTZ for a specific listing, he can wonder how much it is worth in EUR.

API

Here is the link to the API documentation to convert a price in another specific currency:

https://sandbox.nfts.eniblock.fr/redoc/listings-trades#operation/getExchangeRate

Create a listing

Use cases

  • As an End User, I want to be able to sell NFTs (that I bought on the primary or the secondary market) on the secondary market.

  • As an End User, when I validate the listing creation of my NFT, first a listing needs to be created in database through a specific endpoint.

API

Here is the link to the API documentation to create a listing for a specific End User:

https://sandbox.nfts.eniblock.fr/redoc/listings-trades#operation/createListing

Link the listing to the token

Use case

As an End User, I want to be able to sell NFTs (that I bought on the primary or the secondary market) on the secondary market.

Once the listing has been created, another endpoint to link the created listing to the token that is for sale by the End User needs to be called.

API

Here is the link to the API documentation to link the listing to the token:

https://sandbox.nfts.eniblock.fr/redoc/listings-trades#operation/createListingTokens

Calculate fees and royalties

Use case

As an End User, when I sell a NFT on the secondary marketplace, there will be potential fees and royalties.

When the End User types a listing amount, we highly recommend you to display both fees and royalties amounts.

This step is recommended (to display important information for the End Users) but not mandatory.

API

Here is the link to the API documentation to get the fees and royalties amounts:

https://sandbox.nfts.eniblock.fr/redoc/listings-trades#operation/findFeesAndRoyalties

Get the orders for the listing

Use case

Say your are making a fantasy football video game: when an End User chose a specific listing on the listing page, you want to be able to display to your End User all the current orders regarding this specific listing.

For example, if there is one current order on the listing, you want to display specific information like the End User account name who made the order, the price and the daytime.

API

If we want to identify the auction winner, we need to query with the following parameters: "type": "CASH_HOLDER" in order to get the accountName and the transactionHash.

Here is the link to the API documentation to display a list of the current orders for a specific listing:

https://sandbox.nfts.eniblock.fr/redoc/listings-trades#operation/getOrderPayments