LogoLogo
  • 🚀DeSo Vision
  • 🪙DeSo Tokenomics
    • No Equity, Just Coins and Code
    • Current DESO Supply
    • Initial DESO Distribution
    • DESO Sinks
    • The BMF: Burn-Maximizing Fee Mechanism
    • Designed for the End-Game
  • 🏛️DeSo Governance
  • ⭐DeSo Tutorial (Build Apps)
  • 🖥️Node Architecture Overview
    • Setup a Node & Frontend Locally
    • Making Your First Changes
  • 📅DeSo Roadmap
  • 🔍DeSo Block Explorer
  • 💸DeSo Wallet
  • 💬DeSo Chat Protocol
  • 👽Openfund
  • 👀Focus
  • 🛠️DeSo Tech Stack
  • 🌐DeSo Applications
  • DeSo Blockchain
    • 1️⃣Bare Metal
    • 2️⃣Scaling Roadmap
    • 3️⃣Content Moderation
    • 4️⃣Infinite-State
    • 5️⃣On-Chain Data
    • 6️⃣Smart Services
    • 7️⃣User Security
  • DeSo Features
    • 1️⃣Associations
    • 2️⃣Creator Coins
    • 3️⃣Feeds & Moderation
    • 4️⃣Social NFTs
    • 5️⃣Social Tipping
  • DeSo Identity
    • 1️⃣Identity: Overview
      • Core Concepts
      • Mobile Integration
    • 2️⃣Identity: iFrame API
      • Overview
      • Endpoints
    • 3️⃣Identity: Window API
      • Overview
      • Endpoints
  • DESO FRONTEND
    • 1️⃣Frontend: Get Started
    • 2️⃣Frontend: React Example
  • DESO BACKEND
    • 1️⃣Backend: Config
      • Onboarding
      • Phone Number Verification
      • Global State
      • Admins
      • Web Security
      • Media
        • Images
        • Videos
      • Hot Feed
      • Selling $DESO
        • Wyre - Buy with USD
        • Buy with BTC
        • Buy with ETH
      • Analytics
      • Emails
      • Supply Monitoring
    • 2️⃣Construct: API
      • Social Transactions API
      • NFT Transactions API
      • Financial Transactions API
      • Derived Keys Transaction API
      • DeSo Tokens Transactions API
      • Associations Transactions API
      • Access Groups API
    • 3️⃣Data: API
      • Admin Endpoints
      • Associations Endpoints
      • DeSo Tokens Endpoints
      • Media Endpoints
      • Miner Endpoints
      • Notification Endpoints
      • NFT Endpoints
      • Social Endpoints
      • Referral Endpoints
      • Tutorial Endpoints
      • Meta Data Endpoints
      • Transaction Spending Limits Endpoints
      • User Endpoints
      • Post Endpoints
      • Messages Endpoints
      • Access Group Endpoints
    • 4️⃣Transactions: API
  • DeSo Exchange Listings
    • 1️⃣Exchange Listing: API
  • DeSo Nodes
    • 2️⃣Node: Setup
    • 3️⃣Node: Staying Up-To-Date
    • 4️⃣Node: FAQ
  • DESO VALIDATORS
    • 1️⃣Run a Validator
  • Openfund
    • What is Openfund?
    • Openfund Tokenomics
    • Openfund Governance
    • Algorithmic Trading
      • The DeSo Python SDK
    • The DeSo Python SDK
      • Getting Help from the Community
      • Creating DeSo Testnet Accounts
      • Debugging Tips and Code Walkthrough
      • Write Blockchain Bots with AI
      • Market-Making Bots
      • Social AI Agents
      • AI-Generating Your Code
    • How Do the Advanced AMMs Work?
  • Focus
    • The Crypto Social Network
    • Next-Generation Token Mechanics
      • Launching Your Token
      • How the Order-Book AMMs Work
    • Crypto-Native Monetization
    • Focus Tokenomics
    • The Social Airdrop
    • Decentralizing Social Media
  • Contact And Media
    • ☀️DeSo Website
    • 📑DeSo Blog
    • 💻DeSo Github
    • 💎DeSo Diamond
    • 🐦DeSo Twitter
    • 📺DeSo YouTube
    • 📬Contact US
    • ⚠️Reporting an Account or Post
  • 中文
    • 什么是DeSo? (What is DeSo?)
    • 愿景 (The Vision)
