General Endpoints
Index
Basic endpoint to test if your BitClout node is running.
Parameters
None
Response
Copy Your BitClout node is running!
Health Check
Copy GET /api/v0/health-check
Check if your BitClout node is synced
Parameters:
None
Response:
If node is synced and received all transactions.
Get Exchange Rate
Copy GET /api/v0/get-exchange-rate
Get BitClout exchange rate, total amount of nanos sold, and Bitcoin exchange rate.
Parameters:
None
Response:
Copy {
"SatoshisPerBitCloutExchangeRate":498484,
"NanosSold":8491518125648433,
"USDCentsPerBitcoinExchangeRate":3608200
}
Get App State
Copy POST /api/v0/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 .
Response
Copy {
"AmplitudeKey": "",
"AmplitudeDomain": "api.amplitude.com",
"MinSatoshisBurnedForProfileCreation": 50000,
"IsTestnet": false,
"SupportEmail": "node.admin@protonmail.com",
"ShowProcessingSpinners": true,
"HasStarterBitCloutSeed": false,
"HasTwilioAPIKey": false,
"CreateProfileFeeNanos": 10000000,
"CompProfileCreation": false,
"DiamondLevelMap": {
"1": 50000,
"2": 500000,
"3": 5000000,
"4": 50000000,
"5": 500000000,
"6": 5000000000,
"7": 50000000000,
"8": 500000000000
},
"HasWyreIntegration": false,
"Password": ""
}
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 .
Response
Submit Transaction
Copy POST /api/v0/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 .
Response
Copy {
Transaction: {
TxInputs : [
{
TxID: [...],
Index: 0
} , ...
],
TxOutputs : [
{
PublicKey: "...",
AmountNanos: 999420
}, ...
],
TxnMeta : {...},
PublicKey: "...",
ExtraData: {...},
Signature: {...},
TxnTypeJSON: 6
},
TxnHashHex: "...",
PostEntryResponse: {...}
}
Update Profile
Copy POST /api/v0/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 .
Response
Copy {
TotalInputNanos: 999999,
ChangeAmountNanos: 999420,
FeeNanos: 579
Transaction: {
TxInputs : [
{
TxID: [...],
Index: 0
} , ...
],
TxOutputs : [
{
PublicKey: "...",
AmountNanos: 999420
}, ...
],
TxnMeta : {...},
PublicKey: "...",
ExtraData: {...},
Signature: {...},
TxnTypeJSON: 6
},
TransactionHex: "...",
TxnHashHex: "..."
}
Burn Bitcoin
TODO
Send BitClout
Copy POST /api/v0/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 .
Response
Copy {
TotalInputNanos: 2220387140,
SpendAmountNanos: 2000000000
ChangeAmountNanos: 220386848,
FeeNanos: 579
Transaction: {
TxInputs : [
{
TxID: [...],
Index: 0
} , ...
],
TxOutputs : [
{
PublicKey: "...",
AmountNanos: 999420
}, ...
],
TxnMeta : {...},
PublicKey: "...",
ExtraData: {...},
Signature: {...},
TxnTypeJSON: 6
},
TransactionHex: "...",
TxnHashHex: "...",
}
Submit Post
Copy POST /api/v0/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 .
Response
Copy {
TstampNanos: 1623106441519911200,
PostHashHex: "..."
TotalInputNanos: 96669,
ChangeAmountNanos: 96434,
FeeNanos: 235,
Transaction: {
TxInputs : [
{
TxID: [...],
Index: 0
} , ...
],
TxOutputs : [
{
PublicKey: "...",
AmountNanos: 999420
}, ...
],
TxnMeta : {...},
PublicKey: "...",
ExtraData: {...},
Signature: {...},
TxnTypeJSON: 6
},
TransactionHex: "...",
}
Create Follow Txn Stateless
Copy POST /api/v0/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 .
Response
Copy {
TotalInputNanos: 220387362,
ChangeAmountNanos: 220387140
FeeNanos: 235,
Transaction: {
TxInputs : [
{
TxID: [...],
Index: 0
} , ...
],
TxOutputs : [
{
PublicKey: "...",
AmountNanos: 999420
}, ...
],
TxnMeta : {...},
PublicKey: "...",
ExtraData: {...},
Signature: {...},
TxnTypeJSON: 6
},
TransactionHex: "...",
}
Creator Like Stateless
Copy POST /api/v0/create-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 .
Response
Copy {
TotalInputNanos: 220387362,
ChangeAmountNanos: 220387140
FeeNanos: 235,
Transaction: {
TxInputs : [
{
TxID: [...],
Index: 0
} , ...
],
TxOutputs : [
{
PublicKey: "...",
AmountNanos: 999420
}, ...
],
TxnMeta : {...},
PublicKey: "...",
ExtraData: {...},
Signature: {...},
TxnTypeJSON: 6
},
TransactionHex: "...",
}
Buy or Sell Creator Coin
Copy POST /api/v0/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 .
Response
Copy {
ExpectedBitCloutReturnedNanos: 0,
ExpectedCreatorCoinReturnedNanos: 220387140
FounderRewardGeneratedNanos: 0,
FounderRewardGeneratedNanos 0
SpendAmountNanos 285038185
TotalInputNanos 1220385962
ChangeAmountNanos 935347512,
FeeNanos: 265
Transaction: {
TxInputs : [
{
TxID: [...],
Index: 0
} , ...
],
TxOutputs : [
{
PublicKey: "...",
AmountNanos: 999420
}, ...
],
TxnMeta : {...},
PublicKey: "...",
ExtraData: {...},
Signature: {...},
TxnTypeJSON: 6
},
TransactionHex: "...",
TxnHashHex: "..."
}
Transfer Creator Coin
Copy POST /api/v0/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 .
Response
Copy {
SpendAmountNanos: 0,
TotalInputNanos 355031025
ChangeAmountNanos 355030764
FeeNanos 261
Transaction: {
TxInputs : [
{
TxID: [...],
Index: 0
} , ...
],
TxOutputs : [
{
PublicKey: "...",
AmountNanos: 999420
}, ...
],
TxnMeta : {...},
PublicKey: "...",
ExtraData: {...},
Signature: {...},
TxnTypeJSON: 6
},
TransactionHex: "...",
TxnHashHex: "..."
}
Send Diamonds
Copy POST /api/v0/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 .
Response
Copy {
SpendAmountNanos: 0,
TotalInputNanos 355031025
ChangeAmountNanos 355030764
FeeNanos 261
Transaction: {
TxInputs : [
{
TxID: [...],
Index: 0
} , ...
],
TxOutputs : [
{
PublicKey: "...",
AmountNanos: 999420
}, ...
],
TxnMeta : {...},
PublicKey: "...",
ExtraData: {...},
Signature: {...},
TxnTypeJSON: 6
},
TransactionHex: "...",
TxnHashHex: "..."
}
User Endpoints
Get Users Stateless
Copy POST /api/v0/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 .
Response
Copy {
UserList:[
{
PublicKeyBase58Check "BC1YLg3FS19Syz9h6fqErZEtsKkRxBfkzqp75PiGwMUXJ1fLrytRVVk"
ProfileEntryResponse null
Utxos null
BalanceNanos 0
UnminedBalanceNanos 0
PublicKeysBase58CheckFollowedByUser []
UsersYouHODL null
UsersWhoHODLYou null
HasPhoneNumber false
CanCreateProfile true
BlockedPubKeys Object { }
IsAdmin true
IsBlacklisted false
IsGraylisted false
}, ...
],
DefaultFeeRateNanosPerKB: 100,
ParamUpdaters: {...}
}
Delete Identities
Copy POST /api/v0/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
Copy POST /api/v0/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 .
Response
Copy {
ProfilesFound: [
{
PublicKeyBase58Check: "...",
Username: "...",
Description: "...",
ProfilePic : "...",
IsHidden: false,
IsReserved: false,
IsVerified: false,
Comments: null,
Posts: null,
CoinEntry: {
CreatorBasisPoints: 1000,
BitCloutLockedNanos: 0,
NumberOfHolders: 0,
CoinsInCirculationNanos: 0,
CoinWatermarkNanos: 0
},
CoinPriceBitCloutNanos: 0,
StakeMultipleBasisPoints: 12500,
StakeEntryStats: {
TotalStakeNanos: 0,
TotalStakeOwedNanos: 0,
TotalCreatorEarningsNanos: 0,
TotalFeesBurnedNanos: 0,
TotalPostStakeNanos: 0
}
UsersThatHODL: {...}
}, ...
],
NextPublicKey: null
}
Get Single Profile
Copy POST /api/v0/get-single-profile
Get information about single profile. Example use in frontend and implementation in backend .
Parameters
More info on the request here .
Response
Copy {
ProfilesFound: [
{
PublicKeyBase58Check: "...",
Username: "...",
Description: "...",
ProfilePic : "...",
IsHidden: false,
IsReserved: false,
IsVerified: false,
Comments: null,
Posts: null,
CoinEntry: {
CreatorBasisPoints: 1000,
BitCloutLockedNanos: 0,
NumberOfHolders: 0,
CoinsInCirculationNanos: 0,
CoinWatermarkNanos: 0
},
CoinPriceBitCloutNanos: 0,
StakeMultipleBasisPoints: 12500,
StakeEntryStats: {
TotalStakeNanos: 0,
TotalStakeOwedNanos: 0,
TotalCreatorEarningsNanos: 0,
TotalFeesBurnedNanos: 0,
TotalPostStakeNanos: 0
}
UsersThatHODL: {...}
}, ...
],
NextPublicKey: null
}
Get Hodlers For Public Key
Copy POST /api/v0/get-hodlers-for-public-key
Example use in frontend and implementation in backend .
Parameters
More info on the request here .
Response
Copy {
Hodlers: [
{
HODLerPublicKeyBase58Check: "...",
CreatorPublicKeyBase58Check: "...",
HasPurchased: false,
BalanceNanos: 2500509627,
NetBalanceInMempool: 0,
ProfileEntryResponse: {...}
}, ...
],
LastPublicKeyBase58Check: "..."
}
Get Diamonds for Public Key
Copy POST /api/v0/get-diamonds-for-public-key
Example use in frontend and implementation in backend .
Parameters
More info on the request here .
Response
Copy {
DiamondSenderSummaryResponses: [
{
SenderPublicKeyBase58Check: "...",
ReceiverPublicKeyBase58Check: "...",
TotalDiamonds: "...",
HighestDiamondLevel: "...",
DiamondLevelMap: {...},
ProfileEntryResponse: {...}
}, ...
],
TotalDiamonds: 555
}
Get Follows Stateless
Copy POST /api/v0/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 .
Response
Copy {
PublicKeyToProfileEntry: {
"BC1YLfuD5AGm2guj3q5wF7WGi3jTUzNhHUHc84GtVsk9kHyxbnk5V1H" : {
PublicKeyBase58Check: "...",
Username: "...",
Description: "...",
ProfilePic : "...",
IsHidden: false,
IsReserved: false,
IsVerified: false,
Comments: null,
Posts: null,
CoinEntry: {
CreatorBasisPoints: 1000,
BitCloutLockedNanos: 0,
NumberOfHolders: 0,
CoinsInCirculationNanos: 0,
CoinWatermarkNanos: 0
},
CoinPriceBitCloutNanos: 0,
StakeMultipleBasisPoints: 12500,
StakeEntryStats: {
TotalStakeNanos: 0,
TotalStakeOwedNanos: 0,
TotalCreatorEarningsNanos: 0,
TotalFeesBurnedNanos: 0,
TotalPostStakeNanos: 0
},
UsersThatHODL: {...}
}, ...
},
NumFollowers: 17707
}
Get User Global Metadata
Copy POST /api/v0/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 .
Response
Copy {
Email: "...",
PhoneNumber: "..."
}
Update User Global Meta
Copy POST /api/v0/update-user-global-metadata
TODO
Get Notifications
Copy POST /api/v0/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 .
Response
Copy {
Notifications : [
{
Metadata : {
BlockHashHex: "...",
TxnIndexInBlock: 3921,
TxnType: "FOLLOW",
TransactorPublicKeyBase58Check: "...",
AffectedPublicKeys: [...],
BasicTransferTxindexMetadata: {...},
TotalInputNanos: 89585061,
TotalOutputNanos: 89584839,
FeeNanos: 222,
UtxoOpsDump: "..."
},
Txn: null,
Index: 50
}, ...
],
ProfilesByPublicKey: {
"BC1YLfuD5AGm2guj3q5wF7WGi3jTUzNhHUHc84GtVsk9kHyxbnk5V1H" : {
PublicKeyBase58Check: "...",
Username: "...",
Description: "...",
ProfilePic : "...",
IsHidden: false,
IsReserved: false,
IsVerified: false,
Comments: null,
Posts: null,
CoinEntry: {
CreatorBasisPoints: 1000,
BitCloutLockedNanos: 0,
NumberOfHolders: 0,
CoinsInCirculationNanos: 0,
CoinWatermarkNanos: 0
},
CoinPriceBitCloutNanos: 0,
StakeMultipleBasisPoints: 12500,
StakeEntryStats: {
TotalStakeNanos: 0,
TotalStakeOwedNanos: 0,
TotalCreatorEarningsNanos: 0,
TotalFeesBurnedNanos: 0,
TotalPostStakeNanos: 0
},
UsersThatHODL: {...}
}, ...
},
PostsByHash: {
"5782badd48b3db0ea3074fa6339e1a726265bdfbd86ed38e1e55691f2d79b296" : {
PostHashHex: "...",
PosterPublicKeyBase58Check: "...",
ParentStakeID : "",
Body: "...",
ImageURLs: [],
RecloutedPostEntryResponse: null,
CreatorBasisPoints: 1000,
StakeMultipleBasisPoints: 12500,
TimestampNanos: 1623010583195063300,
IsHidden: false,
ConfirmationBlockHeight: 31919,
InMempool: false,
StakeEntry: {...},
StakeEntryStats: {...},
ProfileEntryResponse: {...},
Comments: null,
LikeCount: 1,
DiamondCount: 1,
PostEntryReaderState: {...},
IsPinned: false,
PostExtraData: {...},
CommentCount: 0,
RecloutCount: 0,
ParentPosts: null,
DiamondsFromSender: 0
}
}
}
Block Public Key
Copy POST /api/v0/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 .
Response
Copy {
BlockedPublicKeys: {
"BC1YLhqEhWvNnwW9TBqXURFqwkdpUYKrMVgTHQzopF5rRBDcD1LLSUp": {...},
...
}
}
Post Endpoints
Get Posts Stateless
Copy POST /api/v0/get-posts-stateless
TODO
Get Single Post
Copy POST /api/v0/get-single-post
TODO
Get Posts For Public Key
Copy POST /api/v0/get-posts-for-public-key
TODO
Get Diamonded Posts
Copy POST /api/v0/get-diamonded-posts
TODO
Media Endpoints
Upload Image
Copy POST /api/v0/upload-image
TODO
Get Full TikTok URL
Copy POST /api/v0/get-full-tiktok-url
TODO
Message Endpoints
Send Message Stateless
Copy POST /api/v0/send-message-stateless
TODO
Get Messages Stateless
Copy POST /api/v0/get-messages-stateless
Mark Contact Messages Read
Copy POST /api/v0/mark-contact-messages-read
TODO
Mark All Messages Read
Copy POST /api/v0/mark-all-messages-read
TODO
Verify Endpoints
Send Phone Number Verification Text
Copy POST /api/v0/send-phone-number-verification-text
TODO
Submit Phone Number Verification Text
Copy POST /api/v0/submit-phone-number-verification-code
TODO
Wyre Endpoints
Get Wyre Wallet Order Quotation
Copy POST /api/v0/get-wyre-wallet-order-quotation
Get Wyre Wallet Order Reservation
Copy POST /api/v0/get-wyre-wallet-order-reservation
TODO
Wyre Wallet Order Subscription
Copy POST /api/v0/wyre-wallet-order-subscription
TODO
Admin Get Wyre Orders For Public Key
Copy POST /api/v0/admin/get-wyre-wallet-orders-for-public-key
TODO
Miner Endpoints
Get Block Template
Copy POST /api/v0/get-block-template
TODO
Submit Block
Copy POST /api/v0/submit-block
TODO
Admin Node Endpoints
Node Control
Copy POST /api/v0/admin/node-control
TODO
Reprocess Bitcoin Block
Copy POST /api/v0/admin/reprocess-bitcoin-block
TODO
Get Mempool Stats
Copy POST /api/v0/admin/get-mempool-stats
TODO
Evict Unmined Bitcoin Txns
Copy POST /api/v0/admin/evict-unmined-bitcoin-txns
TODO
Admin Transaction Endpoints
Get Global Params
Copy POST /api/v0/admin/get-global-params
TODO
Update Global Params
Copy POST /api/v0/admin/update-global-params
TODO
Swap Identity
Copy POST /api/v0/admin/swap-identity
TODO
Admin User Endpoints
Update User Global Metadata
Copy POST /api/v0/admin/update-user-global-metadata
TODO
Get All User Global Metadata
Copy POST /api/v0/admin/get-all-user-global-metadata
TODO
Get User Global Metadata
Copy POST /api/v0/admin/get-user-global-metadata
TODO
Grant Verification Badge
Copy POST /api/v0/admin/grant-verification-badge
TODO
Remove Verification Badge
Copy POST /api/v0/admin/remove-verification-badge
TODO
Get Verified Users
Copy POST /api/v0/admin/get-verified-users
TODO
Get Username Verification Audit Logs
Copy POST /api/v0/admin/get-username-verification-audit-logs
TODO
Admin Feed Endpoints
Update Global Feed
Copy POST /api/v0/admin/update-global-feed
TODO
Pin Post
Copy POST /api/v0/admin/pin-post
TODO
Remove Nil Posts
Copy POST /api/v0/admin/remove-nil-posts
TODO