Backend API
General Endpoints
Index
Basic endpoint to test if your BitClout node is running.
Parameters
None
Response
Health Check
Check if your BitClout node is synced
Parameters:
None
Response:
If node is synced and received all transactions.
Get Exchange Rate
Get BitClout exchange rate, total amount of nanos sold, and Bitcoin exchange rate.
Parameters:
None
Response:
Get App State
Get state of BitClout App, such as cost of profile creation and diamond level map. Example use in the frontend and endpoint implementation in backend.
Parameters
None; however, you need to send an empty JSON { }
. Otherwise, you will get 400 - Bad Request. More info on the request here.
Name | Type | Description |
PublicKeyBase58Check | string | (optional) check public key |
Response
Transaction Endpoints
Get Txn
Check if Txn is currently in mempool. Example use in the frontend and endpoint implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
TxnHashHex | string | Transaction hash |
Response
Submit Transaction
Submit transaction to BitClout blockchain. Example use in frontend and endpoint implementation in backend.
Parameters
Read more on transaction format here. More info on the request here.
Name | Type | Description |
TransactionHex | string | Transaction hash |
Response
Update Profile
Update profile fields and receive corresponding Txn. Transaction needs to be signed and submitted through api/v0/submit-transaction
before changes come into effect. Example use in frontend and endpoint implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
UpdaterPublicKeyBase58Check | string | Public key of updater |
ProfilePublicKeyBase58Check | string | (optional) Public key of the profile if different from updater |
NewUsername | string | Username |
NewDescription | string | Description |
NewProfilePic | string | Profile picture |
NewCreatorBasisPoints | uint64 | Creator Reward |
NewStakeMultipleBasisPoints | uint64 | Staking Reward |
IsHidden | bool | |
MinFeeRateNanosPerKB | uint64 | Rate per KB |
Response
Burn Bitcoin
TODO
Send BitClout
Prepare transaction for sending BitClout. Transaction needs to be signed and submitted through api/v0/submit-transaction
before changes come into effect. Example use in frontend and endpoint implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
SenderPublicKeyBase58Check | string | Public key of the sender |
RecipientPublicKeyOrUsername | string | Public key of the recipient |
AmountNanos | int64 | transaction amount in nanos |
MinFeeRateNanosPerKB | uint64 | Rate per KB |
Response
Submit Post
Prepare transaction for submiting a post. Transaction needs to be signed and submitted through api/v0/submit-transaction
before changes come into effect. Example use in frontend and endpoint implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
UpdaterPublicKeyBase58Check | string | Public key of the updater |
PostHashHexToModify | string | (optional) Modified post's hash |
ParentStakeID | string | (optional) |
Title | string | (optional) |
BodyObj | json | {Body: STRING, ImageURLs: []} |
RecloutedPostHashHex | string | (optional) hash of post to modify |
PostExtraData | json | (optional) extra data, values must be strings |
IsHidden | bool | |
MinFeeRateNanosPerKB | uint64 | Rate per KB |
Response
Create Follow Txn Stateless
Prepare a follow/unfollow transaction. Transaction needs to be signed and submitted through api/v0/submit-transaction
before changes come into effect. Example use in frontend and endpoint implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
FollowerPublicKeyBase58Check | string | Public key of creator followed |
FollowedPublicKeyBase58Check | string | Public key of follower |
IsUnfollow | bool | false if follow / true if unfollow |
MinFeeRateNanosPerKB | uint64 | Rate per KB |
Response
Creator Like Stateless
Prepare a like/unlike transaction. Transaction needs to be signed and submitted through api/v0/submit-transaction
before changes come into effect. Example use in frontend and implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
ReaderPublicKeyBase58Check | string | Public key of reader |
LikedPostHashHex | string | Hash of liked post |
IsUnlike | bool | false if like / true if unlike |
MinFeeRateNanosPerKB | uint64 | Rate per KB |
Response
Buy or Sell Creator Coin
Prepare transaction for buying/selling creator coin. Transaction needs to be signed and submitted through api/v0/submit-transaction
before changes come into effect. Example use in frontend and implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
UpdaterPublicKeyBase58Check | string | Public key of updater |
CreatorPublicKeyBase58Check | string | Public key of creator |
OperationType | string | "buy" or "sell" |
BitCloutToSellNanos | uint64 | Amount of BitClout to spend |
CreatorCoinToSellNanos | uint64 | Amount of Creator Coin to spend |
BitCloutToAddNanos | uint64 | 0 |
MinBitCloutExpectedNanos | uint64 | 0 |
MinCreatorCoinExpectedNanos | uint64 | 0 |
MinFeeRateNanosPerKB | uint64 | Rate per KB |
Response
Transfer Creator Coin
Prepare transaction for transfering creator coin. Transaction needs to be signed and submitted through api/v0/submit-transaction
before changes come into effect. Example use in frontend and implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
SenderPublicKeyBase58Check | string | Public key of sender |
CreatorPublicKeyBase58Check | string | Public key of creator |
ReceiverUsernameOrPublicKeyBase58Check | string | username or public key of receiver |
CreatorCoinToTransferNanos | uint64 | Amount of Creator Coin to transfer |
MinFeeRateNanosPerKB | uint64 | Rate per KB |
Response
Send Diamonds
Prepare transaction for sending diamonds 💎. Transaction needs to be signed and submitted through api/v0/submit-transaction
before changes come into effect. Example use in frontend and implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
SenderPublicKeyBase58Check | string | Public key of sender |
ReceiverPublicKeyBase58Check | string | Public key of receiver |
DiamondPostHashHex | string | Hash of post receiving diamond |
DiamondLevel | int64 | Diamond level |
MinFeeRateNanosPerKB | uint64 | Rate per KB |
Response
User Endpoints
Get Users Stateless
Get information about users. Request contains a list of public keys of users to fetch. Example use in frontend and implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
PublicKeysBase58Check | []string | list of public keys |
SkipHodlings | bool | HODL |
Response
Delete Identities
Temporary route to wipe seedinfo cookies. This endpoint relies on identity api. Example use in frontend and implementation in backend.
Parameters
None
Response
None
Get Profiles
Get user profile information. Default number of returned profiles is 20. Example use in frontend and implementation in backend.
Parameters
OrderBy possible values: {"influencer_stake", "influencer_post_stake", "newest_last_post", "newest_last_comment", "influencer_coin_price"}
. More info on the request here.
Name | Type | Description |
PublicKeyBase58Check | string | (optional) Check public key |
Username | string | (optional) reader username |
UsernamePrefix | string | (optional) username prefix |
Description | string | (optional) description |
OrderBy | string | Order ENUM |
NumToFetch | uint32 | (optional) number of profiles to fetch |
ReaderPublicKeyBase58Check | string | Reader public key |
ModerationType | string | (optional) empty string or "leaderboard" |
FetchUsersThatHODL | bool | If single profile is requested, return a list of HODLers |
AddGlobalFeedBool | bool | If set to true posts in response will contain boolean if they are in global feed |
Response
Get Single Profile
Get information about single profile. Example use in frontend and implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
PublicKeyBase58Check | string | (optional) Check public key |
Username | string | profile username |
Response
Get Hodlers For Public Key
Example use in frontend and implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
PublicKeyBase58Check | string | (optional) check public key |
Username | string | profile username |
LastPublicKeyBase58Check | string | (optional) last public key check |
NumToFetch | uint64 | number of records to fetch |
FetchHodlings | bool | if true fetch balance for hodlings |
FetchAll | bool | if true fetch all |
Response
Get Diamonds for Public Key
Example use in frontend and implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
PublicKeyBase58Check | string | Check public key |
FetchYouDiamonded | bool | If true fetch diamonds this user gave out |
Response
Get Follows Stateless
Get followers. Example use in frontend and endpoint implementation in backend.
Parameters
Either publickey or username can be set. More info on the request here.
Name | Type | Description |
PublicKeyBase58Check | string | Check public key |
Username | string | username |
GetEntriesFollowingUsername | bool | Get entries following username |
LastPublicKeyBase58Check | string | public key of last follower/followee |
NumToFetch | uint64 | number of records to fetch |
Response
Get User Global Metadata
Get user metadata such as email and phone. This endpoint relies on identity api. Example use in frontend and endpoint implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
UserPublicKeyBase58Check | string | user public key |
JWT | string | JSON web token authenticating user |
Response
Update User Global Meta
TODO
Get Notifications
Get user notifications. This endpoint relies on identity api. Example use in frontend and endpoint implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
PublicKeyBase58Check | string | user public key |
FetchStartIndex | int64 | Index of notification at which to start paginated lookup. Can set to -1 |
NumToFetch | int64 | Number of notifications to fetch |
Response
Block Public Key
Block user. This endpoint relies on identity api. Example use in frontend and endpoint implementation in backend.
Parameters
More info on the request here.
Name | Type | Description |
PublicKeyBase58Check | string | user public key |
BlockPublicKeyBase58Check | string | blocked user public key |
Unblock | bool | false if block, true if unblock |
JWT | string | JSON web token authenticating user |
Response
Post Endpoints
Get Posts Stateless
TODO
Get Single Post
TODO
Get Posts For Public Key
TODO
Get Diamonded Posts
TODO
Media Endpoints
Upload Image
TODO
Get Full TikTok URL
TODO
Message Endpoints
Send Message Stateless
TODO
Get Messages Stateless
Mark Contact Messages Read
TODO
Mark All Messages Read
TODO
Verify Endpoints
Send Phone Number Verification Text
TODO
Submit Phone Number Verification Text
TODO
Wyre Endpoints
Get Wyre Wallet Order Quotation
Get Wyre Wallet Order Reservation
TODO
Wyre Wallet Order Subscription
TODO
Admin Get Wyre Orders For Public Key
TODO
Miner Endpoints
Get Block Template
TODO
Submit Block
TODO
Admin Node Endpoints
Node Control
TODO
Reprocess Bitcoin Block
TODO
Get Mempool Stats
TODO
Evict Unmined Bitcoin Txns
TODO
Admin Transaction Endpoints
Get Global Params
TODO
Update Global Params
TODO
Swap Identity
TODO
Admin User Endpoints
Update User Global Metadata
TODO
Get All User Global Metadata
TODO
Get User Global Metadata
TODO
Grant Verification Badge
TODO
Remove Verification Badge
TODO
Get Verified Users
TODO
Get Username Verification Audit Logs
TODO
Admin Feed Endpoints
Update Global Feed
TODO
Pin Post
TODO
Remove Nil Posts
TODO
Last updated