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
  • Get NFTs For User
  • Get NFT Bids For User
  • Get NFT Bids For NFT Post
  • Get NFT Showcase
  • Get Next NFT Showcase
  • Get NFT Collection Summary
  • Get NFT Entries For Post Hash

Was this helpful?

  1. DESO BACKEND
  2. Data: API

NFT Endpoints

Description of endpoints used to get data related to posts on the DeSo blockchain

PreviousNotification EndpointsNextSocial Endpoints

Last updated 2 years ago

Was this helpful?

Please make sure you've read Data: API so you are familiar with the following types referenced in this documentation:

Get NFTs For User

POST /api/v0/get-nfts-for-user

Get NFTs that a user owns, optionally filtering on for-sale status and pending (NFT transferred) status.

Endpoint implementation in .

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

Request Body

Name
Type
Description

UserPublicKeyBase58Check*

String

Public key for user who owns NFTs

ReaderPublicKeyBase58Check

String

Public key of the reader

IsForSale

Boolean

- If true, only return NFTs that are for sale.

- If false, only return NFTs that are not for sale.

- If not provided, return NFTs regardless of for sale status

IsPending

Boolean

- If IsForSale is provided, this value is ignored.

- Otherwise, if true, only return NFTs that are pending acceptance (NFTs that have been transferred but not accepted).

- If false, only return NFTs that are not pending acceptance. If not provided, return NFTs regardless of pending status

{
  "NFTsMap": { // Map of Post Hash Hex to an object containing a PostEntryResponse AND an NFTEntryResponse.
    "4bd205ec36bb13e76620b48ffc601340562c3ad7fa61b5343f0d9edc6ff6e2f8": {
      "PostEntryResponse": <PostEntryesponse>, // PostEntryResponse of the post that is an NFT owned by UserPublicKeyBase58Check
      "NFTEntryResponses": [<NFTEntryResponse>, <NFTEntryResponse>]// NFTEntryResponses describe the serial numbers of this NFT. There may be multiple for a given post if a user owns multiple NFTs
    },
  }
}

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

{
    // Response
}

Get NFT Bids For User

POST /api/v0/get-nft-bids-for-user

Get active bids for a user.

Request Body

Name
Type
Description

UserPublicKeyBase58Check*

String

Public key for user whose bids we want to find

ReaderPublicKeyBase58Check

String

Public key of the reader

