BlockChain API Guide
Andreas Rud avatar
Written by Andreas Rud
Updated over a week ago

Use the API with any wallet you would like. You only need to have 'coin control' - be able manage change addresses or in other ways ensure that you always send from the same address.

All API commands and responses have an offset of 20,000 duff.

Commands

SignupForAPI = 131072

send 151072 duff to hotwallet to signup

AcceptTerms = 65536

send 85536 duff -||-

ToggleInstantPayout = 4096

send 24096 duff to toggle auto payout of fractional rewards

Withdraw = 1-1000

1 duff means 0,1%, 1000 duff means withdraw 100%

send 20100 duff to withdraw 10%

Withdrawal-limits incur

Any other subsequent transaction will be considered a deposit.

Responses

PleaseAcceptTerms = 2,

20002 duff received back

WelcomeToCrowdNodeBlockChainAPI = 4

20004 -||-

DepositReceived = 8

20008 -||-

WithdrawalQueued = 16

20016 -||-

WithdrawalFailed = 32

20032 -||- The withdrawal amount may be too small (i.e. dust) or may be to large, larger than our instance, hourly, or daily limits. Find the limits here: https://knowledge.crowdnode.io/en/articles/6387601-api-withdrawal-limits

AutoWithdrawalEnabled = 64

20064 -||-

AutoWithdrawalDisabled = 128

20128 -||-

UI without logging in

When only having a blockchain API user, there is no way to login and see whats is going on. However we have enabled the UI to show everything as if you were logged in.

Testnet:

Mainnet:

Web-API

The Web-API will can be used to get funds and balance data in json.

Testnet

Get a list of all funds:

https://test.crowdnode.io/odata/apifundings/GetFunds(address='[YOUR_ADDRESS]')

Get a list of all funds filtered:

https://test.crowdnode.io/odata/apifundings/GetFundsFrom(address='[YOUR_ADDRESS]',fromUnixTime=[timeInt])

Get balance of your account:

https://test.crowdnode.io/odata/apifundings/GetBalance(address='[YOUR_ADDRESS]') 

Get a list of all messages you have sent and their status:

https://test.crowdnode.io/odata/apimessages/GetMessages(address='[YOUR_ADDRESS]')

Check if a Dash address if already in use:

https://test.crowdnode.io/odata/apiaddresses/IsAddressInUse(address='[ADDRESS]')

Get current API withdrawal limits:

https://test.crowdnode.io/odata/apifundings/GetWithdrawalLimits(address='[ADDRESS]')

(leave address blank if you want generic limits, fill in address to get personal limits)

Get list of API commands:

https://test.crowdnode.io/odata/apicommands

Get list of API responses:

https://test.crowdnode.io/odata/apiresponses

Get the API transaction offset:

https://test.crowdnode.io/odata/apioffset

*Signal a request to change email address:

https://test.crowdnode.io/odata/apimessages/SendMessage(address='[YOUR_ADDRESS]',message='[emailaddress]',signature='[signature]',messagetype=1)

*Signal a request to vote on governance objects:

Sign the entire message "[gobject-hash],[Yes|No|Abstain|Delegate|DoNothing]".

https://test.crowdnode.io/odata/apimessages/SendMessage(address='[YOUR_ADDRESS]',message='[gobject-hash],[Yes|No|Abstain|Delegate|DoNothing]',signature='[signature]',messagetype=2)

Get the votes:

https://test.crowdnode.io/odata/apiproposalvotes/GetProposalVotes(address='[YOUR_ADDRESS]'

*Signal a request to set referral:

https://test.crowdnode.io/odata/apimessages/SendMessage(address='[YOUR_ADDRESS]',message='[REFERRAL_ID]',signature='[signature]',messagetype=3)

*NB. special characters in signature must be doubleencoded.

"/" replaced by "%252F"

"+" replaced by "%252B".

Etc.

Mainnet

Get a list of all funds:

https://app.crowdnode.io/odata/apifundings/GetFunds(address='[YOUR_ADDRESS]')

Get a list of all funds filtered:

https://app.crowdnode.io/odata/apifundings/GetFundsFrom(address='[YOUR_ADDRESS]',fromUnixTime=[timeInt])

Get balance of your account:

https://app.crowdnode.io/odata/apifundings/GetBalance(address='[YOUR_ADDRESS]') 

Get a list of all messages you have sent and their status:

https://app.crowdnode.io/odata/apimessages/GetMessages(address='[YOUR_ADDRESS]')

Check if a Dash address if already in use:

https://app.crowdnode.io/odata/apiaddresses/IsAddressInUse(address='[ADDRESS]')

*Signal a request to change email address:

Sign the emailaddress with your address.

https://app.crowdnode.io/odata/apimessages/SendMessage(address='[YOUR_ADDRESS]',message='[emailaddress]',signature='[signature]',messagetype=1)

*Signal a request to vote on governance objects:

Sign the entire message "[gobject-hash],[Yes|No|Abstain|Delegate|DoNothing]".

https://app.crowdnode.io/odata/apimessages/SendMessage(address='[YOUR_ADDRESS]',message='[gobject-hash],[Yes|No|Abstain|Delegate|DoNothing]',[signature]',messagetype=2)

Get the votes:

https://app.crowdnode.io/odata/apiproposalvotes/GetProposalVotes(address='[YOUR_ADDRESS]'

*Signal a request to set referral:

https://app.crowdnode.io/odata/apimessages/SendMessage(address='[YOUR_ADDRESS]',message='[REFERRAL_ID]',signature='[signature]',messagetype=3)

*NB. special characters in signature must be doubleencoded.

"/" replaced by "%252F"

"+" replaced by "%252B".

Etc.

Hotwallet on Testnet

Address for hotwallet in Test is yMY5bqWcknGy5xYBHSsh2xvHZiJsRucjuy.

Hotwallet on Mainnet

Address for hotwallet in Mainnet is XjbaGWaGnvEtuQAUoBgDxJWe8ZNv45upG2.

Faucet

Our faucet is ready to rumble as always if you need tDash: http://faucet.test.dash.crowdnode.io/

Did this answer your question?