General API information

  • We are happy to offer you our comprehensive API for your own app building. If you need more data, please contact support at dashcentral.org
  • Data returned is JSON
  • Units are given in brackets []
  • Please be polite to our API and avoid hammering. Limit requests to max. 1 request each 30 seconds. Shoutbox poll to 6 seconds.
  • We recommend to integrate a QR code scanner into your app and tell users to scan their API key from "Account settings" -> "Mobile app"

Download DashCentral image pack to enhance your app with high quality DashCentral logo and background:

Overview

1. Public API: general DashCentral information
2. Private user API "getappdata": get detailed information about masternode status and earnings
3. Private user API "setappdata": add and remove masternodes / verify masternode ownership / post message to shoutbox
4. Public shoutbox API: get shoutbox messages
5. Budget proposals: budget proposal description and comments (DBIN)

Public Api

General public DashCentral information.

https://www.dashcentral.org/api/v1/public
Group Values
general [array]
  • consensus_blockheight: current blockheight determined by > 10 DASH wallets [integer]
  • consensus_version: current DASH wallet version [integer]
  • consensus_protocolversion: current DASH wallet protocolversion [integer]
  • consensus_masternodes: count of active masternodes on the DASH network [integer]
  • all_user: amount of all dashcentral users [integer]
  • active_user: amount of dashcentral users with at leat one registeren masternode [integer]
  • registered_masternodes: amount of registered matsernodes [integer]
  • registered_masternodes_verified: amount of registered masternodes with verified ownership [integer]
exchange_rates [array]
  • dash_usd: DASH to USD exchange rate [double, USD]
  • btc_usd: BTC to USD exchange rate [double, USD]
  • btc_dash: BTC to DASH exchange rate [double, BTC]

Private user Api (getappdata)

The DashCentral API provides you with all data you need for your app in only one request.

https://www.dashcentral.org/api/v1/getappdata?api_key=<user_api_key>
Group Values
general [array]
  • consensus_blockheight: current blockheight determined by > 10 DASH wallets [integer]
  • consensus_version: current DASH wallet version [integer]
  • consensus_protocolversion: current DASH wallet protocolversion [integer]
  • all_user: amount of all dashcentral users [integer]
  • active_user: amount of dashcentral users with at leat one registeren masternode [integer]
  • registered_masternodes: amount of registered matsernodes [integer]
  • registered_masternodes_verified: amount of registered masternodes with verified ownership [integer]
exchange_rates [array]
  • dash_usd: DASH to USD exchange rate [double, USD]
  • btc_usd: BTC to USD exchange rate [double, USD]
  • btc_dash: BTC to DASH exchange rate [double, BTC]
user [array]
  • username: dashcentral username
  • masternodes_total: total amount of masternodes registered by this user [integer]
  • masternodes_ok: amount of masternodes with status ok [integer]
  • masternodes_warning: amount of masternodes with status warning [integer]
  • masternodes_error: amount of masternodes with status error [integer]
  • remote_data: users can download the dashcentral-updater monitoring script to activly push blockheight, version and protocolversion to DashCentral [enabled, disabled]
  • remote_lastupdate: timestamp of the last data push received from the dashcentral-updater script [datetime]
earnings [array]
  • balance: sum of all masternode wallet balances [double, DASH]
  • balance_overhead: sum of all masternode wallet balances subtracted by the 1000 DASH deposits [double, DASH]
  • lifetime_payments: amount of payments recieved by all user masternodes [integer]
  • lifetime_earnings: sum of all earnings generated with all user masternodes [double, DASH]
  • payments_today: amount of payments recieved since today user midnight [integer]
  • earnings_today: DASH earnings generated since today user midnight [double, DASH]
  • payments_24h: amount of payments recieved within last 24h [integer]
  • earnings_24h: DASH earnings generated within the last 24h [double, DASH]
  • payments_7d: amount of payments recieved within last 7d [integer]
  • earnings_7d: DASH earnings generated within the last 7d [double, DASH]
  • payments_30d: amount of payments recieved within last 30d [integer]
  • earnings_30d: DASH earnings generated within the last 30dh [double, DASH]
earnings_daily [array]

(last 60 days)
  • day: date of the day [datetime]
  • earnings: sum of all user masternode earnings on this day [double, DASH]
  • payments: amount of payments recieved by all user masternodes [integer]