Powered by GitBook
On this page
  • Create NFT
  • Update NFT
  • Create NFT Bid
  • Accept NFT Bid
  • Transfer NFT
  • Accept NFT Transfer
  • Burn NFT

Was this helpful?

  1. DESO BACKEND
  2. Construct: API

NFT Transactions API

Description of endpoints used to construct NFT Transactions on the DeSo blockchain

PreviousSocial Transactions APINextFinancial Transactions API

Last updated 2 years ago

Was this helpful?

Create NFT

POST /api/v0/create-nft

Create a create NFT transaction. Transaction needs to be signed and submitted through api/v0/submit-transaction before changes come into effect.

Create NFT transactions mints the post specified by NFTPostHashHex as an NFT.

Endpoint implementation in .

Example usages in frontend: - Make request to - Use CreateNFT to

Request Body

Name
Type
Description

NFTRoyaltyToCoinBasisPoints*

int

Percentage (specified in basis points) of each sale that should be added to the DeSo locked on the post creator's coin

NFTRoyaltyToCreatorBasisPoints*

int

Percentage (specified in basis points) of each sale that should be taken as a royalty to the creator of the post

TransactionFees

TransactionFee[]

Array of

objects that define additional outputs that need to be added to this transaction

HasUnlockable*

Boolean

When true, owner must provide unlockable text when selling this NFT

UpdaterPublicKeyBase58Check*

String

Public key of the user creating the NFT

IsForSale*

Boolean

When true, put all serial numbers on sale

MinBidAmountNanos

int

Minimum bid amount allowed for all serial numbers

NFTPostHashHex*

String

Hash of the Post being minted as an NFT

MinFeeRateNanosPerKB*

uint64

Rate per KB

NumCopies*

int

Number of copies to mint

IsBuyNow

Boolean

If IsForSale is false, this field is ignored. If IsBuyNow is true and IsForSale is true, all serial numbers will be put on sale and can be purchased outright at BuyNowPriceNanos. Please note that at this time, you cannot make an NFT contain an unlockable and set IsBuyNow to true.

BuyNowPriceNanos

uint64

The price at which another user can purchase this NFT without requiring an accept NFT bid transaction from the NFT owner

AdditionalDESORoyaltiesMap

map[string]uint64

A map of public key to basis points. Each public key specified will receive a royalty of each sale paid directly to their DeSo wallet. If a public key is mapped to 100 basis points, they will receive 1% of all sales.

AdditionalCoinRoyaltiesMap

map[string]uint64

A map of public key to basis points. Each public key specified will have a percentage of each sale added to the amount of DESO locked in their profile's creator coin. If a public key is mapped to 100 basis points, their creator coin will have 1% of the sale price added to the DESO locked.

