Secondary Sales via NMKR Pay

Sell already minted tokens via NMKR Pay

The NMKR Studio API can be used to set up a Secondary Sale of an already minted token. This allows you to list and sell any Token for a specified price via NMKR Pay.

Please keep in mind that you can only sell tokens that are in your possession. You will be later asked to lock this token in the smart contract during the listing process.

API Endpoint

In order to sell an already minted NFT we need to create a payment transaction with NMKR Studio via the following API endpoint:

/v2/CreatePaymentTransaction

Payload

The payload to create the payment transaction should be look like the following. The Authentication token / API Key must be given in the header! Please replace the <placeholders> (PolicyID, TokenName, Price in Lovelace as integer) with the according information.

{
    "projectUid": "176fb45d-bbc9-4d9a-9374-a6efe442874d",
    "paymentTransactionType": "Smartcontract_directsale",
    "customProperties": null,
    "transactionParameters": [
        {
            "tokencount": 1,
            "policyId": "<PolicyId>",
            "tokenname": "<TokenName>"
        }
    ],
    "paymentgatewayParameters": null,
    "decentralParameters": null,
    "auctionParameters": null,
    "directSaleParameters": {
        "priceInLovelace": <Price in Lovelace as integer>
    },
    "customerIpAddress": "0.0.0.0",
    "paymentTransactionNotifications": null,
    "referer": null
}

The projectUid in the payload above can be any random UID of any project in NMKR Studio. This is only neccessary to utilize NMKR Pay and is not related to the token that will be listed. To ease the process here, we already added a random Uid.

Curl example

curl -X 'POST' \
  'https://studio-api.nmkr.io/v2/CreatePaymentTransaction' \
  -H 'accept: text/plain' \
  -H 'Authorization: Bearer 1ac2cb0abea146xyzxyz8a90701dad311c' \
  -H 'Content-Type: application/json' \
  -d '{
    "projectUid": "176fb45d-bbc9-4d9a-9374-a6efe442874d",
    "paymentTransactionType": "Smartcontract_directsale",
    "customProperties": null,
    "transactionParameters": [
        {
            "tokencount": 1,
            "policyId": "63cb7af8c980f0867940e765f36fa53ac948d9af51179742291a553e",
            "tokenname": "0001"
        }
    ],
    "paymentgatewayParameters": null,
    "decentralParameters": null,
    "auctionParameters": null,
    "directSaleParameters": {
        "priceInLovelace": 123000000
    },
    "customerIpAddress": "0.0.0.0",
    "paymentTransactionNotifications": null,
    "referer": null
}'

Response

You will now receive the following response, where the <Placeholders> will be automatically replaced by NMKR Studio. Please copy the <paymentTransactionUid> for the next step.

{
  "paymentTransactionUid": "<paymentTransactionUid>",
  "projectUid": "<NMKR Studio Project Id>",
  "paymentTransactionType": "smartcontract_directsale",
  "customProperties": {},
  "state": "prepared",
  "transactionParameters": [
    {
      "tokencount": 1,
      "policyId": "<PolicyId>",
      "tokenname": "<TokenName in hex format>"
    }
  ],
  "paymentTransactionCreated": "<Creation Date and Time>",
  "paymentgatewayResults": null,
  "paymentTransactionSubStateResult": {
    "paymentTransactionSubstate": "waitingforlocknft",
    "lastTxHash": null
  },
  "auctionResults": null,
  "directSaleResults": {
    "sellingPrice": <Selling price in Lovelace as integer>,
    "marketplaceAmount": <<Market place fee in Lovelace as integer>,
    "sellerAmount": <Seller amount Price in Lovelace as integer>,
    "royaltyAmount": <Royalty amount in Lovelace as integer>,
    "additionalPayoutAmount": null,
    "lockedInAmount": <Locked in amount in Lovelace as integer>,
    "sellerAddress": null,
    "buyerAddress": null,
    "sellerTxHash": null,
    "sellerTxCreate": null
  },
  "decentralParameters": null,
  "mintAndSendResults": null,
  "cbor": null,
  "signedCbor": null,
  "expires": null,
  "signGuid": null,
  "fee": null,json
  "txHash": null
}

The NMKR Pay links for the listing, as well as the sales can now be generated with the <paymentTransactionUid> that was given in the previous response.

Replace the <paymentTransactionUid> with the value that was given in the response.

https://pay.nmkr.io/?adsid=<paymentTransactionUid>&a=list

You can now use this link to list your token on the smart contract by signing the transaction via NMKR Pay.

The unlisting feature is currently being developed.

Replace the <paymentTransactionUid> with the value that was given in the response.

https://pay.nmkr.io/?adsid=<paymentTransactionUid>&a=buy

This link can be used to buy the token once the token was listed in the smart contract.

Replace the <paymentTransactionUid> with the value that was given in the response.

https://pay.nmkr.io/?adsid=<paymentTransactionUid>&a=manage

This link can be used to cancel the token listing once the token was listed in the smart contract. The token will be sent back to the wallet.

A listing can only be cancelled from the wallet that was used for the listing.