masternodes [array]
  • name: user given name of masternode [max. 50 chars]
  • ip: masternode ip and port [xxx.xxx.xxx.xxx:9999]
  • status: masternode monitoring status [ok, warning, error, checking]
  • status_human: detailed explanation of the status/problem [max. 250 chars, may contain <br> to indicate a newline]
  • ownership: status of masternode ownership verification [verified, unverified]
  • balance: balance of the masternode address [double, DASH]
  • balance_overhead: balance of the masternode address subtracted by the 1000 DASH deposits [double, DASH]
  • payments_today: amount of payments recieved since today user midnight [integer]
  • earnings_today: DASH earnings generated since today user midnight [double, DASH]
  • payments_24h: amount of payments recieved within last 24h [integer]
  • earnings_24h: DASH earnings generated within the last 24h [double, DASH]
  • payments_7d: amount of payments recieved within last 7d [integer]
  • earnings_7d: DASH earnings generated within the last 7d [double, DASH]
  • payments_30d: amount of payments recieved within last 30d [integer]
  • earnings_30d: DASH earnings generated within the last 30dh [double, DASH]
  • lastpayment: timestamp of the last payment this masternode has received [datetime]
  • lastpayment_human: human text of the last payment timestamp [x seconds/minutes/hours/days ago]
  • protocolversion: protocol version of the masternode derived from daemon masternode list [integer]

The following data is only available, if user setup and enabled remote data pushing (user->remote_data = enabled):

  • remote_lastupdate: timestamp of the last data push received from the dashcentral-updater script [datetime]
  • remote_blockheight: masternode blockheight pushed by dashcentral-updater [integer]
  • remote_version: masternode wallet version pushed by dashcentral-updater [integer]
  • remote_protocolversion: masternode wallet protocol version pushed by dashcentral-updater [integer]

Private user Api (setappdata)

The API key can be found on /account/mobile. Please use this endpoint to make changes to an DashCentral account.

https://www.dashcentral.org/api/v1/setappdata?api_key=<user_api_key>&do=<do_parameter>
do parameter further parameter response
add_masternode name (user chosen masternode name, max. 50 chars)

collateral_hash (1000 DASH collateral hash)

collateral_index (1000 DASH collateral index)
  • do
  • status [ok, error]
  • message: human description in case of an error
remove_masternode collateral_hash (1000 DASH collateral hash)

collateral_index (1000 DASH collateral index)
  • do
  • status [ok, error]
  • message: human description in case of an error
get_verification_string address (masternode coin address holding the 1000 DASH)
  • do
  • status [ok, error]
  • message: human description in case of an error
  • verification_string: string that has to be signed with private key of the masternode address (wallet signature feature)
verify_ownership address (masternode coin address holding the 1000 DASH)

signature (signature of verification_string / IMPORTANT: signature has to be urlencoded!)

Perform signing using your command line wallet:
dash-cli signmessage "MASTERDODE_ADDRESS" "VERIFICATION_STRING"
  • do
  • status [ok, error]
  • message: human description in case of an error
shout message (256 chars)
lastid (last shoutbox message id your app has displayed).

Parameter can be POST or GET.
  • do
  • status [ok, error]
  • message: human description in case of an error
post_proposal_comment comment (text)

proposal_hash (proposal hash).

comment_identifier (can be either "none" to post a new comment or can contain the comment_identifier hash provided by the /api/v1/proposal API endpoint, to post the comment in reply to an existing comment).

Parameter have to be POST.
  • do
  • status [ok, error]
  • message: human description in case of an error

Example: add a masternode
https://www.dashcentral.org/api/v1/setappdata?api_key=<user_api_key>&do=add_masternode&name=MN1&collateral_hash=X&collateral_index=X

Public shoutbox API

Implement DashCentral shoutbox to your app to benefit from interesting cryptocurrency related live chat!

You can pull current shoutbox messages using this URL:

https://www.dashcentral.org/shouts/<lastid>
parameter get started response [array]
lastid 1. set lastid=0 on your first data pull to get 50 lastest message
2. display all messages from the JSON array in your app and save the "id" of the last message you displayed
3. use the saved "id" as "lastid" for subsequent requests, to pull only messages you did not have displayed already
4. poll for new messages every 6 seconds
5. post new messages to shoutbox using setappdata (shout) API
  • id: unique message id [integer]
  • username: DashCentral username
  • userstatus: status of the user [normal/admin]
  • message: shout message [max. 255 chars, utf8]
  • date_utc: UTC timestamp [datetime, 0000-00-00 00:00:00]

Example (setappdata): post new message to shoutbox
https://www.dashcentral.org/api/v1/setappdata?api_key=<user_api_key>&do=shout&lastid=0&message=test