{
  "NFTPostHashHex": "67f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0", // Post Hash Hex of post being minted as NFT
  "TotalInputNanos": 989250441,
  "ChangeAmountNanos": 989250210,
  "FeeNanos": 231,
  "Transaction": {
    "TxInputs": [
      {
        "TxID": [...],
        "Index": 0
      }
    ],
    "TxOutputs": [
      {
        "PublicKey": "Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",
        "AmountNanos": 989250210
      }
    ],
    "TxnMeta": {
      "NFTPostHash": [103,248,14,166,144,139,147,204,169,33,162,164,158,242,104,173,55,55,86,181,186,69,175,244,224,107,247,163,31,127,32,192], // Bytes of the Post Hash that is being minted as an NFT
      "NumCopies": 1, // Number of copies of this NFT. Each has a unique serial number.
      "HasUnlockable": false, // If true, this post contains unlockable content that the seller must provide and encrypt when selling this NFT
      "IsForSale": true, // If true, bids can be submitted for any serial number of this NFT. If false, bids are not currently allowed for any serial number of this NFT.
      "MinBidAmountNanos": 106951871, // Minimum amount of DeSo (in nanos) that can be bid for any serial number.
      "NFTRoyaltyToCreatorBasisPoints": 500, // Percentage in basis points of NFT sales that will go to the creator
      "NFTRoyaltyToCoinBasisPoints": 1000 // Percentage in basis points of NFT sales that will be added to the amount locked in the NFT creator's coin
    },
    "PublicKey": "Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",
    "ExtraData": {
      "BuyNowPriceNanos": "gIzuiRo=", // Buy Now Price in DESO nanos
      "CoinRoyaltiesMap": "AQKqPcjSmeoeSRTeZklO0+Fu2poNZXGdUjwamgPL+fYMRWQ=", // Map of public key to basis points representing royalties paid as DESO locked in creator coins
      "DESORoyaltiesMap": "AQI5exqA66CmBkRlCvE8Km/9+784gwyvw0k3p13dRLjOUvQD"// Map of public key to basis points representing royalties paid in DESO
    },
    "Signature": null,
    "TxnTypeJSON": 15
  },
  "TransactionHex": "0167f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0000102aa3dc8d299ea1e4914de66494ed3e16eda9a0d65719d523c1a9a03cbf9f60c45a285dbd7030f2b67f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0010001bfe9ff32f403e8072102aa3dc8d299ea1e4914de66494ed3e16eda9a0d65719d523c1a9a03cbf9f60c450000"
}

...coming soon! See comments in sample response for descriptions for now.

{
    // Response
}

Update NFT

POST /api/v0/update-nft

Create an update NFT transaction. Transaction needs to be signed and submitted through api/v0/submit-transaction before changes come into effect.

Update NFT transactions can put a given serial number on sale or take it off sale or update the minimum bid amount.

Request Body

Name
Type
Description

UpdaterPublicKeyBase58Check*

String

Public key of the user creating the NFT

NFTPostHashHex*

String

Hash of the NFT Post being updated

SerialNumber*

int

serial number to update

IsForSale*

Boolean

When true, put this serial number on sale

MinBidAmountNanos*

int

Minimum bid amount allowed for this serial number

MinFeeRteNanosPerKB*

uint64

Rate per KB

TransactionFees

TransactionFee[]

Array of

objects that define additional outputs that need to be added to this transaction

IsBuyNow

Boolean

If IsForSale is false, this field is ignored. If IsBuyNow is true and IsForSale is true, all serial numbers will be put on sale and can be purchased outright at BuyNowPriceNanos. Please note that at this time, you cannot make an NFT contain an unlockable and set IsBuyNow to true.

BuyNowPriceNanos

uint64

The price at which another user can purchase this NFT without requiring an accept NFT bid transaction from the NFT owner

{
  "NFTPostHashHex": "67f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0", // Post Hash Hex of NFT post being updated
  "SerialNumber": 1, // Serial number of NFT post that is being updated
  "TotalInputNanos": 989249984,
  "ChangeAmountNanos": 989249757,
  "FeeNanos": 227,
  "Transaction": {
    "TxInputs": [
      {
        "TxID": [...],
        "Index": 0
      }
    ],
    "TxOutputs": [
      {
        "PublicKey": "Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",
        "AmountNanos": 989249757
      }
    ],
    "TxnMeta": {
      "NFTPostHash": [103,248,14,166,144,139,147,204,169,33,162,164,158,242,104,173,55,55,86,181,186,69,175,244,224,107,247,163,31,127,32,192], // Bytes of Post Hash being updated in this transaction
      "SerialNumber": 1, // Serial number of NFT post being updated in this transaction
      "IsForSale": true, // If true, the NFT will now be on sale. If false, the NFT will NOT be on sale
      "MinBidAmountNanos": 1000000000 // The minimum bid amount allowed on this NFT
    },
    "PublicKey": "Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",
    "ExtraData": {
      "BuyNowPriceNanos": "gMivoCU=" // Buy Now prices in DESO nanos
    },
    "Signature": null,
    "TxnTypeJSON": 16
  },
  "TransactionHex": "01eef1a4195e53cfaa4804443c2969525494ee9511c840f9f711f5c87d9449f2b5000102aa3dc8d299ea1e4914de66494ed3e16eda9a0d65719d523c1a9a03cbf9f60c45dd81dbd703102767f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c001018094ebdc032102aa3dc8d299ea1e4914de66494ed3e16eda9a0d65719d523c1a9a03cbf9f60c450000"
}

