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 Hodlers For Public Key
  • Get Diamonds for Public Key
  • Get Follows Stateless
  • Is Following Public Key
  • Is Hodling Public Key

Was this helpful?

  1. DESO BACKEND
  2. Data: API

Social Endpoints

Description of endpoints used to get social data on the DeSo blockchain

PreviousNFT EndpointsNextReferral 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 Hodlers For Public Key

POST /api/v0/get-hodlers-for-public-key

Get objects for users who are holding (or held by) a certain public key's creator coin. Endpoint implementation in .

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

Request Body

Name
Type
Description

PublicKeyBase58Check

String

Public key for which you want to fetch hodlings or hodlers Required only if Username is not provided

Username

String

Username for which you want to fetch hodlings or hodlers Required only if PublicKeyBase58Check is not provided

LastPublicKeyBase58Check

String

Public key of the last hodler/hodlee from the previous page. Indicates the point at which we want to start returning results.

NumToFetch

uint64

number of records to fetch

FetchHodlings

Boolean

If true, fetch balance entries for hodlings of the user instead of balance entries for hodlers of the user's coin

FetchAll

Boolean

if true, fetch all results. Supercedes NumToFetch.

IsDAOCoin

Boolean

If true, fetch hodlers of DAO coin instead of creator coin

{
    Hodlers: [<BalanceEntryResponse>, <BalanceEntryResponse>],
    LastPublicKeyBase58Check: "BC1YLianxEsskKYNyL959k6b6UPYtRXfZs4MF3GkbWofdoFQzZCkJRB" 
}
Name
Type
Description

Hodlers

LastPublicKeyBase58Check

String

{
    // Response
}

Get Diamonds for Public Key

POST /api/v0/get-diamonds-for-public-key

Get a list of objects representing all the diamonds a user has given or received.

Request Body

Name
Type
Description

PublicKeyBase58Check*

String

Public key of the user for whom we want to fetch diamonds

FetchYouDiamonded

Boolean

If true, fetch diamonds this user gave out instead of diamond this user received

{
    DiamondSenderSummaryResponses: [
        {
            SenderPublicKeyBase58Check: "BC1YLhtBTFXAsKZgoaoYNW8mWAJWdfQjycheAeYjaX46azVrnZfJ94s", // Public Key of the user who sent the diamond
            ReceiverPublicKeyBase58Check: "BC1YLgxLrxvq5mgZUUhJc1gkG6pwrRCTbdT6snwcrsEampjqnSD1vck", // Public key of the user who received the diamond
            TotalDiamonds: 8, // The number of diamonds the sender has sent to the receiver.
            HighestDiamondLevel: 2, // The highest level of diamond the sender has sent to the receiver.
            DiamondLevelMap: { 1: 4, 2: 2 }, // Map of diamond level to the number of times the sender gave that level of diamond to the receiver.
            ProfileEntryResponse: <ProfileEntryResponse>, // If FetchYouDiamonded is true, this will be the profile of the receiver. If false, this will be the profile of the sender.
        },
    ],
    TotalDiamonds: 555 // Total number of diamonds received or given by the profile that matches PublicKeyBase58Check
}

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

{
    // Response
}

Get Follows Stateless

POST /api/v0/get-follows-stateless

Get followers of a certain user/public key or get users followed by a certain user/public key and the total number of followers/followees.

Endpoint implementation in backend.

Request Body

Name
Type
Description

PublicKeyBase58Check

String

Public key for which we want to fetch followers or followees Required only if Username is not provided

Username

String

Username for which we want to fetch followers or following Required only if PublicKeyBase58Check is not provided

GetEntriesFollowingUsername

Boolean

- If true, get entries that are following the specified user.

- If false, get entries that are followed by the specified user.

LastPublicKeyBase58Check

String

Public key of the last follower/followee from the previous page. Indicates the point at which we want to start returning results.

NumToFetch

uint64

number of records to fetch

{
  PublicKeyToProfileEntry: { // Map of public key to ProfileEntryResponse representing followers or followees
    "BC1YLfuD5AGm2guj3q5wF7WGi3jTUzNhHUHc84GtVsk9kHyxbnk5V1H" : <ProfileEntryResponse>
  }, 
  NumFollowers: 17707 // Total number of followers or followees
}

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

{
    // Response
}

Is Following Public Key

POST /api/v0/is-following-public-key

Check if the user is following a public key.

Request Body

Name
Type
Description

PublicKeyBase58Check*

String

Public key of the user that may be following

IsFollowingPublicKeyBase58Check*

String

Public key of the creator we want to check if the user is following

{
  IsFollowing: true // true if the user is following the IsFollowingPublicKeyBase58Check. Otherwise, false.
}
Name
Type
Description

IsFollowing

Boolean

true if the user is following the IsFollowingPublicKeyBase58Check. Otherwise, false

{
    // Response
}

Is Hodling Public Key

POST /api/v0/is-hodling-public-key

Check if the user holds the creator coin of a public key. If user is holding some amount of creator coin, we return the BalanceEntryResponse representing how much the user holds.

Request Body

Name
Type
Description

PublicKeyBase58Check*

String

Public key of the user that may be holding the creator coin of IsHodlingPublicKeyBase58Check

IsHodlingPublicKeyBase58Check*

String

Public key of the creator we want to check that the user is holding

IsDAOCoin

Boolean

If true, check if this public key is hodling the DAO coin instead of creator coin

{
  IsHodling: true, // true if the user holds the creator coin of IsHodlingPublicKeyBase58Check, Otherwise, false.
  BalanceEntry: <BalanceEntryResponse> // Balance entry that shows the amount of creator coins the user holds.
}
Name
Type
Description

IsHodling

Boolean

true if the user holds the creator coin of IsHodlingPublicKeyBase58Check, Otherwise, false.

BalanceEntry

{
    // Response
}

[]

Array of objects representing the users who hold (or are held by) the provided public key or username. Each tells you how much that user is holding.

Public key of the last object from this page of results. Used to fetch the next page of results.

Endpoint implementation in .

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

Example usages in frontend: - Make request to - Use GetFollows to show - Use GetFollows to

Endpoint implementation in .

Endpoint implementation in .

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

that shows the amount of creator coins the user holds.

3️⃣
backend
Get Diamonds For Public Key
show all users who have given a creator a diamond, how many diamonds they've given to that creator, and the highest level of diamond
Get Follows Stateless
the total number of users following a creator and the total number of users followed by a creator
see all users who follow (or alternatively are followed by) a creator
backend
backend
Is Hodling Public Key
check if a user is a DAO member and can be transferred a DAO coin that is restricted to DAO members only.
backend
Get Hodlers For Public Key
show all the users who are holding a creator's coin or a creator's DAO coin
see all users who hold your DAO coin
see all DAO coins you hold
ProfileEntryResponse
PostEntryResponse
BalanceEntryResponse
NFTEntryResponse
NFTCollectionResponse
BalanceEntryResponse