{
   {
  "NFTBidEntries": [
    {
      "PublicKeyBase58Check": "BC1YLhtBTFXAsKZgoaoYNW8mWAJWdfQjycheAeYjaX46azVrnZfJ94s", // Public key of the user who submitted this bid
      "PostHashHex": "43b943880ff21f67b92941553233b9d0e6bcf7c56e9a533416873d4d0798d290", // Hex of Post hash of the post that is an NFT.
      "SerialNumber": 85, // Serial number on which this bid was submitted.
      "BidAmountNanos": 1000000000, // Amount of DeSo bid (in nanos)
      "HighestBidAmountNanos": 1000000000, // Highest bid amount currently on this serial number
      "LowestBidAmountNanos": 0, // Lowest bid amount currently on this serial number
      "BidderBalanceNanos": 5000000000 // DeSo balance of the bidder
    }
  ],
  "PostHashHexToPostEntryResponse": {
    "43b943880ff21f67b92941553233b9d0e6bcf7c56e9a533416873d4d0798d290": <PostEntryResponse>
  },
  "PublicKeyBase58CheckToProfileEntryResponse": {
    "BC1YLgF9Tt85ADrL4QiyX6xSGwGrqFWnLr9b5Mt8hfdk54Tg1JJzi9e": <ProfileEntryResponse>
  }
}

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

{
    // Response
}

Get NFT Bids For NFT Post

POST /api/v0/get-nft-bids-for-nft-post

Get all bids for all serial numbers of a given NFT post.

Request Body

Name
Type
Description

PostHashHex*

String

Hex of Post hash for which we want to fetch bids

ReaderPublicKeyBase58Check

String

Public key of the reader

{
  "BidEntryResponses": [ // Array of BidEntryResponses which represents all the bids on all serial numbers of NFTs with the provided PostHashHex.
    {
      "PublicKeyBase58Check": "BC1YLhtBTFXAsKZgoaoYNW8mWAJWdfQjycheAeYjaX46azVrnZfJ94s", // Public key of user who submitted bid
      "ProfileEntryResponse": <ProfileEntryResponse>,  // ProfileEntryResponse of user who submitted bid.
      "SerialNumber": 85, // Serial number on which this bid was submitted.
      "BidAmountNanos": 1000000000, // Amount of DeSo bid (in nanos).
      "BidderBalanceNanos": 5000000000 // DeSo balance of the bidder.
    }
  ],
  "NFTEntryResponses": [<NFTEntryResponse>, <NFTEntryResponse>, ...],// NFT entry responses for each serial number. There will be one for each serial number.
  "PostEntryResponse": <PostEntryResponse> // PostEntryResponse of the post that is an NFT.
}

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

{
    // Response
}

Get NFT Showcase

POST /api/v0/get-nft-showcase

Get summaries of all NFTs included in the NFT showcase.

Request Body

Name
Type
Description

ReaderPublicKeyBase58Check

String

Public key of the reader

{
  "NFTCollections": [<NFTCollectionResponse>, <NFTCollectionResponse>,...]
}
Name
Type
Description

NFTCollections

{
    // Response
}

Get Next NFT Showcase

POST /api/v0/get-next-nft-showcase

Get the time the next NFT showcase drop so it can be advertised to users

{
  "NextNFTShowcaseTstamp": 109872497124 // Time the next NFT showcase will drop
}
Name
Type
Description

NextNFTShowcaseTstamp

uint64

Time the next NFT showcase will drop

{
    // Response
}

Get NFT Collection Summary

POST /api/v0/get-nft-collection-summary

Request Body

Name
Type
Description

PostHashHex*

String

ReaderPublicKeyBase58Check

String

Public key of the reader

{
  "NFTCollectionResponse": {
    "ProfileEntryResponse": <ProfileEntryResponse>, // ProfileEntryResponse of the creator of the NFT
    "PostEntryResponse": <PostEntryResponse>, // PostEntryResponse of the post that is an NFT
    "HighestBidAmountNanos": 2000000000, // Highest bid amount currently on any serial number of this Post
    "LowestBidAmountNanos": 0, // Lowest bid amount currently on any serial number of this Post
    "HighestBidAmountNanos": 35000000000, // Highest buy now price currently on any serial number of this Post
    "LowestBidAmountNanos": 0, // Lowest buy now price currently on any serial number of this Post
    "NumCopiesForSale": 1, // Number of serial numbers currently for sale of this NFT post.
    "NumCopiesBuyNow": 1, // Number of serial numbers currently for sale as "Buy Now" NFTs - this means a user can purchase the NFT at the BuyNowPriceNanos without requiring an accept NFT bid transaction from the owner.
    "AvailableSerialNumbers": [15] // Array of integers representing the set of all serial numbers that are for sale of this NFT post.
  },
  SerialNumberToNFTEntryResponse: { // Map of serial number to NFT Entry Response
    1: <NFTEntryResponse>,
    2: <NFTEntryResponse>,
  }
}

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

{
    // Response
}

Get NFT Entries For Post Hash

POST /api/v0/get-nft-entries-for-nft-post

Gets an NFTEntryResponse for each serial number of this NFT post.

Request Body

Name
Type
Description

PostHashHex*

String

ReaderPublicKeyBase58Check

String

Public key of the reader

{
  "NFTEntryResponses": [<NFTEntryResponse>, <NFTEntryResponse>, ...] // There will be one NFT Entry response for each serial number.
}
Name
Type
Description

NFTEntryResponses

{
    // Response
}

Endpoint implementation in .

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

Endpoint implementation in .

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

Endpoint implementation in .

Example usage in frontend: - Make request to - Use GetNFTShowcase to

[]

Array of objects representing all the NFTs in the current NFT Showcase

Endpoint implementation in .

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

Get an that summarizes a single NFT post

Endpoint implementation in .

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

Hex of Post hash for which we want to fetch a

Endpoint implementation in .

Example usages in frontend: - Make request to

Hex of Post hash for which we want to fetch all objects

[]

An array of objects representing the current state of each serial number of the NFT post

3️⃣
backend
Get NFT Bids For User
show a user their outstanding bids when they view their own profile
backend
Get NFT Bids For NFT Post
show all active bids on all serial numbers of an NFT collection
backend
Get NFT Showcase
fetch all the NFTs to display in the NFT showcase
backend
Get Next NFT Showcase
show users the time at which the next NFT showcase drops
backend
Get NFT Collection Summary
a summary of the current state of the NFT collection and each serial number
backend
Get NFT Entries for Post Hash
NFTCollectionResponse
backend
Get NFTs For User
get NFTs to display in a gallery on a user's profile
ProfileEntryResponse
PostEntryResponse
BalanceEntryResponse
NFTEntryResponse
NFTCollectionResponse
NFTCollectionResponse
NFTCollectionResponse
NFTEntryResponse