...coming soon! See comments in sample response for descriptions for now.

{
    // Response
}

Create NFT Bid

POST /api/v0/create-nft-bid

Create an NFT bid transaction. Transaction needs to be signed and submitted through api/v0/submit-transaction before changes come into effect.

NFT Bid transactions submit a bid on an NFT. If the owner of the NFT accepts this bid - by submitting an Accept NFT Bid transaction - the bidder will send the bid amount to the owner and in return receive the NFT.

If you submit a bid on the same serial number NFT post combination, it will overwrite your previous bid. Submitting a bid with 0 as BidAmountNanos will withdraw your bid.

Request Body

Name
Type
Description

UpdaterPublicKeyBase58Check*

String

Public key of the user submitting the bid

NFTPostHashHex*

String

Hash of the NFT Post being bid on

SerialNumber*

int

serial number to bid on

BidAmountNanos*

int

Amount UpdaterPublicKeyBase58Check is bidding on this serial number

MinFeeRateNanosPerKB*

uint64

Rate per KB

TransactionFees

TransactionFee]

Array of

objects that define additional outputs that need to be added to this transaction

{
  "UpdaterPublicKeyBase58Check": "tBCKVERmG9nZpHTk2AVPqknWc1Mw9HHAnqrTpW1RnXpXMQ4PsQgnmV", // Public key of user submitting bid in this transaction
  "NFTPostHashHex": "67f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0", // Post Hash Hex of the NFT post being bid on
  "SerialNumber": 1, // Serial number being bid on
  "BidAmountNanos": 1000000000, // Amount bid in DeSo nanos
  "TotalInputNanos": 49578,
  "ChangeAmountNanos": 49352,
  "FeeNanos": 226,
  "Transaction": {
    "TxInputs": [
      {
        "TxID": [...],
        "Index": 0
      }
    ],
    "TxOutputs": [
      {
        "PublicKey": "Ajl7GoDroKYGRGUK8Twqb/37vziDDK/DSTenXd1EuM5S",
        "AmountNanos": 49352
      }
    ],
    "TxnMeta": {
      "NFTPostHash": [103,248,14,166,144,139,147,204,169,33,162,164,158,242,104,173,55,55,86,181,186,69,175,244,224,107,247,163,31,127,32,192], // Bytes of Post Hash that is being bid on
      "SerialNumber": 1, // Serial number being bid on
      "BidAmountNanos": 1000000000 // Amount bid in DeSo nanos
    },
    "PublicKey": "Ajl7GoDroKYGRGUK8Twqb/37vziDDK/DSTenXd1EuM5S",
    "ExtraData": null,
    "Signature": null,
    "TxnTypeJSON": 18
  },

...coming soon! See comments in sample response for descriptions for now.

{
    // Response
}

Accept NFT Bid

POST /api/v0/accept-nft-bid

Create an accept NFT Bid transaction. Transaction needs to be signed and submitted through api/v0/submit-transaction before changes come into effect.

Accept NFT Bid transactions accepts a bid, divides the proceeds of the bid amount among the owner, creator, and creator coin based on royalties, and updates the owner of the NFT to be the bidder selected.

Note that if you are selling an NFT that has unlockable content, you must encrypt the unlockable content and provide it.

Request Body

Name
Type
Description

UpdaterPublicKeyBase58Check*

String

Public key of the current NFT Owner

NFTPostHashHex*

String

Hash of the NFT Post being sold

SerialNumber*

int

serial number to being sold

BidderPublicKeyBase58Check*

String

Public key of the bidder being award the NFT

BidAmountNanos*

int

Bid amount being accepted

EncryptedUnlockableText

String

Text encrypted with a shared secret between the current owner and the bidder Required if NFT has unlockable content

MinFeeRateNanosPerKB*

uint64

Rate per KB

TransactionFees

TransactionFee[]

Array of

objects that define additional outputs that need to be added to this transaction

{
  "BidderPublicKeyBase58Check": "tBCKVERmG9nZpHTk2AVPqknWc1Mw9HHAnqrTpW1RnXpXMQ4PsQgnmV", // Bidder whose bid was accepted for this NFT
  "NFTPostHashHex": "67f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0", // Post Hash Hex of NFT post being sold
  "SerialNumber": 1, // Serial number being sold
  "BidAmountNanos": 1000000000, // Bid amount being accepted
  "TotalInputNanos": 989249757,
  "ChangeAmountNanos": 989249428,
  "FeeNanos": 329,
  "Transaction": {
    "TxInputs": [
      {
        "TxID": [...],
        "Index": 0
      }
    ],
    "TxOutputs": [
      {
        "PublicKey": "Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",
        "AmountNanos": 989249428
      }
    ],
    "TxnMeta": {
      "NFTPostHash": [103,248,14,166,144,139,147,204,169,33,162,164,158,242,104,173,55,55,86,181,186,69,175,244,224,107,247,163,31,127,32,192], // Bytes of Post Hash being sold
      "SerialNumber": 1, // Serial number being sold
      "BidderPKID": [2,57,123,26,128,235,160,166,6,68,101,10,241,60,42,111,253,251,191,56,131,12,175,195,73,55,167,93,221,68,184,206,82], // Bytes of Bidder's PKID
      "BidAmountNanos": 1000000000, // Bid amount being accepted
      "UnlockableText": null, // Encrypted unlockableable text if available
      "BidderInputs": [ // Bidder Inputs used for purchasing the NFT
        {
          "TxID": [...],
          "Index": 0
        },
      ]
    },
    "PublicKey": "Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",
    "ExtraData": null,
    "Signature": null,
    "TxnTypeJSON": 17
  },
  "TransactionHex": "0119a8f2fc3402e0501144ccf9a44d00d6045700ed9036f4770dc46e8297ee1756000102aa3dc8d299ea1e4914de66494ed3e16eda9a0d65719d523c1a9a03cbf9f60c4594ffdad703118c0167f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0012102397b1a80eba0a60644650af13c2a6ffdfbbf38830cafc34937a75ddd44b8ce528094ebdc030002b9f8047e628ff03054d8ffd0abedcd253aece89d9c97cfbcd067eaf5b8d1000a0015cf97ab3fba7c54283874c6928ff05ccf59bf0e1cb3f951cff2f1adee2bea79002102aa3dc8d299ea1e4914de66494ed3e16eda9a0d65719d523c1a9a03cbf9f60c450000"
}

...coming soon! See comments in sample response for descriptions for now.

{
    // Response
}

Transfer NFT

POST /api/v0/transfer-nft

Create a transfer NFT transaction. Transaction needs to be signed and submitted through api/v0/submit-transaction before changes come into effect.

Transfer NFT transactions sends an NFT from the sender to the receiver at no cost to the receiver. NFT transfers will be pending until receiver submits an Accept NFT Transfertransaction

Request Body

Name
Type
Description

SenderPublicKeyBase58Check*

String

Public key of the current NFT Owner

ReceiverPublicKeyBase58Check*

String

Public key of the recipient of the NFT

NFTPostHashHex*

String

Hash of the NFT Post being transferred

SerialNumber*

int

Serial number being transferred

EncryptedUnlockableText

String

Text that encrypted with a shared secret between the current owner and the receiver Required if NFT has unlockable content

MinFeeRateNanosPerKB*

uint64

Rate per KB

TransactionFees

TransactionFee[]

Array of

objects that define additional outputs that need to be added to this transaction

{
  "SenderPublicKeyBase58Check": "tBCKVERmG9nZpHTk2AVPqknWc1Mw9HHAnqrTpW1RnXpXMQ4PsQgnmV", // Public key of the user sending the NFT
  "ReceiverPublicKeyBase58Check": "tBCKW665XZnvVZcCfcEmyeecSZGKAdaxwV2SH9UFab6PpSRikg4EJ2", // Public key of the user receiving the NFT
  "NFTPostHashHex": "67f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0", // Post Hash Hex of NFT being transferred
  "SerialNumber": 1, // Serial number being transferred
  "TotalInputNanos": 49352,
  "ChangeAmountNanos": 49096,
  "FeeNanos": 256,
  "Transaction": {
    "TxInputs": [
      {
        "TxID": [...],
        "Index": 3
      }
    ],
    "TxOutputs": [
      {
        "PublicKey": "Ajl7GoDroKYGRGUK8Twqb/37vziDDK/DSTenXd1EuM5S",
        "AmountNanos": 49096
      }
    ],
    "TxnMeta": {
      "NFTPostHash": [103,248,14,166,144,139,147,204,169,33,162,164,158,242,104,173,55,55,86,181,186,69,175,244,224,107,247,163,31,127,32,192], // Bytes of Post Hash being transferred
      "SerialNumber": 1, // Serial number being transferred
      "ReceiverPublicKey": "Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF", // Public key of user receiving NFT
      "UnlockableText": "" // Encrypted unlockable text
    },
    "PublicKey": "Ajl7GoDroKYGRGUK8Twqb/37vziDDK/DSTenXd1EuM5S",
    "ExtraData": null,
    "Signature": null,
    "TxnTypeJSON": 19
  },
  "TransactionHex": "01dde32daf6f9abcd2994d671e603a13f7c5d56dd97ae31ff07d4192a884792d5f030102397b1a80eba0a60644650af13c2a6ffdfbbf38830cafc34937a75ddd44b8ce52c8ff02134467f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0012102aa3dc8d299ea1e4914de66494ed3e16eda9a0d65719d523c1a9a03cbf9f60c45002102397b1a80eba0a60644650af13c2a6ffdfbbf38830cafc34937a75ddd44b8ce520000"
}

...coming soon! See comments in sample response for descriptions for now.

{
    // Response
}

Accept NFT Transfer

POST /api/v0/accept-nft-transfer

Create an accept NFT Transfer transaction. Transaction needs to be signed and submitted through api/v0/submit-transaction before changes come into effect.

Accept NFT Transfer transaction changes a transferred NFT status from pending to not pending. Since anybody can send a user an NFT, the recipient needs to accept the transfer before the NFT can appear on their profile in order to prevent users from sending spam NFTs.

Request Body

Name
Type
Description

UpdaterPublicKeyBase58Check*

String

Public key of the user accepting the NFT transfer

NFTPostHashHex*

String

Hash of the NFT Post for which the transfer is being accepted

SerialNumber*

int

serial number for which the transfer is being accepted

MinFeeRateNanosPerKB*

uint64

Rate per KB

TransactionFees

TransactionFee[]

Array of

objects that define additional outputs that need to be added to this transaction

{
  "UpdaterPublicKeyBase58Check": "tBCKW665XZnvVZcCfcEmyeecSZGKAdaxwV2SH9UFab6PpSRikg4EJ2", // Public key of user accepting NFT transfer
  "NFTPostHashHex": "67f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0", // Post Hash Hex of the NFT that is being accepted
  "SerialNumber": 1, // Serial Number whose transfer is being accepted
  "TotalInputNanos": 50000000,
  "ChangeAmountNanos": 49999779,
  "FeeNanos": 221,
  "Transaction": {
    "TxInputs": [
      {
        "TxID": [...],
        "Index": 2
      }
    ],
    "TxOutputs": [
      {
        "PublicKey": "Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",
        "AmountNanos": 49999779
      }
    ],
    "TxnMeta": {
      "NFTPostHash": [103,248,14,166,144,139,147,204,169,33,162,164,158,242,104,173,55,55,86,181,186,69,175,244,224,107,247,163,31,127,32,192], // Bytes of the Post Hash of the NFT whose transferred is being accepted
      "SerialNumber": 1 // Serial Number whose transfer is being accepted
    },
    "PublicKey": "Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",
    "ExtraData": null,
    "Signature": null,
    "TxnTypeJSON": 20
  },
  "TransactionHex": "01dde32daf6f9abcd2994d671e603a13f7c5d56dd97ae31ff07d4192a884792d5f020102aa3dc8d299ea1e4914de66494ed3e16eda9a0d65719d523c1a9a03cbf9f60c45a3dfeb17142167f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0012102aa3dc8d299ea1e4914de66494ed3e16eda9a0d65719d523c1a9a03cbf9f60c450000"
}

...coming soon! See comments in sample response for descriptions for now.

{
    // Response
}

Burn NFT

POST /api/v0/burn-nft

Create a Burn NFT transaction. Transaction needs to be signed and submitted through api/v0/submit-transaction before changes come into effect.

NFT Burn transactions burns the NFT, meaning that no user can ever own that Post hash-serial number combination.

Endpoint implementation in backend.

Request Body

Name
Type
Description

UpdaterPublicKeyBase58Check*

String

Public key of the user burning the NFT transfer

NFTPostHashHex*

String

Hash of the NFT Post that is being burnt

SerialNumber*

int

serial number that is being burnt

MinFeeRateNanosPerKB*

uint64

Rate per KB

TransactionFees

TransactionFee[]

Array of

objects that define additional outputs that need to be added to this transaction

{
  "UpdaterPublicKeyBase58Check": "tBCKW665XZnvVZcCfcEmyeecSZGKAdaxwV2SH9UFab6PpSRikg4EJ2", // Public key of user burning the NFT
  "NFTPostHashHex": "67f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0", // Post Hash Hex of NFT being burned
  "SerialNumber": 1, // Serial number being burned
  "TotalInputNanos": 49999779,
  "ChangeAmountNanos": 49999558,
  "FeeNanos": 221,
  "Transaction": {
    "TxInputs": [
      {
        "TxID": [...],
        "Index": 0
      }
    ],
    "TxOutputs": [
      {
        "PublicKey": "Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",
        "AmountNanos": 49999558
      }
    ],
    "TxnMeta": {
      "NFTPostHash": [103,248,14,166,144,139,147,204,169,33,162,164,158,242,104,173,55,55,86,181,186,69,175,244,224,107,247,163,31,127,32,192], // Bytes of Post Hash being burned 
      "SerialNumber": 1 // Serial number being burned
    },
    "PublicKey": "Aqo9yNKZ6h5JFN5mSU7T4W7amg1lcZ1SPBqaA8v59gxF",
    "ExtraData": null,
    "Signature": null,
    "TxnTypeJSON": 21
  },
  "TransactionHex": "0161b49620c72975d8397836c6b28981a0257d846e28ee74b296264bf1e2109036000102aa3dc8d299ea1e4914de66494ed3e16eda9a0d65719d523c1a9a03cbf9f60c45c6ddeb17152167f80ea6908b93cca921a2a49ef268ad373756b5ba45aff4e06bf7a31f7f20c0012102aa3dc8d299ea1e4914de66494ed3e16eda9a0d65719d523c1a9a03cbf9f60c450000"
}

...coming soon! See comments in sample response for descriptions for now.

{
    // Response
}

Endpoint implementation in .

Example usages in frontend: - Make request to - Use UpdateNFT to - Use UpdateNFT to

Endpoint implementation in .

Example usages in frontend: - Make request to - Use CreateNFTBid to

Endpoint implementation in .

Example usages in frontend: - Make request to including encrypting unlockable content if applicable - Use AcceptNFTBid to - Use AcceptNFTBid to

Endpoint implementation in .

Example usages in 's frontend: - Make request to - Use Transfer NFT to

Endpoint implementation in .

Example usages in 's frontend: - Make request to - Use AcceptNFTTransfer to 0/accept-nft-transfer

Example usages in frontend: - Make request to - Use BurnNFT to

2️⃣
backend
Create NFT
mint a post as an NFT
backend
Update NFT
put an NFT on sale
close the auction on an NFT without selling
backend
Create NFT Bid
submit a bid for an NFT
backend
Accept NFT Bid
sell an NFT without unlockable content
sell an NFT with unlockable content
backend
diamondapp.com
Transfer NFT
send NFT to another user
backend
diamondapp.com
Accept NFT Transfer
make NFT appear on your profi
Burn NFT
burn the NFT
TransactionFee
TransactionFee
TransactionFee
TransactionFee
TransactionFee
TransactionFee
TransactionFee