Burstcoin API Documentation
The Burst API & Examples
API Version | 1.0.0 |
BRS Version | 2.2.6 |
*Examples follow each API request.
Description
The Burst API allows interaction with Burst nodes using HTTP requests to port 8125. Most HTTP requests can use either the GET or POST methods, but some API calls accept only the POST method for security reasons. Responses are returned as JSON objects.
Each API call is documented below, with definitions given for HTTP request parameters and JSON response fields, followed by an example:
- The JSON response fields are each preceded by one of the following: S for ‘string’, A for ‘array’, O for ‘object’, N for ‘number’, or B for ‘boolean’. Note: This is a documentation convention only. These notations are not part of the API responses.
- In the examples, the Burst node is represented as localhost and requests and responses are formatted for easy reading; line breaks and spaces are not actually used except in some parameter values. All requests are in URL format which implies the HTTP GET method. When GET is allowed, the URL can be entered into a browser URL field but proper URL encoding is usually required (e.g., spaces in a parameter value must be replaced by + or %20). Otherwise, the URL should be used as a guide to preparing an HTTP POST request using cURL, for example.
All API calls can be viewed and tested on the TestNet at https://wallet.dev.burst-test.net/test.
For specific API calls, use the ‘GET’ URL https://wallet.dev.burst-test.net/burst?requestType=specificRequestType.
Examples of Burst API calls follow each API call section.
Many API calls can be viewed and tested on the MainNet at
https://wallet1.burst-team.us:2083
For specific API calls, use the GET url https://wallet1.burst-team.us:2083/burst?=specificRequestType
Genesis Block
Many API requests make reference to the Genesis Block.
Flexible Account IDs
All API requests that require an account ID accept either an account number or the corresponding Reed-Solomon address.
Quantity Units BURST, NQT and QNT
The Burst system has a currency BURST used to quantify value in the system. Like all currencies, BURST circulates in the system, moving from one user to another by payments and purchases. Also, a small fee is required for every transaction, including those in which no BURST is transferred, such as simple messages. This fee goes to the owner of the node that forges (generates) the new block containing the transaction that is accepted onto the blockchain.
Yet internally, the currency is still stored in integer form in units of NQT or NxtQuant, where 1 BURST = 108 NQT. All parameters and fields in the API involving a quantity of BURST are denominated in units of NQT, for example, feeNQT. The only exception is the field effectiveBalanceNXT, used in forging calculations.
Other assets can be created within Burst using Issue Asset API call.
The issuer must specify the number of decimal places to use in quantifying the asset, and the amount of the asset to create in generic units of QNT or Quant, distinct from NQT. Quantities of assets are stored internally as integers in units of QNT, and assets are priced in NQT per QNT.
Decimal (BURST) | Canonical Name | Alternate Name | NQT |
---|---|---|---|
1.00000000 | BURST | Burst | 100,000,000 |
0.01000000 | cBURST | Bessie | 1,000,000 |
0.00100000 | mBURST | - | 100,000 |
0.00001000 | - | Maybel | 1,000 |
0.00000100 | uBURST | - | 100 |
0.00000001 | - | Planck | 1 |
0.12345678 | digit reference | - | - |
Creating Unsigned Transactions
All API requests that create a new transaction will accept either a secretPhrase or a publicKey parameter:
- If secretPhrase is supplied, a transaction is created, signed at the server, and broadcast by the server as usual.
- If only a publicKey parameter is supplied as a 64-digit (32-byte) hex string, the transaction will be prepared by the server and returned in the JSON response as transactionJSON without a signature. This JSON object along with secretPhrase can then be supplied to Sign Transaction as unsignedTransactionJSON and the resulting signed transactionJSON can then be supplied to Broadcast Transaction. This sequence allows for offline transaction signing so that secretPhrase never needs to be exposed.
- unsignedTransactionBytes may be used instead of unsigned transactionJSON when there is no encrypted message. Messages to be encrypted require the secretPhrase for encryption and so cannot be included in unsignedTransactionBytes.
Escrow Operations
All API requests that create a new transaction will accept an optional referencedTransactionFullHash parameter which creates a chained transaction, meaning that the new transaction cannot be confirmed unless the referenced transaction is also confirmed. This feature allows a simple way of transaction escrow:
- Alice prepares and signs a transaction A, but doesn’t broadcast it by setting the broadcast parameter to false. She sends to Bob the unsignedTransactionBytes, the fullHash of the transaction, and the signatureHash. All of those are included in the JSON returned by the API request. (Warning: make sure not to send the signed transactionBytes, or the signature itself, as then Bob can just broadcast transaction A himself).
- Bob prepares, signs and broadcasts transaction B, setting the referencedTransactionFullHash parameter to the fullHash of A provided by Alice. He can verify that this hash indeed belongs to the transaction he expects from Alice, by using Calculate Full Hash, which takes unsignedTransactionBytes and signatureHash (both of which Alice has also sent to Bob).
- Transaction B is accepted in the unconfirmed transaction pool, but as long as A is still missing, B will not be confirmed, i.e. will not be included in the blockchain. If A is never submitted, B will eventually expire — so Bob should make sure to set a long enough deadline, such as the maximum of 1440 minutes.
- Once in the unconfirmed transactions pool, Bob has no way of recalling B back. So now Alice can safely submit her transaction A, by just broadcasting the signedTransactionBytes she got in the first step. Transaction A will get included in the blockchain first, and in the next block, Bob’s transaction B will be included.
Note that while the above scheme is good enough for a simple escrow, the blockchain does not enforce that if A is included, B will also be included. It may happen due to forks and blockchain reorganization, that B never gets a chance to be included and expires unconfirmed, while A still remains in the blockchain. However, it is not practically possible for Bob to intentionally cause such a chain of events and to prevent B from being confirmed.
Prunable Data
Prunable data can be removed from the blockchain without affecting the integrity of the blockchain. When a transaction containing prunable data is created, only the 32-byte sha256 hash of the prunable data is included in the transactionBytes, not the prunable data itself. The non-prunable signed transactionBytes are used to verify the signature and to generate the transaction’s fullHash and ID; when the prunable part of the transaction is removed at a later time, none of these operations are affected.
Prunable data has a predetermined minimum lifetime of two weeks (24 hours on the Testnet) from the timestamp of the transaction. Transactions and blocks received from peer nodes are not accepted if prunable data is missing before this time has elapsed. After this time has elapsed, prunable data is no longer included with transactions and blocks transmitted to peer nodes, and is no longer included in the transaction JSON returned by general-purpose API calls such as Get Transaction; the only way to retrieve it, if still available, is through special-purpose API calls such as Get Prunable Message.
Expired prunable data remains stored in the blockchain until removed at the same time derived tables are trimmed, which occurs automatically every 1000 blocks by default.
Prunable data can be preserved on a node beyond the predetermined minimum lifetime by setting the nxt.maxPrunableLifetime property to a larger value than two weeks or to -1 to preserve it indefinitely. To force the node to include such preserved prunable data when transactions and blocks are transmitted to peer nodes, set the nxt.includeExpiredPrunables property to true, thus making it an archival node.
Currently, there is only one variety of prunable data in the Burst system: prunable Arbitrary Messages. It has a maximum prunable data length of 42 kilobytes.
Properties Files
The behavior of some API calls is affected by property settings loaded from files in the brs/conf directory during Burst server intialization. This directory contains the brs-default.properties and logging-default.properties files, both of which contain default property settings along with documentation. A few of the property settings can be obtained while the server is running through the Get Blockchain Status and Get State calls.
It is recommended not to modify default properties files because they can be overwritten during software updates. Instead, properties in the default files can be overridden by including them in optional brs.properties and logging.properties files in the same directory. For example, a brs.properties file can be created with the content:
DEV.TestNet = yes
This causes the Burst server to connect to the TestNet instead of the MainNet.
Create Transaction
Set Account Info
- Set Account Info
- Buy / Sell Alias
- Set Alias
- Send Message
- Cancel Order
- Issue Asset
- Place Order
- Transfer Asset
- DGS Delisting
- DGS Delivery
- DGS Feedback
- DGS Listing
- DGS Purchase
- DGS Quantity Change
- DGS Refund
- Lease Balance
Create Transaction Request
The following HTTP POST parameters are common to all API calls that create transactions:
secretPhrase
is the secret passphrase of the account (optional, but transaction neither signed nor broadcast if omitted)
publicKey
is the public key of the account (optional if secretPhrase provided)
feeNQT
is the is the fee (in NQT) for the transaction
deadline
deadline (in minutes) for the transaction to be confirmed, 1440 minutes maximum
broadcast
is set to false to prevent broadcasting the transaction to the network (optional)
message
is either UTF-8 text or a string of hex digits (perhaps previously encoded using an arbitrary algorithm) to be converted into a bytecode with a maximum length of one kilobyte
messageIsText
is false if the message is a hex string, otherwise the message is text (optional)
messageToEncrypt
is either UTF-8 text or a string of hex digits to be compressed and converted into a bytecode with a maximum length of one kilobyte, then encrypted using AES (optional)
messageToEncryptIsText
is false if the message to encrypt is a hex string, otherwise, the message to encrypt is text (optional)
encryptedMessageData
is already encrypted data which overrides messageToEncrypt if provided (optional)
encryptedMessageNonce
is a unique 32-byte number which cannot be reused (optional unless encryptedMessageData is provided)
messageToEncryptToSelf
is either UTF-8 text or a string of hex digits to be compressed and converted into a one-kilobyte maximum bytecode then encrypted with AES, then sent to the sending account (optional)
messageToEncryptToSelfIsText
is false if the message to self-encrypt is a hex string, otherwise the message to encrypt is text (optional)
encryptToSelfMessageData
is already encrypted data which overrides messageToEncryptToSelf if provided (optional)
encryptToSelfMessageNonce
is a unique 32-byte number which cannot be reused (optional unless encryptToSelfMessageData is provided)
recipientPublicKey
is the public key of the receiving account (optional, enhances the security of a new account)
For feeNQT
, please refer to the following “rules”:
- minimum 1000 BURST for Issue Asset, unless singleton asset is issued, for which the fee is 1 BURST
- 2 BURST in base fee for Set Alias, with 2 BURST additional fee for each 32 chars of name plus URI total length, after the first 32 chars
- 1 BURST for the first 32 bytes of an unencrypted non-prunable message, 1 BURST for each additional 32 bytes
- 2 BURST for the first 32 bytes of an encrypted non-prunable message, 1 BURST for each additional 32 bytes. The length is measured excluding the nonce and the 16 byte AES initialization vector.
- 1 BURST for the first 1024 bytes of a prunable message, 0.1 BURST for each additional 1024 prunable bytes
- 1 BURST for Set Account Info, including 32 chars, with 2 BURST additional fee for each 32 characters
- 2 BURST for DGS Listing, including 32 chars of name plus description. With 2 BURST additional fee for each 32 characters
- 1 BURST for DGS Delivery, including 32 bytes of encrypted goods data (AES initialization bytes and nonce excluded). With 2 BURST additional fee for each 32 bytes.
- 2 BURST for transactions that make use of referencedTransactionFullHash property when creating a new transaction.
- Dynamic tx fee otherwise, where 1 BURST = 100000000 NQT
Tx no | Tx fees |
---|---|
1 | 0.00735 |
100 | 0.73500 |
255 | 1.87425 |
510 | 3.74850 |
765 | 5.62275 |
1020 | 7.49700 |
Note: A detailed explanation is available here: Slot-Based Transaction Fees.
Note: An optional arbitrary message can be appended to any transaction by adding message-related parameters as in Send Message.
Create Transaction Response
The following JSON response fields are common to all API calls that create transactions:
(S) signatureHash
is the SHA-256 hash of the transaction signature
(S) unsignedTransactionBytes
is the unsigned transaction bytes
(O) transactionJSON
is the transaction object (refer to Get Transaction for details)
(B) broadcasted
is the transaction was broadcasted or not
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) transactionBytes
is the signed transaction bytes
(S) fullHash
is the full hash of the signed transaction
(S) transaction
is the ID of the newly created transaction
Server Information Operations
Get Blockchain Status
Get the blockchain status.
Request:
requestType
is getBlockchainStatus
Response:
(S) lastBlock
is the last block ID on the blockchain
(S) application
is the application name, typically BRS
(B) isScanning
is true if the blockchain is being scanned by the application, false otherwise
(S) cumulativeDifficulty
is the cumulative difficulty
(N) lastBlockchainFeederHeight
is the height of the last blockchain of greatest cumulative difficulty obtained from a peer
(N) numberOfBlocks
is the number of blocks in the blockchain (height + 1)
(N) time
is the current timestamp (in seconds since the genesis block)
(S) version
is the application version
(S) lastBlockchainFeeder
is the address or announced address of the peer providing the last blockchain of greatest cumulative difficulty
(N) requestProcessingTime
is the API request processing time (in milliseconds)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getBlockchainStatus
Response:
{
“lastBlock”: “10431007917907627236”,
“application”: “BRS”,
“isScanning”: false,
“cumulativeDifficulty”: “29365339954194811259”,
“lastBlockchainFeederHeight”: 501733,
“numberOfBlocks”: 502799,
“time”: 121621131,
“requestProcessingTime”: 0,
“version”: “2.2.1”,
“lastBlockchainFeeder”: “86.26.25.217”
}
Get Constants
Get all defined constants.
Request:
requestType
is getConstants
Response:
(N) maxBlockPayloadLength
is the maximum block payload length (in bytes)
(S) genesisAccountId
is the genesis account number
(S) genesisBlockId
is the genesis block ID
(A) transactionTypes
is the array of defined transaction types and subtypes (refer to the example below)
(A) peerStates
is the array of defined peer states (refer to the example below)
(N) maxArbitraryMessageLength
is the maximum length (in bytes) of an arbitrary message
(O) requestTypes
is the array of declined request types (refer to the example below) (research tag: verify ‘declined’)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getConstants
Response:
{
“maxBlockPayloadLength”: 44880,
“genesisAccountId”: “0”,
“genesisBlockId”: “3444294670862540038”,
“transactionTypes”: [
{
“description”: “Payment”,
“value”: 0,
“subtypes”: [
{
“description”: “Ordinary payment”,
“value”: 0
}
]
},
{
“description”: “Messaging”,
“value”: 1,
“subtypes”: [
{
“description”: “Arbitrary message”,
“value”: 0
},
{
“description”: “Alias assignment”,
“value”: 1
},
{
“description”: “Alias sell”,
“value”: 6
},
{
“description”: “Alias buy”,
“value”: 7
},
{
“description”: “Account info”,
“value”: 5
}
]
},
{
“description”: “Colored coins”,
“value”: 2,
“subtypes”: [
{
“description”: “Asset issuance”,
“value”: 0
},
{
“description”: “Asset transfer”,
“value”: 1
},
{
“description”: “Ask order placement”,
“value”: 2
},
{
“description”: “Bid order placement”,
“value”: 3
},
{
“description”: “Ask order cancellation”,
“value”: 4
},
{
“description”: “Bid order cancellation”,
“value”: 5
}
]
},
{
“description”: “Digital goods”,
“value”: 3,
“subtypes”: [
{
“description”: “Listing”,
“value”: 0
},
{
“description”: “Delisting”,
“value”: 1
},
{
“description”: “Price change”,
“value”: 2
},
{
“description”: “Quantity change”,
“value”: 3
},
{
“description”: “Purchase”,
“value”: 4
},
{
“description”: “Delivery”,
“value”: 5
},
{
“description”: “Feedback”,
“value”: 6
},
{
“description”: “Refund”,
“value”: 7
}
]
},
{
“description”: “Account Control”,
“value”: 4,
“subtypes”: [
{
“description”: “Effective balance leasing”,
“value”: 0
}
]
}
],
“peerStates”: [
{
“description”: “Non-connected”,
“value”: 0
},
{
“description”: “Connected”,
“value”: 1
},
{
“description”: “Disconnected”,
“value”: 2
}
],
“maxArbitraryMessageLength”: 1000,
“requestTypes”: {}
}
Get Peer
Get information about a given peer.
Request:
requestType
is getPeer
peer
is the IP address or domain name of the peer (plus optional port)
Response:
(N) lastUpdated
is the timestamp (in seconds since the genesis block) of the last peer status update
(N) downloadedVolume
is the number of bytes downloaded by the peer
(B) blacklisted
is true if the peer is blacklisted
(S) announcedAddress
is the name that the peer announced to the network (could be a DNS name, IP address, or any other string)
(S) application
is the name of the software application, typically BRS
(N) uploadedVolume
is the number of bytes uploaded by the peer
(N) state
defines the state of the peer: 0 for NON_CONNECTED, 1 for CONNECTED, or 2 for DISCONNECTED
(S) version
is the version of the software running on the peer
(S) platform
is the string representing the peer’s platform
(B) shareAddress
is true if the address is allowed to be shared with other peers
(N) requestProcessingTime
is the API request processing time (in milliseconds)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getPeer&peer=107.150.6.121
Response:
{
“lastUpdated”: 121622908,
“downloadedVolume”: 5557831,
“blacklisted”: false,
“announcedAddress”: “107.150.6.121”,
“application”: “BRS”,
“uploadedVolume”: 11482803,
“state”: 1,
“requestProcessingTime”: 0,
“version”: “2.2.1”,
“platform”: “PC”,
“shareAddress”: true
}
Get Peers
Get a list of peer IP addresses.
Request:
requestType
is getPeers
active
is true for active (not NON_CONNECTED) peers only (optional, if true overrides state)
state
is the state of the peers, one of NON_CONNECTED, CONNECTED, or DISCONNECTED (optional)
Note: If neither active nor state is specified, all known peers are retrieved.
Response:
(A) peers
is the array of peer addresses
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getPeers&active=true
Response:
{
“peers”: [
“107.150.6.121”,
“37.205.11.73”,
“79.113.222.145”,
“74.141.142.82”,
“71.172.254.124”,
“89.133.236.99”,
“97.84.139.244”
],
“requestProcessingTime”: 0
}
Get My Info
Get hostname and address of the requesting node.
Request:
requestType
is getMyInfo
Response:
(S) host
is the node hostname
(S) address
is the node address
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getMyInfo
Response:
{
“address”: “127.0.0.1”,
“host”: “127.0.0.1”,
“requestProcessingTime”: 0
}
Get State
Get the state of the server node and network.
Request:
requestType
is getState
includeCounts
is false if the fields numberOf are to be excluded
Response:
(N) numberOfPeers
is the number of known peers on the network
(N) numberOfUnlockedAccounts
is the number of unlocked accounts on this node
(N) numberOfTransfers
is the number of AE transfers in the blockchain
(N) numberOfOrders
is the number of AE orders in the blockchain
(N) numberOfTransactions
is the number of transactions in the blockchain
(N) maxMemory
is the maximum amount of memory the node may use (in Bytes)
(B) isScanning
is true if this node is scanning the blockchain, false otherwise
(S) cumulativeDifficulty
is the current cumulative forging difficulty
(N) numberOfAssets
is the number of AE assets in the blockchain
(N) freeMemory
is the amount of free memory on this node (in Bytes)
(N) availableProcessors
is the number of processors on this node
(N) totalEffectiveBalanceNxt
is the total effective Balance of the network in BURST
(N) numberOfAccounts
is the number of accounts in the blockchain
(N) numberOfBlocks
is the number of blocks (height + 1) in the blockchain
(S) version
is the software version on this node
(N) numberOfBidOrders
is the number of AE bid orders in the blockchain
(S) lastBlock
is the last block address
(N) totalMemory
is the amount of memory this node is using (in Bytes)
(S) application
is the name of the software running on this node (typically BRS)
(N) numberOfAliases
is the number of aliases in the blockchain
(N) lastBlockchainFeederHeight
is the height of the last blockchain feeder
(N) numberOfTrades
is the number of AE trades in the blockchain
(N) time
is the current node time (in seconds since the genesis block)
(N) numberOfAskOrders
is the number of AE ask orders in the blockchain
(S) lastBlockchainFeeder
is the announced name of the feeder of the last blockchain
(N) requestProcessingTime
is the API request processing time (in millisec)
Note: AE is Asset Exchange, DGS is Digital Goods Store
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getState
Response:
{
“numberOfPeers”: 2748,
“numberOfUnlockedAccounts”: 0,
“numberOfTransfers”: 56779,
“numberOfOrders”: 2974,
“numberOfTransactions”: 7528488,
“maxMemory”: 1431830528,
“isScanning”: false,
“cumulativeDifficulty”: “29365339954194811259”,
“numberOfAssets”: 371,
“freeMemory”: 617885288,
“availableProcessors”: 2,
“totalEffectiveBalanceNXT”: 1961368807,
“numberOfAccounts”: 147147,
“numberOfBlocks”: 502799,
“requestProcessingTime”: 6189,
“version”: “2.2.1”,
“numberOfBidOrders”: 397,
“lastBlock”: “10431007917907627236”,
“totalMemory”: 1167589376,
“application”: “BRS”,
“numberOfAliases”: 17008,
“lastBlockchainFeederHeight”: 502798,
“numberOfTrades”: 109663,
“time”: 121621202,
“numberOfAskOrders”: 2577,
“lastBlockchainFeeder”: “169.55.184.235”
}
Get Time
Get the current time.
Request:
requestType
is getTime
Response:
(N) time
is the current node time (in seconds since the genesis block)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getTime
Response:
{
“time”: 121621260,
“requestProcessingTime”: 0
}
Account Operations
Get Account
Get account information given an account ID.
Request:
requestType
is getAccount
account
is the account ID
Response:
(S) unconfirmedBalanceNQT
is the balanceNQT less unconfirmed outgoing transactions, the balance displayed in the client
(S) guaranteedBalanceNQT
is the balance (in NQT) of the account with at least 1440 confirmations
(A) unconfirmedAssetBalances
is the uncofirmend asset balance of the account
(S) effectiveBalanceNXT
is the balance (in BURST) of the account available for forging: the unleased guaranteedBalance of this account plus the leased guaranteedBalance of all lessors to this account
(S) accountRS
is the Reed-Solomon address of the account
(S) name
is the name of the account
(S) forgedBalanceNQT
is the balance (in NQT) that the account has forged
(S) balanceNQT
is the minimally confirmed basic balance (in NQT) of the account
(S) publicKey
is the public key of the account
(A) assetBalances
is the balance of all assets of the account
(S) account
is the account number
(N) requestProcessingTime
is the the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getAccount&account=BURST-GBFG-HVQ4-8AMM-GPCWR
Response:
{
“unconfirmedBalanceNQT”: “100000000000”,
“guaranteedBalanceNQT”: “100000000000”,
“unconfirmedAssetBalances”: [
{
“unconfirmedBalanceQNT”: “120100”,
“asset”: “3702027329806229573”
}
],
“effectiveBalanceNXT”: “100000000000”,
“accountRS”: “BURST-GBFG-HVQ4-8AMM-GPCWR”,
“name”: “Umbrellacorp03”,
“forgedBalanceNQT”: “0”,
“balanceNQT”: “100000000000”,
“publicKey”: “f22d8aa787eddbf69caf6f5960f5972a4b73247eb3a9479ddddeda40224aca60”,
“requestProcessingTime”: 1,
“assetBalances”: [
{
“balanceQNT”: “120100”,
“asset”: “3702027329806229573”
}
],
“account”: “17001464071916561838”
}
Get Account Block Ids
Get the block IDs of all blocks forged (generated) by an account in reverse block height order.
Request:
requestType
is getAccountBlockIds
account
is the account ID
timestamp
is the earliest block (in seconds since the genesis block) to retrieve (optional)
firstIndex
is the zero-based index to the first block to retrieve (optional)
lastIndex
is the zero-based index to the last block to retrieve (optional)
Response:
(A) blockIds
is the array of blocks
(N) requestProcessingTime
is the API request processing time (in millsec)
Example:
Request:
Response similar to:
{“blockIds”:[“18426055195962363092″,”7915836588136735869″,”10232042957216858995″,”6879436477641441477″,”10946006553575734351”,”114614208474510267
Get Account Block Ids
Get Account Blocks
Get all blocks forged (generated) by an account in reverse block height order.
Request:
requestType
is getAccountBlocks
timestamp
is the earliest block (in seconds since the genesis block) to retrieve (optional)
firstIndex
is the zero-based index to the first block to retrieve (optional)
lastIndex
is the zero-based index to the last block to retrieve (optional)
includeTransactions
is the true to retrieve transaction details, otherwise only transaction IDs are retrieved (optional) (optional)
Response:
(A) blocks
is the array of blocks (refer to Get Block for details)
(N) requestProcessingTime
is the API request processing time (in millsec)
Example:
Request:
Response similar to:
{
“blocks”: [
{
“previousBlockHash”: “9bb982b31c196a59231197da7abc82aeecea8d21017eb0c12fbabed8a74ec71c”,
“payloadLength”: 1936,
“totalAmountNQT”: “106611838192”,
“generationSignature”: “dedb23e56e9cc7d17d0f8d09bde18890c950089a2d7253889e8197967a9cacce”,
“generator”: “15922713504207360763”,
“generatorPublicKey”: “177d9ea55714741b002665dd9b7a1bc49834281c49162282735fadbb654f525d”,
“baseTarget”: “62600”,
“payloadHash”: “9c2e60b58de75577d4f088abe14111756f602fc0498c8a1cd97555514b3794f3”,
“generatorRS”: “BURST-JNRV-L9MB-QU9G-FR8YT”,
“blockReward”: “1101”,
“nextBlock”: “7294788635189399942”,
“scoopNum”: 3287,
“numberOfTransactions”: 11,
“blockSignature”: “51cfdb787b44c6ef65fd44bcc1efe0d1880a1f36573b1976849a34514eebfb0c657092b04ab329147b08c14b2d36fb3b769ac7d348dd8b42c706feba1c31fe0d”,
“transactions”: [
“9974453735926447276”,
“10292157220435803480”,
“12118294371901969706”,
“14492253203769113366”,
“16186302445201505070”,
“16411262478294799982”,
“1509465029747109302”,
“3032891187575274734”,
“3133520208744662995”,
“4199249628605348221”,
“4284107851893128481”
],
“nonce”: “11577401”,
“version”: 3,
“totalFeeNQT”: “1100000000”,
“previousBlock”: “6442989827968383387”,
“block”: “12993921455729618779”,
“height”: 467931,
“timestamp”: 113186379
}
],
“requestProcessingTime”: 3
}
Get Account Id
Get an account ID given a secret passphrase or public key. POST only.
Request:
requestType
is getAccountId
secretPhrase
is the secret passphrase of the account (optional if publicKey provided)
publicKey
is the public key of the account (optional if secretPhrase provided)
Response:
(S) accountRS
is the Reed-Solomon address of the account
(S) publicKey
is the public key of the account
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) account
is the account number
Example:
Get Account Id
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getAccountId&secretPhrase=IWontTellYou
Response:
{
“accountRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“publicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“requestProcessingTime”: 0,
“account”: “15323192282528158131”
}
Get Account Lessors
Get the lessors to an account.
Request:
requestType
is getAccountLessors
account
is the account ID
height
is the height of the blockchain to detemine the lessors (option, default is the last block)
Note: If table trimming is enabled (default), the height must be within 1440 blocks of the last block.
Response:
(A) lessors
is the array of lessor objects including the fields:
- lessorRS (S)
- lessor (S)
- guaranteedBalanceNQT (S)
(S) accountRS
is the Reed-Solomon address of the account
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) account
is the account number
(N) height
is the height of the blockchain
Example:
Request:
Response:
{
“lessors”: [],
“accountRS”: “BURST-GBFG-HVQ4-8AMM-GPCWR”,
“requestProcessingTime”: 0,
“account”: “17001464071916561838”,
“height”: 496781
}
Get Account Public Key
Get the public key associated with an account ID.
Request:
requestType
is getAccountPublicKey
account
is the account ID
Response:
(S) publicKey
is the 32-byte public key associated with the account, returned as a hex string
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
{
“publicKey”: “f22d8aa787eddbf69caf6f5960f5972a4b73247eb3a9479ddddeda40224aca60”,
“requestProcessingTime”: 1
}
Get Account Transaction Ids
Get the transaction IDs associated with an account in reverse block timestamp order.
Request:
requestType
is getAccountTransactionIds
account
is the account ID
timestamp
is the earliest block (in seconds since the genesis block) to retrieve (optional)
type
is the type of transactions to retrieve (optional)
subtype
is the subtype of transactions to retrieve (optional)
firstIndex
is the a zero-based index to the first transaction ID to retrieve (optional)
lastIndex
is the a zero-based index to the last transaction ID to retrieve (optional)
numberOfConfirmations
is the required number of confirmations per transaction (optional)
Note: Refer to Get Constants for definitions of types and subtypes
Response:
(A) transactionIds
is the array of transaction IDs
(S) lastBlock
is the last block ID on the blockchain (applies if requireBlock is provided but not requireLastBlock)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example: Refer to Get Account Transaction Ids example. ===Get Account Transactions === Get the transactions associated with an account in reverse block timestamp order.
Request:
requestType
is getAccountTransactions
account
is the account ID
timestamp
is the earliest block (in seconds since the genesis block) to retrieve (optional)
type
is the type of transactions to retrieve (optional)
subtype
is the subtype of transactions to retrieve (optional)
firstIndex
is the a zero-based index to the first transaction ID to retrieve (optional)
lastIndex
is the a zero-based index to the last transaction ID to retrieve (optional)
numberOfConfirmations
is the required number of confirmations per transaction (optional)
Note: Refer to Get Constants for definitions of types and subtypes
Response:
(A) transaction
is the array of transaction (refer to Get Transaction for details)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Get Account Transaction Ids
Request:
Response:
{
“transactionIds”: [
“14471919803527301514”,
“8408429517094397948”,
“7677510357080940908”,
“15605878519502379168”,
“13241821260511921007”,
“16748761036604486700”,
“6521866371443385678”
],
“requestProcessingTime”: 7
Get Balance
Get the balance of an account.
Request:
requestType
is getBalance
account
is the account ID
Response:
(S) unconfirmedBalanceNQT
is the balanceNQT less unconfirmed outgoing transactions, the balance displayed in the client
(S) guaranteedBalanceNQT
is the balance (in NQT) of the account with at least 1440 confirmations
(N) effectiveBalanceNXT
is the balance (in BURST) of the account available for forging: the unleased guaranteedBalance of this account plus the leased guaranteedBalance of all lessors to this account
(S) forgedBalanceNQT
is the balance (in NQT) that the account has forged
(S) balanceNQT
is the minimally confirmed basic balance (in NQT) of the account
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getBalance&account=BURST-GBFG-HVQ4-8AMM-GPCWR
Response:
{
“unconfirmedBalanceNQT”: “100000000000”,
“guaranteedBalanceNQT”: “100000000000”,
“effectiveBalanceNXT”: “100000000000”,
“forgedBalanceNQT”: “0”,
“balanceNQT”: “100000000000”,
“requestProcessingTime”: 0
}
Get Guaranteed Balance
Get the balance of an account that is confirmed at least a specified number of times.
Request:
requestType
is getGuaranteedBalance
account
is the account ID
numberOfConfirmations
is the minimum number of confirmations for a transaction to be included in the guaranteed balance (optional, if omitted or zero then minimally confirmed transactions are included)
Response:
(S) guaranteedBalanceNQT
is the balance (in NQT) of the account with at least numberOfConfirmations confirmations
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“guaranteedBalanceNQT”: “100000000000”,
“requestProcessingTime”: 0
}
Get Unconfirmed Transaction Ids
Get a list of unconfirmed transaction IDs associated with an account.
Request:
requestType
is getUnconfirmedTransactionIds
account
is the account ID (optional)
Response:
(N) requestProcessingTime
is the API request processing time (in millisec)
(A) unconfirmedTransactionIds
is the array of unconfirmed transaction IDs
Example:
Request:
Response:
{
“requestProcessingTime”: 0,
“unconfirmedTransactionIds”: []
}
Get Unconfirmed Transactions
Get a list of unconfirmed transactions associated with an account.
Request:
requestType
is getUnconfirmedTransactions
account
is the account ID (optional)
Response:
(A) unconfirmedTransactions
is the array of unconfirmed transactions (refer to Get Transaction for details)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getUnconfirmedTransactions
Response:
{
“unconfirmedTransactions”: [
{
“senderPublicKey”: “a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12”,
“signature”: “5316c88b00f767d2bbe0cac07ae4f84b1fe75f002e24e9ce1c1a6b81d6821f09474a4db22db8461be85ac03f7c7df37fa007bd1aa72c34fc4be0e64b605bb2d6”,
“feeNQT”: “100000000”,
“type”: 1,
“fullHash”: “480ae3eba6a4e445c692eacae605bfaecd060e91005f96b09d57647d3c5fcf25”,
“version”: 1,
“ecBlockId”: “3371057862366354193”,
“signatureHash”: “d156bf1cdf9c8fce254a9ef3a7d47ed2f16a35ad94c8c625ec48a83fbda1b615”,
“attachment”: {
“name”: “API-Examples2”,
“description”: “”,
“version.AccountInfo”: 1
},
“senderRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 5,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“ecBlockHeight”: 498894,
“deadline”: 1440,
“transaction”: “5036331320136108616”,
“timestamp”: 120675576,
“height”: 498903
},
{
“senderPublicKey”: “25cc2bb30ee7665737c9721090313c85176e485cd9a15495a0f3abc359d8d632”,
“signature”: “194bd83c8473d5bfef972e50efde4699db401d9097dcb68eaa898042d5022c0a1e64d551e20d6f49402d34f930317577f90152949485f8515d8b89e5bbbf45c0”,
“feeNQT”: “100000000”,
“type”: 0,
“fullHash”: “0c53db6986e2ba38119354158128e60f23a749fec0acf893ff3ca2de22176df0”,
“version”: 1,
“ecBlockId”: “3371057862366354193”,
“signatureHash”: “3b1b88980766b041165a55c622a6eea4b08bb628eab95e3016c19838fda6c112”,
“senderRS”: “BURST-HKML-NRG6-VBRA-2F8PS”,
“subtype”: 0,
“amountNQT”: “10013275142”,
“sender”: “888561138747819634”,
“recipientRS”: “BURST-WXWK-MD2A-KXJL-HR27T”,
“recipient”: “18200197947533981585”,
“ecBlockHeight”: 498894,
“deadline”: 1440,
“transaction”: “4087828678721622796”,
“timestamp”: 120675589,
“height”: 498903
},
],
“requestProcessingTime”: 1
}
Get Escrow Transaction
Get information regarding an escrow with the escrow transaction ID.
Request:
requestType
is getEscrowTransaction
escrow
is the escrow ID
Response:
(A) signers
is the array of signers
(S) senderRS
is the Reed-Solomon address of the sender
(S) sender
is the account ID of the sender
(S) amountNQT
is the amount (in NQT) of the transaction
(S) recipientRS
is the Reed-Solomon address of the recipient, if applicable
(S) recipient
is the account number of the recipient, if applicable
(N) id
is the id of the escrow transaction
(N) requestProcessingTime
is the API request processing time (in millisec)
(N) deadline
is the deadline for the transaction to be confirmed
(S) deadlineAction
is the the action at the end of the escrow transaction. (“split”, “refund” or “release”)
(N) requiredSigners
is the number of required signers
Example: To do
Get Account Escrow Transactions
Request:
requestType
is getAccountEscrowTransactions
account
is the account ID
Response:
(A) escrows
is the array of escows
(N) requestProcessingTime
is the API request processing time (in millisec)
Example: To do
Get Subscription
Get the detail of a subscription.
Request:
requestType
is getSubscription
subscription
is the subscription ID
Response:
(N) id
is the id of the subscription transaction
(N) timeNext
is the Time stamp of the next subscription payment
(N) requestProcessingTime
is the API request processing time (in millisec)
(N) frequency
is the frequency of the subscription payment (in seconds)
Example:
Request:
Response:
{
“senderRS”: “BURST-2RN8-FSU8-P64Q-5AL9C”,
“sender”: “3827576371473833606”,
“amountNQT”: “500000000”,
“recipientRS”: “BURST-JDMH-EZQC-UWY4-EXXFU”,
“recipient”: “14787496155544039023”,
“id”: “13721874590196751209”,
“timeNext”: 128778762,
“requestProcessingTime”: 0,
“frequency”: 3600
}
Get Subscriptions To Account
Get the details of subcriptions paid to an account.
Request:
requestType
is getSubscriptionsToAccount
account
is the account ID
Response:
(A) subscriptions
is the array of subscriptions
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“subscriptions”: [
{
“senderRS”: “BURST-2RN8-FSU8-P64Q-5AL9C”,
“sender”: “3827576371473833606”,
“amountNQT”: “500000000”,
“recipientRS”: “BURST-JDMH-EZQC-UWY4-EXXFU”,
“recipient”: “14787496155544039023”,
“id”: “13721874590196751209”,
“timeNext”: 128778762,
“frequency”: 3600
}
],
“requestProcessingTime”: 2
}
Get Account Subscriptions
Get all subscriptions related to an account.
Request:
requestType
is getAccountSubscriptions
Response:
(A) subscriptions
is the array of subscriptions
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Get Account Subscriptions
Request:
Response:
{
“subscriptions”: [
{
“senderRS”: “BURST-2RN8-FSU8-P64Q-5AL9C”,
“sender”: “3827576371473833606”,
“amountNQT”: “500000000”,
“recipientRS”: “BURST-JDMH-EZQC-UWY4-EXXFU”,
“recipient”: “14787496155544039023”,
“id”: “13721874590196751209”,
“timeNext”: 128778762,
“frequency”: 3600
}
],
“requestProcessingTime”: 2
}
Send Money
Send BURST to an account. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is sendMoney
recipient
is the account ID of the recipient.
amountNQT
is the amount (in NQT) in the transaction
Response: Refer to Create Transaction Response.
Example:
Request:
Response:
{
“signatureHash”: “b6bb90bac0d529d9ebc6771089f389c976db2a67d76867f7c9d2e1b90e00358a”,
“unsignedTransactionBytes”: “001092812d07180057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93cae2527ec7e55f1eb00e1f5050000000000e1f505*”,
“transactionJSON”: {
“senderPublicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“signature”: “3b709a56a9a2308b2364cdb260cc8b08126b8ed13cfe891aa817c28760b0e90f108680db998938fd4747390a0ed9b3b3e25674b849e583dce011155f95ecaa3a”,
“feeNQT”: “100000000”,
“type”: 0,
“fullHash”: “808d5c32b12f4d4b963404c19523b6391ddf7a04a96ec4a495703aeead76c6ff”,
“version”: 1,
“ecBlockId”: “16622227543717857480”,
“signatureHash”: “b6bb90bac0d529d9ebc6771089f389c976db2a67d76867f7c9d2e1b90e00358a”,
“senderRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 0,
“amountNQT”: “100000000”,
“sender”: “15323192282528158131”,
“recipientRS”: “BURST-GBFG-HVQ4-8AMM-GPCWR”,
“recipient”: “17001464071916561838”,
“ecBlockHeight”: 497841,
“deadline”: 24,
“transaction”: “5426045564151958912”,
“timestamp”: 120422802,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 4,
“transactionBytes”: “001092812d07180057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93cae2527ec7e55f1eb00e1f5050000000000e1f505*”,
“fullHash”: “808d5c32b12f4d4b963404c19523b6391ddf7a04a96ec4a495703aeead76c6ff”,
“transaction”: “5426045564151958912”
}
Send Money Multi
Send individual amounts of BURST to up to 64 recipients. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is sendMoneyMulti
recipients
is the account ID of the recipients. The recipients string is <numid1>:<amount1>;<numid2>:<amount2>;<numidN>:<amountN>
Response: Refer to Create Transaction Response.
Example: To do
Send Money Multi Same
Send the same amount of BURST to up to 128 recipients. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is sendMoneyMultiSame
recipients
is the account ID of the recipients. The recipients string is <numid1>;<numid2>;<numidN>
amountNQT
is the amount (in NQT) in the transaction
Response: Refer to Create Transaction Response.
Example: To do
Send Money Escrow
Request:
requestType
is sendMoneyEscrow
Response: To do
Example: To do
Send Money Subscription
Send the same amount to a predefined account with a fixed frequency.
Request:
requestType
is sendMoneySubscription
recipient
is the account ID of the recipient.
amountNQT
is the amount (in NQT) in the transaction
frequency
is the frequency (in seconds) at which the money is sent.
Response: Refer to Create Transaction Response.
Example:
Request:
Response:
{
“signatureHash”: “c750d47f99a1dc5b01f3850d8c888b324fd49f1fe77c97fd8bccf339a82f3739”,
“unsignedTransactionBytes”: “1513059bfe071800ad6cfaf61afba1b6542a5f3ef2a8f072a0e417b00d41cfcf86060cf780af1247d9f92fa97a86ce7200c2eb0b*”,
“transactionJSON”: {
“senderPublicKey”: “ad6cfaf61afba1b6542a5f3ef2a8f072a0e417b00d41cfcf86060cf780af1247”,
“signature”: “541e44ec8ea4642148dc6dd212076c16618580db47726f1522e2fda6805a680022cc3ef643f5cbefd0863796c9bcb8ee12cc611c38bc7a5bf01dbd2bc0777c29”,
“feeNQT”: “10000000”,
“type”: 21,
“fullHash”: “06491cddb3159f0ff9ff44e27b3ee2ed5a67756f9efe70dcbec83843c5bd2191”,
“version”: 1,
“ecBlockId”: “3529501934685685596”,
“signatureHash”: “c750d47f99a1dc5b01f3850d8c888b324fd49f1fe77c97fd8bccf339a82f3739”,
“attachment”: {
“version.SubscriptionSubscribe”: 1,
“frequency”: 3600
},
“senderRS”: “BURST-MNAM-VYK3-V3KC-DTACV”,
“subtype”: 3,
“amountNQT”: “200000000”,
“sender”: “13666482992520483091”,
“recipientRS”: “BURST-ZYGT-HCNL-PU3A-98NM7”,
“recipient”: “8272697426908805593”,
“ecBlockHeight”: 554516,
“deadline”: 24,
“transaction”: “1125642294118861062”,
“timestamp”: 134126341,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 10,
“transactionBytes”: “1513059bfe071800ad6cfaf61afba1b6542a5f3ef2a8f072a0e417b00d41cfcf86060cf780af1247d9f92fa97a86ce7200c2eb0b*”,
“fullHash”: “06491cddb3159f0ff9ff44e27b3ee2ed5a67756f9efe70dcbec83843c5bd2191”,
“transaction”: “1125642294118861062”
}
Cancel Subscription
Cancel a subscription. Refer to Create Transaction Request for common parameters.
Request:
requestType
is subscriptionCancel
subscription
is the ID of the subscription to cancel.
Response: Refer to Create Transaction Response
Example:
Request:
Response:
{
“signatureHash”: “5d8b62549fc7533d898b6787930880b438257881fb5db6fc8aeeaf0209bb43ee”,
“unsignedTransactionBytes”: “1514f39cfe071800ad6cfaf61afba1b6542a5f3ef2a8f072a0e417b00d41cfcf86060cf780af1247*”,
“transactionJSON”: {
“senderPublicKey”: “ad6cfaf61afba1b6542a5f3ef2a8f072a0e417b00d41cfcf86060cf780af1247”,
“signature”: “dd060be1727ad6e82c163c80b1a0cbb8c626169661d8d26a459a5fd49b4fa603cda2096fff8564d667e4fa199bd5351c0ba9a6ed2a32373f9808dd26fd2ed11d”,
“feeNQT”: “10000000”,
“type”: 21,
“fullHash”: “a84c68ef82c11caf97cbabb0e4cd26d077ecb16c5dd7f138fbbf347598609d92”,
“version”: 1,
“ecBlockId”: “8594277110464290878”,
“signatureHash”: “5d8b62549fc7533d898b6787930880b438257881fb5db6fc8aeeaf0209bb43ee”,
“attachment”: {
“subscriptionId”: “3470763597622549812”,
“version.SubscriptionCancel”: 1
},
“senderRS”: “BURST-MNAM-VYK3-V3KC-DTACV”,
“subtype”: 4,
“amountNQT”: “0”,
“sender”: “13666482992520483091”,
“ecBlockHeight”: 554518,
“deadline”: 24,
“transaction”: “12618173024091786408”,
“timestamp”: 134126835,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 9,
“transactionBytes”: “1514f39cfe071800ad6cfaf61afba1b6542a5f3ef2a8f072a0e417b00d41cfcf86060cf780af1247*”,
“fullHash”: “a84c68ef82c11caf97cbabb0e4cd26d077ecb16c5dd7f138fbbf347598609d92”,
“transaction”: “12618173024091786408”
}
Set Account Info
Set account information. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is setAccountInfo
name
is the name to associate with the account
description
is the description to associate with the account
Response: Refer to Create Transaction Request.
Example: Refer to Set Account Info example.
Set Account Info
Request:
Response:
{
“signatureHash”: “00e5694c213c978045fc32125092a1f3b16e6c5bf4d1d24c51005466be29f14b”,
“unsignedTransactionBytes”: “0115c1832d07180057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c0000000000000000000000000000000000e1f505*”,
“transactionJSON”: {
“senderPublicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“signature”: “9b2634d7f439bf0c71341511a3efb202f744ec7f1b60673d07965bb297b4060d27bed164bf2611b738da1df34cd15a44458bfed2f6e78c94707af11da46f5044”,
“feeNQT”: “100000000”,
“type”: 1,
“fullHash”: “7ace7428ff55c4c5963d828f0cd210be4c988b482b2930b73c80c7fe55c19af5”,
“version”: 1,
“ecBlockId”: “4725767517890678156”,
“signatureHash”: “00e5694c213c978045fc32125092a1f3b16e6c5bf4d1d24c51005466be29f14b”,
“attachment”: {
“name”: “API-Examples”,
“description”: “”,
“version.AccountInfo”: 1
},
“senderRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 5,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“ecBlockHeight”: 497844,
“deadline”: 24,
“transaction”: “14250609675290857082”,
“timestamp”: 120423361,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 9,
“transactionBytes”: “0115c1832d07180057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c0000000000000000000000000000000000e1f505*”,
“fullHash”: “7ace7428ff55c4c5963d828f0cd210be4c988b482b2930b73c80c7fe55c19af5”,
“transaction”: “14250609675290857082”
}
Transaction Operations
Broadcast Transaction
Broadcast a transaction to the network. POST only.
Request:
requestType
is broadcastTransaction
transactionBytes
is the bytecode of a signed transaction (optional)
transactionJSON
is the transaction object (optional if transactionBytes provided)
Response:
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) fullHash
is the full hash of the signed transaction
(S) transaction
is the transaction ID
Example:
Request:
Response:
{
“requestProcessingTime”: 4,
“fullHash”: “d663f7fe8bf215906b29838ade5d860b2229188acea7827a737d823253b488db”,
“transaction”: “10382471199064548310”
}
Note: If the transaction has already been broadcast, the following INFO notice appears in the console output and log file: Transaction 15200507403046301754 already in blockchain (or unconfirmed pool), will not broadcast again.
Calculate Full Hash
Calculate the full hash of a transaction.
Request:
requestType
is calculateFullHash
unsignedTransactionBytes
is the unsigned bytes of a transaction (optional if unsignedTransactionJSON is provided)
signatureHash
is the SHA-256 hash of the transaction signature
Response:
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) fullHash
is the full hash of the signed transaction
Example: Refer to Calculate Full Hash example.
Calculate Full Hash
Request:
Response:
{
“requestProcessingTime”: 0,
“fullHash”: “a8035211b0fb38415509ca451feee44787598462e7bc608affb8e7b2a1f81d05”
}
Get Transaction
Get a transaction object given a transaction ID.
Request:
requestType
is getTransaction
fullHash
is the full hash of the transaction (optional if transaction ID is provided)
Response:
(S) senderPublicKey
is the public key of the sending account for the transaction
(S) signature
is the digital signature of the transaction
(S) feeNQT
is the fee (in NQT) of the transaction
(N) requestProcessingTime
is the API request processing time (in millisec)
(N) type
is the transaction type (refer to Get Constants for a current list of types)
(N) confirmations
is the number of transaction confirmations
(S) fullHash
is the full hash of the signed transaction
(N) version
is the transaction version number
(N) ecBlockId
is the economic clustering block ID
(S) signatureHash
is the SHA-256 hash of the transaction signature
(S) senderRS
is the Reed-Solomon address of the sender
(N) subtype
is the transaction subtype (refer to Get Constants for a current list of subtypes)
(S) amountNQT
is the amount (in NQT) of the transaction
(S) sender
is the account ID of the sender
(S) recipientRS
is the Reed-Solomon address of the recipient, if applicable
(S) recipient
is the account number of the recipient, if applicable
(N) ecBlockHeight
is the economic clustering block height
(S) block
is the ID of the block containing the transaction
(N) blockTimestamp
is the timestamp (in seconds since the genesis block) of the block
(N) deadline
is the deadline (in minutes) for the transaction to be confirmed
(N) timestamp
is the time (in seconds since the genesis block) of the transaction
(N) height
is the height of the block in the blockchain
Note: The block, blockTimestamp and confirmations fields are omitted for unconfirmed transactions. Double-spending transactions are not retrieved.
Example:
Request:
Response:
{
“senderPublicKey”: “a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12”,
“signature”: “dc2503584a48e30ac62d62848f58461e0e9ff55070008743c24f380c24a9ef05525c70b5d40962566f3f4de2018277ba7956eb09d0aec84219784de7f3b76f6a”,
“feeNQT”: “735000”,
“requestProcessingTime”: 0,
“type”: 1,
“confirmations”: 7,
“fullHash”: “0f37d045bc7d4f2bd85cb565a5c4e575464ac387b986f80fb8c31635cf03923e”,
“version”: 1,
“ecBlockId”: “1212249281481197658”,
“signatureHash”: “2bcbafeab7a0bae40337fe34adea84110b1f770a33841c95f3fe9e19dde41bae”,
“attachment”: {
“version.Message”: 1,
“messageIsText”: true,
“message”: “This is a sendMessage API example”
},
“senderRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 0,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“recipientRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“recipient”: “15323192282528158131”,
“ecBlockHeight”: 502787,
“block”: “2298247278137763160”,
“blockTimestamp”: 121620850,
“deadline”: 24,
“transaction”: “3120851314369640207”,
“timestamp”: 121620814,
“height”: 502797
}
Get Transaction Bytes
Get the bytecode of a transaction.
Request:
requestType
is getTransactionBytes
transaction
is the transaction ID
Response:
(S) unsignedTransactionBytes
is the unsigned bytes contained in the transaction
(N) requestProcessingTime
is the API request processing time (in millisec)
(N) confirmations
is the number of transaction confirmations
(S) transactionBytes
is the bytes contained in the transaction
Example:
Request:
Response:
{
“unsignedTransactionBytes”: “01104ec93f071800a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12b31119f931eaa6d4000000000000000018370b*”,
“requestProcessingTime”: 0,
“confirmations”: 7,
“transactionBytes”: “01104ec93f071800a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12b31119f931eaa6d4000000000000000018370b*”
}
Parse Transaction
Get a transaction object given a signed transaction bytecode, or re-parse a transaction object. Verify the signature.
Request:
requestType
is parseTransaction
transactionBytes
is the signed or unsigned bytecode of the transaction (optional)
transactionJSON
is the transaction object (optional if transactionBytes is included)
Response: Refer to Get Transaction.
Example:
Request:
Response:
{
“senderPublicKey”: “a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12”,
“signature”: “dc2503584a48e30ac62d62848f58461e0e9ff55070008743c24f380c24a9ef05525c70b5d40962566f3f4de2018277ba7956eb09d0aec84219784de7f3b76f6a”,
“feeNQT”: “735000”,
“requestProcessingTime”: 238,
“type”: 1,
“fullHash”: “0f37d045bc7d4f2bd85cb565a5c4e575464ac387b986f80fb8c31635cf03923e”,
“version”: 1,
“ecBlockId”: “1212249281481197658”,
“signatureHash”: “2bcbafeab7a0bae40337fe34adea84110b1f770a33841c95f3fe9e19dde41bae”,
“attachment”: {
“version.Message”: 1,
“messageIsText”: true,
“message”: “This is a sendMessage API example”
},
“senderRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 0,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“recipientRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“recipient”: “15323192282528158131”,
“ecBlockHeight”: 502787,
“verify”: true,
“deadline”: 24,
“transaction”: “3120851314369640207”,
“timestamp”: 121620814,
“height”: 2147483647
}
Sign Escrow
Request:
requestType
is escrowSign
Response: To do
Example: To do
Alias Operations
Sign Transaction
Calculates the full hash, signature hash, and transaction ID of an unsigned transaction.
Request:
requestType
is signTransaction
unsignedTransactionBytes
is the unsignedTransactionBytes field of the transaction (optional, if unsignedTransactionJSON provided)
unsignedTransactionJSON
is the transactionJSON field of the transaction, without a signature subfield
secretPhrase
is the secret passphrase of the signing account
Response:
(S) signatureHash
is the SHA-256 hash of the transaction signature, used in escrow transactions
(B) verify
is true the signature is verified, false if not
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) transactionBytes
is the the signed transaction bytes
(S) fullHash
is the full hash of the signed transaction
(S) transaction
is the transaction ID, derived from the fullHash
Example:
Request:
Response:
{
“signatureHash”: “2bcbafeab7a0bae40337fe34adea84110b1f770a33841c95f3fe9e19dde41bae”,
“verify”: true,
“requestProcessingTime”: 2,
“transactionBytes”: “01104ec93f071800a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12b31119f931eaa6d4000000000000000018370b*”,
“fullHash”: “0f37d045bc7d4f2bd85cb565a5c4e575464ac387b986f80fb8c31635cf03923e”,
“transaction”: “3120851314369640207”
}
Buy / Sell Alias
Buy or sell an alias. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is either buyAlias or sellAlias
alias
is the ID of the alias (optional)
aliasName
is the alias name (optional if alias provided)
priceNQT
is the asking price (in NQT) of the alias (sellAlias only)
amountNQT
is the amount (in NQT) offered for an alias for sale (buyAlias only)
recipient
is the account ID of the recipient (only required for sellAlias and only if there is a designated recipient)
Note: An alias can be transferred rather than sold by setting priceNQT to zero. A pending sale can be canceled by selling again to self for a price of zero.
Response: Refer to Create Transaction Response.
Example:
Request:
Response:
{
“signatureHash”: “952eea5e0eb67f1ec78abfab60edcde55f477ae8dcf8f620077783532217c329”,
“unsignedTransactionBytes”: “0116a16031071800a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12ae2527ec7e55f1eb000000000000000000e1f505*”,
“transactionJSON”: {
“senderPublicKey”: “a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12”,
“signature”: “6ce34c1f9a73ce7c375b9a0eeec1942f9932ecd6e34f8b5c9358a501007cf709fe26a2f205be7180af0cca753f89c648b6a1481bce7ed1e8b91dcbb8a0e7f0ce”,
“feeNQT”: “100000000”,
“type”: 1,
“fullHash”: “2d923132c2cd045c7c8d901b261ab237dbac7ebd50d3f7c549e601c8cc0f1cf9”,
“version”: 1,
“ecBlockId”: “6797965034232082546”,
“signatureHash”: “952eea5e0eb67f1ec78abfab60edcde55f477ae8dcf8f620077783532217c329”,
“attachment”: {
“alias”: “AliasTestSell”,
“priceNQT”: “1”,
“version.AliasSell”: 1
},
“senderRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 6,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“recipientRS”: “BURST-GBFG-HVQ4-8AMM-GPCWR”,
“recipient”: “17001464071916561838”,
“ecBlockHeight”: 498897,
“deadline”: 24,
“transaction”: “6630650785345671725”,
“timestamp”: 120676513,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 7,
“transactionBytes”: “0116a16031071800a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12ae2527ec7e55f1eb000000000000000000e1f505*”,
“fullHash”: “2d923132c2cd045c7c8d901b261ab237dbac7ebd50d3f7c549e601c8cc0f1cf9”,
“transaction”: “6630650785345671725”
}
Set Alias
Create and/or assign an alias. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is setAlias
aliasName
is the alias name
aliasURI
is the alias URI (e.g. http://domain.com/)
Response: Refer to Create Transaction Response. The transaction ID is also the alias ID.
Example:
Request:
Response:
{
“signatureHash”: “c59f26e0b40c306f5ecf0c222a51a83578a9f04165ff27d5f16a4f9f00fc63f7”,
“unsignedTransactionBytes”: “0111a2852d07180057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c0000000000000000000000000000000000e1f505*”,
“transactionJSON”: {
“senderPublicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“signature”: “c27bd8a00b7f8025f7d5054d855d019f939388b1bb52781d9e7d901a81da1a04c726069306f881c2676ae8445cb2bf943465ce32d7daa9fae97a02f597db50b1”,
“feeNQT”: “100000000”,
“type”: 1,
“fullHash”: “ebe26aea6b9996886b245485f6a5005cbd9c4e2584211cf0c5fc16548db7ba29”,
“version”: 1,
“ecBlockId”: “4323691795607025950”,
“signatureHash”: “c59f26e0b40c306f5ecf0c222a51a83578a9f04165ff27d5f16a4f9f00fc63f7”,
“attachment”: {
“alias”: “ApiExample”,
“version.AliasAssignment”: 1,
“uri”: “acct:burst-l6fm-89wk-vk8p-fcrbb@burst”
},
“senderRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 1,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“ecBlockHeight”: 497845,
“deadline”: 24,
“transaction”: “9842222724438221547”,
“timestamp”: 120423842,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 11,
“transactionBytes”: “0111a2852d07180057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c0000000000000000000000000000000000e1f505*”,
“transaction”: “9842222724438221547”
}
Get Alias
Get information about a given alias.
Request:
requestType
is getAlias
alias
is the alias ID (optional)
aliasName
is the name of the alias (optional if alias provided)
Response:
(S) aliasURI
is the what the alias points to, in URI format
(S) aliasName
is the name of the alias
(S) accountRS
is the Reed-Solomon address of the account that owns the alias
(S) alias
is the alias ID
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) account
is the number of the account that owns the alias
(N) timestamp
is the time (in seconds since the genesis block) when the alias was created or last transferred
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getAlias&aliasName=AliasTestSell
Response:
{
“aliasURI”: “acct:burst-frdj-uplh-my9a-gukqp@burst”,
“aliasName”: “AliasTestSell”,
“accountRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“alias”: “5747297803058313219”,
“requestProcessingTime”: 1,
“account”: “16922903237994405232”,
“timestamp”: 120675864
}
Get Aliases
Get information on aliases owned by a given account in alias name order.
Request:
requestType
is getAliases
timestamp
is the earliest creation time (in seconds since the genesis block) of the aliases (optional)
account
is the ID of the account that owns the aliases
firstIndex
is the zero-based index to the first alias to retrieve (optional)
lastIndex
is the zero-based index to the last alias to retrieve (optional)
lastIndex
is the zero-based index to the last alias to retrieve (optional)
Response:
(A) aliases
is the array of alias objects (refer to Get Alias for details)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getAliases&account=16922903237994405232
Response:
{
“aliases”: [
{
“aliasURI”: “acct:burst-frdj-uplh-my9a-gukqp@burst”,
“aliasName”: “AliasTestBuy”,
“accountRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“alias”: “17197436179114898263”,
“account”: “16922903237994405232”,
“timestamp”: 120676320
},
{
“aliasURI”: “acct:burst-frdj-uplh-my9a-gukqp@burst”,
“aliasName”: “AliasTestSell”,
“accountRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“alias”: “5747297803058313219”,
“account”: “16922903237994405232”,
“timestamp”: 120675864
}
],
“requestProcessingTime”: 2
}
Asset Exchange Operations
Cancel Order
Cancel an existing asset order. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is either cancelBidOrder or cancelAskOrder
order
is the order ID of the order being canceled
Response: Refer to Create Transaction Response.
Example:
Request:
Response:
{
“signatureHash”: “ea56c641c52e20cfeb2413dc49fc24a00eba23ac4aa444fdb059ad0aa66fdb0f”,
“unsignedTransactionBytes”: “0214c0d347070100a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f120000000000000000000000000000000000e1f505*”,
“transactionJSON”: {
“senderPublicKey”: “a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12”,
“signature”: “67f67f75a4ed60109239719e29a11915e4e05addd7d851d75766ef4e64b7b7093ff55615144ffb26d2b0de4c8656330ecd1117b3d477219ed09a1098cb77cd81”,
“feeNQT”: “100000000”,
“type”: 2,
“fullHash”: “1454e33bfca5e67186d69ce027e408b3fc52dce6497d4f1d667598e52cae4a3e”,
“version”: 1,
“ecBlockId”: “16853437834039716545”,
“signatureHash”: “ea56c641c52e20cfeb2413dc49fc24a00eba23ac4aa444fdb059ad0aa66fdb0f”,
“attachment”: {
“version.AskOrderCancellation”: 1,
“order”: “15076843998317839249”
},
“senderRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 4,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“ecBlockHeight”: 504969,
“deadline”: 1,
“transaction”: “8207429873684403220”,
“timestamp”: 122147776,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 7,
“transactionBytes”: “0214c0d347070100a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f120000000000000000000000000000000000e1f505*”,
“fullHash”: “1454e33bfca5e67186d69ce027e408b3fc52dce6497d4f1d667598e52cae4a3e”,
“transaction”: “8207429873684403220”
}
Get Account Current Order Ids
Request:
requestType
is either getAccountCurrentBidOrderIds or getAccountCurrentAskOrderIdsaccount
is the account IDasset
is an asset ID filter (optional)firstIndex
is a zero-based index to the first order ID to retrieve (optional)lastIndex
is a zero-based index to the last order ID to retrieve (optional)
Response:
(A) bidOrderIds or askOrderIds
is the array of order IDs
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“requestProcessingTime”: 2,
“askOrderIds”: [
“4875748854378397140”,
“109196327778941945”
]
}
Get Account Current Orders
Get current asset orders given an account ID in reverse block height order.
Request:
requestType
is either getAccountCurrentBidOrders or getAccountCurrentAskOrders
account
is the account ID
asset
is an asset ID filter
firstIndex
is a zero-based index to the first order ID to retrieve (optional)
lastIndex
is a zero-based index to the last order ID to retrieve (optional)
Response:
(A) bidOrders or askOrders
is the array of order objects (refer to Get Order for details)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“askOrders”: [
{
“quantityQNT”: “100000”,
“priceNQT”: “195000”,
“accountRS”: “BURST-MBZS-2BCT-45QV-APCZB”,
“asset”: “3702027329806229573”,
“type”: “ask”,
“account”: “9582909050628712440”,
“order”: “4875748854378397140”,
“height”: 495658
},
{
“quantityQNT”: “260100”,
“priceNQT”: “200000”,
“accountRS”: “BURST-MBZS-2BCT-45QV-APCZB”,
“asset”: “3702027329806229573”,
“type”: “ask”,
“account”: “9582909050628712440”,
“order”: “109196327778941945”,
“height”: 494427
}
],
“requestProcessingTime”: 1
}
Get All Assets
Get all assets in the exchange in reverse block height of creation order.
Request:
requestType
is getAllAssets
firstIndex
is a zero-based index to the first asset to retrieve (optional)
lastIndex
is a zero-based index to the last asset to retrieve (optional)
Response:
(A) assets
is the array of asset objects (refer to Get Asset)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getAllAssets&firstIndex=373
Response:
{
“assets”: [
{
“quantityQNT”: “10000000000”,
“numberOfAccounts”: 77,
“accountRS”: “BURST-8E8K-WQ2F-ZDZ5-FQWHX”,
“decimals”: 8,
“numberOfTransfers”: 26,
“name”: “BCPT”,
“description”: “Burst Cryptoport Pool Token, is an asset that backed by profit from MiningPool at http://burst-pool.cryptoport.io, i will pay dividend from 50% fund i got from pool fee (monthly). dividend will be proportional to BCPT owned”,
“numberOfTrades”: 510,
“asset”: “12791182347560578640”,
“account”: “16050713509424738513”
},
{
“quantityQNT”: “100000000”,
“numberOfAccounts”: 26,
“accountRS”: “BURST-H2ZW-3H4D-RJBS-FCVGV”,
“decimals”: 2,
“numberOfTransfers”: 36,
“name”: “BurstFund”,
“description”: “This asset will act as a stabilizer fund for Burst. This asset aims to assist in maintaining the value of Burst, providing market correction in the event of market manipulation. Each Quantity will be representative of 10 Burst at an initial market price of 0.00001000 each (or determined by asset market). This assets main focus will be ensuring Burst does not become another outdated and dead NXT clone…”,
“numberOfTrades”: 2,
“asset”: “673530795527425458”,
“account”: “15977480701804512252”
}
],
“requestProcessingTime”: 3
}
Get All Open Orders
Get all open bid/ask orders in reverse block height order.
Request:
requestType
is either getAllOpenBidOrders or getAllOpenAskOrders
firstIndex
is a zero-based index to the first order to retrieve (optional)
lastIndex
is a zero-based index to the last order to retrieve (optional)
Response:
(N) requestProcessingTime
is the API request processing time (in millisec)
(A) openOrders
is the array of order objects (refer to Get Order for details)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getAllOpenAskOrders&firstIndex=2577
Response:
{
“requestProcessingTime”: 0,
“openOrders”: [
{
“quantityQNT”: “10”,
“priceNQT”: “10000000000000”,
“accountRS”: “BURST-359Q-QH73-4N5P-FP54C”,
“asset”: “15295227971848272658”,
“type”: “ask”,
“account”: “15350648744942013686”,
“order”: “14034527401109329159”,
“height”: 17901
},
{
“quantityQNT”: “1”,
“priceNQT”: “10000000000000”,
“accountRS”: “BURST-Q4TR-YKRW-6RAN-EDBC8”,
“asset”: “11375670541237055652”,
“type”: “ask”,
“account”: “14062819640288676663”,
“order”: “18379469307992717843”,
“height”: 11997
},
{
“quantityQNT”: “4392”,
“priceNQT”: “100000000000”,
“accountRS”: “BURST-SKL3-ACW8-DBN6-5M8VM”,
“asset”: “11375670541237055652”,
“type”: “ask”,
“account”: “4173943238181013057”,
“order”: “756014781951608408”,
“height”: 11257
}
]
}
Get All Trades
Get all trades since a given timestamp in reverse block height order.
Request:
requestType
is getAllTrades
timestamp
is the timestamp (in seconds since the genesis block) to begin retrieving trades (optional, default 0)
firstIndex
is a zero-based index to the first trade to retrieve (optional)
lastIndex
is a zero-based index to the last trade to retrieve (optional)
includeAssetInfo
is true if asset information is to be included in the result (optional)
Note: If timestamp is omitted or zero, and no index is given, all trades in the entire blockchain will be retrieved, which may timeout or crash your system.
Response:
(A) trades
is the array of trade objects (refer to Get Trades)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getAllTrades&lastIndex=1
Response:
{
“trades”: [
{
“seller”: “2695253629713716937”,
“quantityQNT”: “7700”,
“bidOrder”: “17489219850997945774”,
“sellerRS”: “BURST-Q7QB-WPPC-6VE2-4QVTC”,
“buyer”: “14676337193484961173”,
“priceNQT”: “100000”,
“askOrder”: “7125231493760146086”,
“buyerRS”: “BURST-EKEP-XEYS-6YPW-EL8DR”,
“decimals”: 2,
“name”: “CryptoMaps”,
“block”: “10810208340839229954”,
“asset”: “3702027329806229573”,
“askOrderHeight”: 504189,
“tradeType”: “sell”,
“timestamp”: 122140342,
“height”: 504949
},
{
“seller”: “6905334832585552856”,
“quantityQNT”: “1000”,
“bidOrder”: “14942960390822608034”,
“sellerRS”: “BURST-BEYS-G8VQ-6SEK-7F7PZ”,
“buyer”: “17808054289263456125”,
“priceNQT”: “66500000”,
“askOrder”: “3461704332885328085”,
“buyerRS”: “BURST-QVVX-2TL8-WZ2C-HDRAG”,
“decimals”: 0,
“name”: “BTFGPool”,
“block”: “9914674296156980645”,
“asset”: “9036920395530551012”,
“askOrderHeight”: 504920,
“tradeType”: “buy”,
“timestamp”: 122132789,
“height”: 504920
}
],
“requestProcessingTime”: 447
}
Get Asset
Get asset information given an asset ID.
Request:
requestType
is getAsset
asset
is the asset ID
Response:
(S) quantityQNT
is the total asset quantity (in QNT) in existence
(N) numberOfAccounts
is the number of accounts that own the asset
(S) accountRS
is the Reed-Solomon address of the account that issued the asset
(N) decimals
is the number of decimal places used by the asset
(N) numberOfTransfers
is the number of transfers of this asset
(S) name
is the asset name
(S) description
is the asset description
(N) numberOfTrades
is the number of trades of this asset
(N) requestProcessingTime
is the API request processing time (in millisec)
(N) asset
is the asset ID
(S) account
is the number of the account that issued the asset
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getAsset&asset=3702027329806229573
Response:
{
“quantityQNT”: “20000000000”,
“numberOfAccounts”: 9210,
“accountRS”: “BURST-CMAP-ME5N-TFKP-6BCER”,
“decimals”: 2,
“numberOfTransfers”: 11869,
“name”: “CryptoMaps”,
“description”: “The official CryptoMaps Token, see more details at https://token.cryptomaps.me”,
“numberOfTrades”: 523,
“requestProcessingTime”: 0,
“asset”: “3702027329806229573”,
“account”: “5454221553913122069”
}
Get Asset Accounts
Get the accounts that own an asset given the asset ID in reverse quantity order.
Request:
requestType
is getAssetAccounts
asset
is the asset ID
height
is the height of the blockchain to determine the accounts (optional, default is last block)
firstIndex
is a zero-based index to the first account to retrieve (optional)
lastIndex
is a zero-based index to the last account to retrieve (optional)
Note: If table trimming is enabled (default), the height must be within 1440 blocks of the last block.
Response:
(A) accountAssets
is the array of asset objects with the following fields for each asset:
- (S)
quantityQNT
is the quantity (in QNT) of the asset - (S)
accountRS
is the Reed-Solomon address of the account that owns the asset - (S)
unconfirmedQuantityQNT
is the unconfirmed quantity (in QNT) of the asset - (S)
asset
is the asset ID - (S)
account
is the number of the account that owns the asset
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“accountAssets”: [
{
“quantityQNT”: “5000000000”,
“accountRS”: “BURST-CMAP-AY84-2TV8-6F2QK”,
“unconfirmedQuantityQNT”: “5000000000”,
“asset”: “3702027329806229573”,
“account”: “5248959966645406997”
},
{
“quantityQNT”: “5000000000”,
“accountRS”: “BURST-CMSP-HRMP-ZBTM-9P4J7”,
“unconfirmedQuantityQNT”: “5000000000”,
“asset”: “3702027329806229573”,
“account”: “8268702915092631317”
}
],
“requestProcessingTime”: 22
}
Get Asset Ids
Get the IDs of all assets in the exchange in reverse block height of creation order.
Request:
requestType
is getAssetIds
firstIndex
is the zero-based index to the first asset ID to retrieve (optional)
lastIndex
is the zero-based index to the last asset ID to retrieve (optional)
Response:
(A) assets
is the array of asset IDs
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getAssetIds&lastIndex=5
Response:
{
“assetIds”: [
“2644409077762286513”,
“5533434524898779728”,
“7756017130240677072”,
“2663432644302202784”,
“11700625361170592721”,
“9789600218215198873”
],
“requestProcessingTime”: 1
}
Get Asset Transfers
Get transfers associated with a given asset and/or account in reverse block height order (or in the expected order of execution for expected transfers).
Request:
requestType
is getAssetTransfers provides expected transfers from the unconfirmed transactions pool or phased transactions scheduled to finish in the next block
asset
is the asset ID (optional)
account
is the account ID (optional if asset provided)
includeAssetInfo
is true if the decimals and name fields are to be included (optional, does not apply to expected transfers)
firstIndex
is a zero-based index to the first transfer to retrieve (optional, does not apply to expected transfers)
lastIndex
is zero-based index to the last transfer to retrieve (optional, does not apply to expected transfers)
Response:
(A) transfers
is the array of transfer objects with the following fields for each transfer:
- (S)
quantityQNT
is the quantity (in QNT) of the asset traded - (S)
senderRS
is the Reed-Solomon address of the sender - (S)
assetTransfer
is the transaction ID of the asset transfer - (S)
sender
is the account ID of the sender - (S)
recipientRS
is the Reed-Solomon address of the recipient - (N)
decimals
is the number of decimal places used by the asset (if includeAssetInfo is true) - (S)
recipient
is the account number of the recipient - (S)
name
is the name of the asset (if includeAssetInfo is true) - (S)
asset
is the asset ID - (N)
height
is the height of the transfer block - (N)
timestamp
is the timestamp (in seconds since the genesis block) of the transfer block, does not apply to an expected transfer
(N) requestProcesssingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“transfers”: [
{
“quantityQNT”: “10000”,
“senderRS”: “BURST-RBHF-BY3C-V949-37G3N”,
“assetTransfer”: “16436527819322024045”,
“sender”: “1875121765155055085”,
“recipientRS”: “BURST-59HP-HQ5R-7MGU-AG4LC”,
“decimals”: 2,
“recipient”: “9604012506417831413”,
“name”: “CryptoMaps”,
“asset”: “3702027329806229573”,
“height”: 504029,
“timestamp”: 121917645
},
{
“quantityQNT”: “5500”,
“senderRS”: “BURST-PVZT-KWEH-ZTJE-7Z7C9”,
“assetTransfer”: “9907383924348587793”,
“sender”: “6028278722555736057”,
“recipientRS”: “BURST-RKW5-ZVFT-JU69-6X4JC”,
“decimals”: 2,
“recipient”: “4990091736314005379”,
“name”: “CryptoMaps”,
“asset”: “3702027329806229573”,
“height”: 500631,
“timestamp”: 121093713
}
],
“requestProcessingTime”: 2
}
Get Assets
Get asset information given multiple asset IDs
Request:
requestType
is getAssets
assets
is one of the multiple asset IDs
assets
is one of the multiple asset IDs
assets
is one of the multiple asset IDs
Response:
(A) assets
is the array of asset objects (refer to Get Asset)
(N) requestProcesssingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“assets”: [
{
“quantityQNT”: “20000000000”,
“numberOfAccounts”: 9210,
“accountRS”: “BURST-CMAP-ME5N-TFKP-6BCER”,
“decimals”: 2,
“numberOfTransfers”: 11869,
“name”: “CryptoMaps”,
“description”: “The official CryptoMaps Token, see more details at https://token.cryptomaps.me”,
“numberOfTrades”: 523,
“asset”: “3702027329806229573”,
“account”: “5454221553913122069”
},
{
“quantityQNT”: “200000000000”,
“numberOfAccounts”: 1,
“accountRS”: “BURST-SPPT-TD44-HUVK-FSZS4”,
“decimals”: 2,
“numberOfTransfers”: 0,
“name”: “SpotPoint”,
“description”: “The official SpotPoint Token, see more details at https://spotpoint.me”,
“numberOfTrades”: 0,
“asset”: “9306257191450064346”,
“account”: “15088176726379615929”
}
],
“requestProcessingTime”: 0
}
Get Assets By Issuer
Get asset information given multiple creation account IDs in reverse block height of creation order.
Request:
requestType
is getAssetsByIssuer
account
is one of the multiple account IDs
account
is one of the multiple account IDs
firstIndex
is a zero-based index to the first asset to retrieve (optional)
lastIndex
is zero-based index to the last asset to retrieve (optional)
Response:
(A) assets
is the array of asset objects (refer to Get Asset)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“assets”: [
[
{
“quantityQNT”: “100000000”,
“numberOfAccounts”: 19,
“accountRS”: “BURST-KQL8-645F-3WU8-3GMHB”,
“decimals”: 2,
“numberOfTransfers”: 0,
“name”: “BoB1Pos”,
“description”: “Brotherhood of Blockchain bob-invest.com proudly present the first investment opportunity on Burst asset. This asset will invest in Prove of Stake coins and pay out dividend in Burst. The payout ratio is 70% to asset holder 20% equipment, internet, electricity, maintenance and admin. 10% reinvest in coins.This asset will make a monthly payment every 15th of the month, first payment is 15/6/2018.”,
“numberOfTrades”: 35,
“asset”: “15511449532155436028”,
“account”: “1494753212313950790”
}
],
[
{
“quantityQNT”: “80000000000000”,
“numberOfAccounts”: 6,
“accountRS”: “BURST-8CPS-Q628-PU9W-7H9R7”,
“decimals”: 6,
“numberOfTransfers”: 3,
“name”: “GMK”,
“description”: “GMK Coin”,
“numberOfTrades”: 2,
“asset”: “8141917335139373659”,
“account”: “5970910749481183928”
}
]
],
“requestProcessingTime”: 3
}
Get Order
Get a bid/ask order given an order ID.
Request:
requestType
is either getBidOrder or getAskOrder
order
is the Order ID
Response:
(S) quantityQNT
is the order quantity (in QNT)
(S) priceNQT
is the order price (in NQT)
(S) accountRS
is the Reed-Solomon address of the account
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) asset
is the ID of the asset being ordered
(S) type
is the type of order (bid or ask)
(S) account
is the account number associated with the order
(S) order
is the ID of the order
(N) height
is the block height of the order transaction
Example:
https://wallet1.burst-team.us:2083/burst?requestType=getAskOrder&order=14034527401109329159
Response:
{
“quantityQNT”: “10”,
“priceNQT”: “10000000000000”,
“accountRS”: “BURST-359Q-QH73-4N5P-FP54C”,
“requestProcessingTime”: 1,
“asset”: “15295227971848272658”,
“type”: “ask”,
“account”: “15350648744942013686”,
“order”: “14034527401109329159”,
“height”: 17901
}
Get Order Ids
Get bid/ask order IDs given an asset ID, in order of decreasing bid price or increasing ask price.
Request:
requestType
is either getBidOrderIds or getAskOrderIds
asset
is the asset ID
firstIndex
is a zero-based index to the first order ID to retrieve (optional)
lastIndex
is a zero-based index to the last order ID to retrieve (optional)
Response:
(A) bidOrderIds or askOrderIds
is the array of order IDs
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“requestProcessingTime”: 3,
“askOrderIds”: [
“9230225288402446558”,
“9243318318548315528”,
“9399454941412352140”,
“9436352279829246389”,
“9443733332658954573”,
“9545675672764030312”
]
}
Get Orders
Get bid/ask orders given an asset ID, in order of decreasing bid price or increasing ask price (if sortByPrice is true for expected orders, otherwise in the expected order of execution).
Request:
requestType
is one of getBidOrders, getAskOrders, where expected orders are from the unconfirmed transactions pool or are phased transactions scheduled to finish in the next block
asset
is the asset ID
firstIndex
is a zero-based index to the first order to retrieve (optional, does not apply to expected orders)
lastIndex
is a zero-based index to the last order to retrieve (optional, does not apply to expected orders)
Response:
(A) bidOrders or askOrders
is the array of order objects (refer to Get Order for details) with the following additional field only for an expected order:
- phased (B) is true if the order is phased, false otherwise
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“askOrders”: [
{
“quantityQNT”: “250”,
“priceNQT”: “100000000”,
“accountRS”: “BURST-CDQV-WN87-YB2L-FTEPP”,
“asset”: “11700625361170592721”,
“type”: “ask”,
“account”: “15768678879341129435”,
“order”: “9230225288402446558”,
“height”: 501552
},
{
“quantityQNT”: “50000”,
“priceNQT”: “100000000”,
“accountRS”: “BURST-CDQV-WN87-YB2L-FTEPP”,
“asset”: “11700625361170592721”,
“type”: “ask”,
“account”: “15768678879341129435”,
“order”: “9243318318548315528”,
“height”: 501552
},
{
“quantityQNT”: “50”,
“priceNQT”: “100000000”,
“accountRS”: “BURST-CDQV-WN87-YB2L-FTEPP”,
“asset”: “11700625361170592721”,
“type”: “ask”,
“account”: “15768678879341129435”,
“order”: “9399454941412352140”,
“height”: 501552
}
],
“requestProcessingTime”: 1
}
Get Trades
Get trades associated with a given asset and/or account in reverse block height order.
Request:
requestType
is getTrades
asset
is the asset ID
account
is the account ID (optional if asset provided)
firstIndex
is a zero-based index to the first trade to retrieve (optional)
lastIndex
is a zero-based index to the last trade to retrieve (optional)
includeAssetInfo
is true if the decimals and name fields are to be included (optional)
Response:
(A) trades
is the array of trade objects with the following fields for each trade:
- (S)
seller
is the account number of the seller - (S)
quantityQNT
is the quantity (in QNT) of the asset traded - (S)
bidOrder
is the bid order ID - (S)
sellerRS
is the Reed-Solomon address of the seller - (S)
buyer
is the account number of the buyer - (S)
priceNQT
is the trade price (in NQT, the ask price for a buy or the bid price for a sell) - (S)
askOrder
is the ask order ID - (S)
buyerRS
is the Reed-Solomon address of the buyer - (N)
decimals
is the number of decimal places used by the asset - (S)
name
is the name of the asset (if includeAssetInfo is true) - (S)
block
is the block ID of the trade (if includeAssetInfo is true) - (S)
asset
is the asset ID - (N)
askOrderHeight
is the block height of the ask order - (N)
bidOrderHeight
is the block height of the bid order - (S)
tradeType
is the trade type (sell or buy, where buy implies that the bid occurred after the ask, or if in the same block, has a greater order ID) - (N)
timestamp
is the timestamp (in seconds since the genesis block) of the trade block - (N)
height
is the height of the trade block
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“trades”: [
{
“seller”: “2695253629713716937”,
“quantityQNT”: “7700”,
“bidOrder”: “17489219850997945774”,
“sellerRS”: “BURST-Q7QB-WPPC-6VE2-4QVTC”,
“buyer”: “14676337193484961173”,
“priceNQT”: “100000”,
“askOrder”: “7125231493760146086”,
“buyerRS”: “BURST-EKEP-XEYS-6YPW-EL8DR”,
“block”: “10810208340839229954”,
“asset”: “3702027329806229573”,
“askOrderHeight”: 504189,
“tradeType”: “sell”,
“timestamp”: 122140342,
“height”: 504949
},
{
“seller”: “13248005565246971693”,
“quantityQNT”: “100000”,
“bidOrder”: “6312065606850043247”,
“sellerRS”: “BURST-59TF-VVKH-X6SQ-DYLQH”,
“buyer”: “9582909050628712440”,
“priceNQT”: “120000”,
“askOrder”: “17472059594274895773”,
“buyerRS”: “BURST-MBZS-2BCT-45QV-APCZB”,
“block”: “12097007668561592790”,
“asset”: “3702027329806229573”,
“askOrderHeight”: 504899,
“tradeType”: “buy”,
“timestamp”: 122129038,
“height”: 504899
},
{
“seller”: “12065311156306389227”,
“quantityQNT”: “7700”,
“bidOrder”: “17489219850997945774”,
“sellerRS”: “BURST-8C9D-LBN5-X9FG-CS6WG”,
“buyer”: “14676337193484961173”,
“priceNQT”: “100000”,
“askOrder”: “2519849914836375271”,
“buyerRS”: “BURST-EKEP-XEYS-6YPW-EL8DR”,
“block”: “16551915903483185103”,
“asset”: “3702027329806229573”,
“askOrderHeight”: 504189,
“tradeType”: “sell”,
“timestamp”: 122075678,
“height”: 504681
}
],
“requestProcessingTime”: 1
}
Issue Asset
Create an asset on the exchange. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is issueAsset
name
is the name of the asset
description
is the url-encoded description of the asset in UTF-8 with a maximum length of 1000 bytes (optional)
quantityQNT
is the total amount (in QNT) of the asset in existence
decimals
is the number of decimal places used by the asset (optional, zero default)
Response: Refer to Create Transaction Response. The transaction ID is also the asset ID.
Example: Refer to Issue Asset example.
Issue Asset
Note: Actual data is not used in this example.
Request:
Response:
{
“unsignedTransactionBytes”: “021095e5da013c0073080c6a224062660184f10ebb7fb431d459364a12403…”,
“transactionJSON”: {
“senderPublicKey”: “73080c6a224062660184f10ebb7fb431d459364a12403320c7f601f9d75cc547”,
“feeNQT”: “100000000000”,
“type”: 2,
“version”: 1,
“ecBlockId”: “1564408139943737911”,
“attachment”: {
“name”: “SecretCoin”,
“description”: “This+is+SecretCoin”,
“quantityQNT”: “100”,
“version.AssetIssuance”: 1,
“decimals”: 0
},
“senderRS”: “BURST-4VNQ-RWZC-4WWQ-GVM8S”,
“subtype”: 0,
“amountNQT”: “0”,
“sender”: “17013046603665206934”,
“ecBlockHeight”: 288402,
“deadline”: 60,
“timestamp”: 31122837,
“height”: 2147483647
},
“broadcasted”: false,
“requestProcessingTime”: 2
}
Place Order
Place an asset order. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is either placeBidOrder or placeAskOrder
asset
is the asset ID of the asset being ordered
quantityQNT
is the amount (in QNT) of the asset being ordered
priceNQT
is the bid/ask price (in NQT)
Response: Refer to Create Transaction Response. The transaction ID is also the order ID.
Example:
Request:
Response:
{
“signatureHash”: “3358f546ce7136ca478692102d0b526f80b4ca83eb78e90d15813b9636b654e5”,
“unsignedTransactionBytes”: “0213c6cc47070100a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f120000000000000000000000000000000000e1f505*”,
“transactionJSON”: {
“senderPublicKey”: “a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12”,
“signature”: “48d14f308d26380e4dfa26b296c8728eef04af8704acff60f4d8bef28a126701ea29878753d2106a16228cfc3829e8f3d6a2e5baf739dbd0460fd45cff1241e0”,
“feeNQT”: “100000000”,
“type”: 2,
“fullHash”: “229f52765195110e0e096b81b91f04186be14ada7e29949841ee30e37b655775”,
“version”: 1,
“ecBlockId”: “6656096466494440810”,
“signatureHash”: “3358f546ce7136ca478692102d0b526f80b4ca83eb78e90d15813b9636b654e5”,
“attachment”: {
“quantityQNT”: “1”,
“priceNQT”: “100000000”,
“asset”: “3702027329806229573”,
“version.BidOrderPlacement”: 1
},
“senderRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 3,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“ecBlockHeight”: 504963,
“deadline”: 1,
“transaction”: “1013755568245088034”,
“timestamp”: 122145990,
“height”: 2147483647
},
“broadcasted”: false,
“requestProcessingTime”: 3,
“transactionBytes”: “0213c6cc47070100a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f120000000000000000000000000000000000e1f505*”,
“fullHash”: “229f52765195110e0e096b81b91f04186be14ada7e29949841ee30e37b655775”,
“transaction”: “1013755568245088034”
}
Transfer Asset
Transfer a quantity of an asset from one account to another. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is transferAsset
recipient
is the recipient account ID
recipientPublicKey
is the public key of the recipient account (optional, enhances security of a new account)
asset
is the ID of the asset being transferred
quantityQNT
is the amount (in QNT) of the asset being transferred
Response: Refer to Create Transaction Response. The transaction ID is also the transfered asset ID.
Example:
Request:
Response:
{
“signatureHash”: “59456e26081926b27c38ca46d574e4a6373953b932e8368f131f7bc86ffc3aa9”,
“unsignedTransactionBytes”: “021143d147070100a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12ae2527ec7e55f1eb000000000000000000e1f505*”,
“transactionJSON”: {
“senderPublicKey”: “a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12”,
“signature”: “b5f33599a52e5e4e56ad5c316cd6f6ced8ebe9e9931222aaee30407570ede60031a068b6a89714fca851b486e8d8c2509ef46b3e0e1ef44c819cbff5b0bb78c4”,
“feeNQT”: “100000000”,
“type”: 2,
“fullHash”: “3b7d9f5b998ce795a3300ed1e6df1ba8fe467b137e2f2c662c9149a5b0f878d9”,
“version”: 1,
“ecBlockId”: “6974740076508916530”,
“signatureHash”: “59456e26081926b27c38ca46d574e4a6373953b932e8368f131f7bc86ffc3aa9”,
“attachment”: {
“version.AssetTransfer”: 1,
“quantityQNT”: “1”,
“asset”: “3702027329806229573”
},
“senderRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 1,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“recipientRS”: “BURST-GBFG-HVQ4-8AMM-GPCWR”,
“recipient”: “17001464071916561838”,
“ecBlockHeight”: 504968,
“deadline”: 1,
“transaction”: “10801756821566487867”,
“timestamp”: 122147139,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 5,
“transactionBytes”: “021143d147070100a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12ae2527ec7e55f1eb000000000000000000e1f505*”,
“fullHash”: “3b7d9f5b998ce795a3300ed1e6df1ba8fe467b137e2f2c662c9149a5b0f878d9”,
“transaction”: “10801756821566487867”
}
Digital Goods Store Operations (Marketplace)
DGS Delisting
Delist a listed product. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is dgsDelisting
goods
is the goods ID
Response: Refer to Create Transaction Response.
Example:
Request:
Response:
{
“signatureHash”: “87dd2aa00690acaa5da4e8cd9db6ab94b5ed8bf0f8fe2c2ba6a39c57d3073105”,
“unsignedTransactionBytes”: “03111852e2013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“transactionJSON”: {
“senderPublicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“signature”: “39ee52204d0a32c0bbd0e4bc6a6fb52299cd7d16ab74e9a040f857d3b1c3e…”,
“feeNQT”: “100000000”,
“type”: 3,
“fullHash”: “40e64c357e240f9b7ca5780e757e34d48a58ae93eeb19e62d020d5719b43e2b6”,
“version”: 1,
“ecBlockId”: “5345754442518111082”,
“signatureHash”: “87dd2aa00690acaa5da4e8cd9db6ab94b5ed8bf0f8fe2c2ba6a39c57d3073105”,
“attachment”: {
“version.DigitalGoodsDelisting”: 1,
“goods”: “11813734897437346473”
},
“senderRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 1,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“ecBlockHeight”: 292903,
“deadline”: 60,
“transaction”: “11173189325008201280”,
“timestamp”: 31609368,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 5188,
“transactionBytes”: “03111852e2013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“fullHash”: “40e64c357e240f9b7ca5780e757e34d48a58ae93eeb19e62d020d5719b43e2b6”,
“transaction”: “11173189325008201280”
}
DGS Delivery
Deliver a product. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is dgsDelivery
purchase
is the purchase order ID
discountNQT
is the discount (in NQT) off the selling price (optional, default is zero)
goodsToEncrypt
is the product, a text or a hex string to be encrypted (optional if goodsData provided)
goodIsText
is false if goodsToEncrypt is a hex string (optional)
goodsData
is AES-encrypted (using Encrypt To) goodsToEncrypt, up to 1000 bytes long (required only if secretPhrase is omitted)
goodsNonce
is the unique nonce associated with the encrypted data (required only if secretPhrase is omitted)
Note: If the encrypted goods data is longer than 1000 bytes, use a prunable encrypted message to deliver the goods.
Response: Refer to Create Transaction Response.
Example:
DGS Delivery
Request:
Response:
{
“signatureHash”: “f3f1f1bf30c7a6f5a7776aa23502dfe5240efe0d5c016760f8e8a152c4eb1b1b”,
“unsignedTransactionBytes”: “0315b20fe1013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“transactionJSON”: {
“senderPublicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“signature”: “b96c42161ce38177168de5a8906ce747a5415017df5b16cdce1c015cb6e1f10b…”,
“feeNQT”: “100000000”,
“type”: 3,
“fullHash”: “349926ea025b627117c05fbe3ff298e97a8efdb07f7ae552b5a91e7112c5b82b”,
“version”: 1,
“ecBlockId”: “15813950788992376142”,
“signatureHash”: “f3f1f1bf30c7a6f5a7776aa23502dfe5240efe0d5c016760f8e8a152c4eb1b1b”,
“attachment”: {
“goodsIsText”: true,
“discountNQT”: “0”,
“purchase”: “3723760852542296589”,
“goodsData”: “aef91bfe543844964b0dadc51c6fe4c624b6b0c72c23c5c61f7e626f51e15…”,
“version.DigitalGoodsDelivery”: 1,
“goodsNonce”: “4cb474ec53a590c6fd20d050c429d009ddefd286b2782eb3a0782ae45c2bbbbd”
},
“senderRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 5,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“recipientRS”: “BURST-6GMG-FC5F-YSX6-8CVEL”,
“recipient”: “7580519603555678830”,
“ecBlockHeight”: 292069,
“deadline”: 60,
“transaction”: “8170192742079961396”,
“timestamp”: 31526834,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 8832,
“transactionBytes”: “0315b20fe1013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“fullHash”: “349926ea025b627117c05fbe3ff298e97a8efdb07f7ae552b5a91e7112c5b82b”,
“transaction”: “8170192742079961396”
}
DGS Feedback
Give feedback about a purchased product after delivery. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is dgsFeedback
purchase
is the purchase order ID
message
is the unencrypted (public) feedback text up to 1000 bytes
Note: The unencrypted message parameter is used for public feedback, but in addition or instead, an encrypted message can be used for private feedback to the seller and/or an encrypted message can be sent to self (buyer) although the current BRS client does not recognize non-public feedback messages.
Response: Refer to Create Transaction Response.
Example:
Request:
Response:
{
“signatureHash”: “bf31e4e3b2037bfe223efd72519e3a2d25cd1e0dc1a62e3eeefe59179e16a7a4”,
“unsignedTransactionBytes”: “0316a463e2013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“transactionJSON”: {
“senderPublicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“signature”: “a3ee76ce4bec0328fe5cfc1a2adfc229a8c9959a81b7912664de51156987c…”,
“feeNQT”: “100000000”,
“type”: 3,
“fullHash”: “491d94b9031b7a7a32d9ab5d0491b81364941eb080ee9029de58cb6ffa0161f6”,
“version”: 1,
“ecBlockId”: “5484311742753527844”,
“signatureHash”: “bf31e4e3b2037bfe223efd72519e3a2d25cd1e0dc1a62e3eeefe59179e16a7a4”,
“attachment”: {
“purchase”: “10234639413366748292”,
“version.Message”: 1,
“messageIsText”: true,
“version.DigitalGoodsFeedback”: 1,
“message”: “Thank you!”
},
“senderRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 6,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“recipientRS”: “BURST-6GMG-FC5F-YSX6-8CVEL”,
“recipient”: “7580519603555678830”,
“ecBlockHeight”: 292938,
“deadline”: 60,
“transaction”: “8825396122598251849”,
“timestamp”: 31613860,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 9343,
“transactionBytes”: “0316a463e2013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“fullHash”: “491d94b9031b7a7a32d9ab5d0491b81364941eb080ee9029de58cb6ffa0161f6”,
“transaction”: “8825396122598251849”
}
DGS Listing
List a product in the DGS by creating a listing transaction. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is dgsListing
name
is the name of the product up to 100 characters in length
description
is the description of the product up to 1000 characters in length
tags
is up to three comma separated keywords describing the product up to 100 characters in length (optional)
quantity
is the quantity of the product for sale
priceNQT
is the price (in NQT) of the product
Response: Refer to Create Transaction Response. The transaction ID is also the goods ID.
Example:
Request:
Response:
{
“signatureHash”: “565bc0a6140ae1331cd5db009fbd9da164d8802330939ef40204a9bc343b3149”,
“unsignedTransactionBytes”: “031092aedf013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“transactionJSON”: {
“senderPublicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“signature”: “465ed3dfef9a02fc97fc18a6f83bb9f07c285aef41ff78c957d59cda2972ba…”,
“feeNQT”: “100000000”,
“type”: 3,
“fullHash”: “a98a63204cd1f2a3304cee79776854f290f0472883c576056fec16a23efa90df”,
“version”: 1,
“ecBlockId”: “4480409615309425420”,
“signatureHash”: “565bc0a6140ae1331cd5db009fbd9da164d8802330939ef40204a9bc343b3149”,
“attachment”: {
“priceNQT”: “100000000”,
“quantity”: 3,
“name”: “Test Product”,
“description”: “Testing the DGS.”,
“version.DigitalGoodsListing”: 1,
“tags”: “test, product, tag, extra”
},
“senderRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 0,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“ecBlockHeight”: 291240,
“deadline”: 60,
“transaction”: “11813734897437346473”,
“timestamp”: 31436434,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 8958,
“transactionBytes”: “031092aedf013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473b…”,
“fullHash”: “a98a63204cd1f2a3304cee79776854f290f0472883c576056fec16a23efa90df”,
“transaction”: “11813734897437346473”
}
DGS Price Change
Change the price of a listed product. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is dgsPriceChange
goods
is the goods ID of the product
priceNQT
is the new price of the product
Response: Refer to Create Transaction Response.
Example:
Request:
Response:
{
“signatureHash”: “aad88476935eda8ca3a9190163b83106e6ca95733ddfa274d29a0378d773cc3c”,
“unsignedTransactionBytes”: “0312cebbdf013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“transactionJSON”: {
“senderPublicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“signature”: “533f9c330100cab8a7a0f9375b49a09f6432b0e029660ab715a728ac75e6c2…”,
“feeNQT”: “100000000”,
“type”: 3,
“fullHash”: “1964e4fe11f4a00a96c79e274f9da21f64d7fe10ed77a154975b92d3c65f1287”,
“version”: 1,
“ecBlockId”: “14411471768450948944”,
“signatureHash”: “aad88476935eda8ca3a9190163b83106e6ca95733ddfa274d29a0378d773cc3c”,
“attachment”: {
“goods”: “11813734897437346473”,
“priceNQT”: “200000000”,
“version.DigitalGoodsPriceChange”: 1
},
“senderRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 2,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“ecBlockHeight”: 291259,
“deadline”: 60,
“transaction”: “765880294780986393”,
“timestamp”: 31439822,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 6444,
“transactionBytes”: “0312cebbdf013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“fullHash”: “1964e4fe11f4a00a96c79e274f9da21f64d7fe10ed77a154975b92d3c65f1287”,
“transaction”: “765880294780986393”
}
DGS Purchase
Purchase a product for sale. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is dgsPurchase
goods
is the goods ID of the product
priceNQT
is the price of the product
quantity
is the quantity to be purchased
deliveryDeadlineTimestamp
is the timestamp (in seconds since the genesis block) by which delivery of the product must occur
Response: Refer to Create Transaction Response. The transaction ID is also the purchase order ID.
Example:
Request:
Response:
{
“signatureHash”: “03e112d8707ae33ec37ff4405f31920c0e67c58439e33033c248b3eaca81d2c3”,
“unsignedTransactionBytes”: “0314805be2013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“transactionJSON”: {
“senderPublicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“signature”: “a2739ef63024d9d3c61bebbb2692e7a2092666e13fc380c2e8b29c3a3fc24…”,
“feeNQT”: “100000000”,
“type”: 3,
“fullHash”: “84f4ef2d52be088e011e5b7857fbab88665918e0df02102a8333aee53c3bb88b”,
“version”: 1,
“ecBlockId”: “3186563001195424357”,
“signatureHash”: “03e112d8707ae33ec37ff4405f31920c0e67c58439e33033c248b3eaca81d2c3”,
“attachment”: {
“goods”: “1587116104511359906”,
“priceNQT”: “100000000”,
“quantity”: 1,
“deliveryDeadlineTimestamp”: 31800000,
“version.DigitalGoodsPurchase”: 1
},
“senderRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 4,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“recipientRS”: “BURST-6GMG-FC5F-YSX6-8CVEL”,
“recipient”: “7580519603555678830”,
“ecBlockHeight”: 292925,
“deadline”: 60,
“transaction”: “10234639413366748292”,
“timestamp”: 31611776,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 5536,
“transactionBytes”: “0314805be2013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“fullHash”: “84f4ef2d52be088e011e5b7857fbab88665918e0df02102a8333aee53c3bb88b”,
“transaction”: “10234639413366748292”
}
DGS Quantity Change
Change the quantity of a listed product. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is dgsQuantityChange
goods
is the goods ID of the product
deltaQuantity
is the change in the quantity of the product for sale (use negative numbers for a decrease in quantity)
Response: Refer to Create Transaction Response.
Example:
Request:
Response:
{
“signatureHash”: “5c60fc94452980f88423c3a16a74d49209d246d0f7454024c87cc76ea3221500”,
“unsignedTransactionBytes”: “031334b7df013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“transactionJSON”: {
“senderPublicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“signature”: “7eaf8e48a780f51aa7e01c01091c9388b72a1bf075dddbd3594d55ad169272…”,
“feeNQT”: “100000000”,
“type”: 3,
“fullHash”: “f3cd9046bba3706dd6f63cf387f23c7c29532ff15e3423f57900613c844a646f”,
“version”: 1,
“ecBlockId”: “14589429051005044326”,
“signatureHash”: “5c60fc94452980f88423c3a16a74d49209d246d0f7454024c87cc76ea3221500”,
“attachment”: {
“goods”: “11813734897437346473”,
“version.DigitalGoodsQuantityChange”: 1,
“deltaQuantity”: -1
},
“senderRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 3,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“ecBlockHeight”: 291249,
“deadline”: 60,
“transaction”: “7885982972263845363”,
“timestamp”: 31438644,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 7474,
“transactionBytes”: “031334b7df013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“fullHash”: “f3cd9046bba3706dd6f63cf387f23c7c29532ff15e3423f57900613c844a646f”,
“transaction”: “7885982972263845363”
}
DGS Refund
Request:
requestType
is dgsRefund
purchase
is the purchase order ID
refundNQT
is the amount (in NQT) of the refund
Response: Refer to Create Transaction Response.
Example:
DGS Refund
Request:
Response:
{
“signatureHash”: “dafa980759db6bd6e5f11aa7bdc1cff1bb201be750328c397870f1758cef975c”,
“unsignedTransactionBytes”: “0317944ee2013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“transactionJSON”: {
“senderPublicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“signature”: “43a90c1f0dde1bca84623e69b0abe0284883600d7bfb5286b3489a9ee417…”,
“feeNQT”: “100000000”,
“type”: 3,
“fullHash”: “64c2af2811da3306f4671002ed1f12655fca1937a0b68164da2a71f3ee63adce”,
“version”: 1,
“ecBlockId”: “11418000967717599433”,
“signatureHash”: “dafa980759db6bd6e5f11aa7bdc1cff1bb201be750328c397870f1758cef975c”,
“attachment”: {
“purchase”: “3723760852542296589”,
“version.DigitalGoodsRefund”: 1,
“refundNQT”: “100000000”
},
“senderRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 7,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“recipientRS”: “BURST-6GMG-FC5F-YSX6-8CVEL”,
“recipient”: “7580519603555678830”,
“ecBlockHeight”: 292899,
“deadline”: 60,
“transaction”: “446940555271717476”,
“timestamp”: 31608468,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 10509,
“transactionBytes”: “0317944ee2013c0057fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b…”,
“fullHash”: “64c2af2811da3306f4671002ed1f12655fca1937a0b68164da2a71f3ee63adce”,
“transaction”: “446940555271717476”
}
Get DGS Good
Get a DGS product given a goods ID.
Request:
requestType
is dgsDGSGood
goods
is the goods ID of the product
Response:
(S) seller
is the seller’s account ID
(S) priceNQT
is the current price of the product
(N) quantity
is the quantity of the product remaining for sale
(S) name
is the name of the product
(S) goods
is the ID of the product
(S) description
is the description of the product
(S) sellerRS
is the Reed-Solomon address of the seller’s account
(N) requestProcessingTime
is the API request processing time (in millisec)
(B) delisted
is true if the product has been delisted, false otherwise
(S) tags
is the comma separated list of tags provided by the seller when the listing was created
(N) timestamp
is the timestamp (in seconds since the genesis block) of the creation of the product listing
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getDGSGood&goods=490136863013671329
Response:
{
“seller”: “16432157717192673510”,
“priceNQT”: “750000000000”,
“quantity”: 1000,
“name”: “100 TB Plot File”,
“goods”: “490136863013671329”,
“description”: “48-100h delivery Time\\r\\nSpecify how big you want your file\\r\\nMin size 1 TB\\r\\nMax size 10 TB\\r\\nDelivery is a Torrent Download”,
“sellerRS”: “BURST-F498-E9P9-ACDE-G2Q4A”,
“requestProcessingTime”: 1,
“delisted”: false,
“tags”: “plotter”,
“timestamp”: 121088459
}
Get DGS Pending Purchases
Get pending purchase orders given a seller ID in reverse chronological order.
Request:
requestType
is getDGSPendingPurchases
seller
is the account ID of the seller
firstIndex
is the zero-based index to the first purchase order to retrieve (optional)
lastIndex
is the zero-based index to the last purchase order to retrieve (optional)
Response:
(A) purchases
is the array of pending purchase orders (refer to Get DGS Purchase for details)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“purchases”: [
{
“seller”: “869755421284789028”,
“priceNQT”: “100000000”,
“quantity”: 1,
“deliveryDeadlineTimestamp”: 142820935,
“buyerRS”: “BURST-8J3W-BBNN-BJMG-HCPG3”,
“pending”: true,
“purchase”: “18028864805999806823”,
“name”: “Donate - Help CompSci Students”,
“goods”: “8877051912510361584”,
“sellerRS”: “BURST-EUT6-YC9L-N63Y-2XH6S”,
“buyer”: “17346364151341203516”,
“timestamp”: 120220136
},
{
“seller”: “869755421284789028”,
“note”: {
“data”: “530c56998edacb24b664d9be3d9db3be52cb89bc10efdfbb1c97a5bb415bff2a1737ecf758202b57171145296bb3db2e”,
“nonce”: “6b59813a09abe6809d87a34a0d7eb4ad7b97f43a28ae8d26f4811f8fff864712”
},
“quantity”: 1,
“pending”: true,
“purchase”: “9754082484071034298”,
“goods”: “8877051912510361584”,
“sellerRS”: “BURST-EUT6-YC9L-N63Y-2XH6S”,
“buyer”: “11786437085044315193”,
“priceNQT”: “100000000”,
“deliveryDeadlineTimestamp”: 139660265,
“buyerRS”: “BURST-X73T-4MLS-LV98-CQG69”,
“name”: “Donate - Help CompSci Students”,
“timestamp”: 117059465
}
],
“requestProcessingTime”: 2
}
Get DGS Purchase
Get a purchase order given a purchase order ID.
Request:
requestType
is getDGSPurchase
purchase
is the purchase order ID
Response:
(S) seller
is the account number of the seller
(N) quantity
is the quantity of the product to be purchased
(B) pending
is true if the deliveryDeadline has not passed, false otherwise
(S) purchase
is the purchase order ID
(S) goods
is the ID of the product
(S) sellerRS
is the Reed-Solomon address of the seller
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) buyerRS
is the account number of the buyer
(S) priceNQT
is the the price (in NQT) of the product
(N) deliveryDeadlineTimestamp
is the timestamp (in seconds since the genesis block) by which the product must be delivered
(S) buyerRS
is the Reed-Solomon address of the buyer
(S) name
is the name of the product
(N) timestamp
is the timestamp (in seconds since the genesis block) of the purchase order
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getDGSPurchase&purchase=18028864805999806823
Response:
{
“seller”: “869755421284789028”,
“quantity”: 1,
“pending”: true,
“purchase”: “18028864805999806823”,
“goods”: “8877051912510361584”,
“sellerRS”: “BURST-EUT6-YC9L-N63Y-2XH6S”,
“requestProcessingTime”: 1,
“buyer”: “17346364151341203516”,
“priceNQT”: “100000000”,
“deliveryDeadlineTimestamp”: 142820935,
“buyerRS”: “BURST-8J3W-BBNN-BJMG-HCPG3”,
“name”: “Donate - Help CompSci Students”,
“timestamp”: 120220136
}
Get DGS Purchases
Get purchase orders given a seller and/or buyer ID in reverse chronological order.
Request:
requestType
is getDGSPurchases
seller
is the account ID of the seller (optional)
buyer
is the account ID of the buyer (optional if seller provided)
firstIndex
is the zero-based index to the purchase order to retrieve (optional)
lastIndex
is the zero-based index to the purchase order to retrieve (optional)
completed
is true if only completed purchase orders are to be included (optional)
Response:
(A) purchases
is the array of purchase orders (refer to Get DGS Purchase for details)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getDGSPurchases&seller=869755421284789028
Response:
{
“purchases”: [
{
“seller”: “869755421284789028”,
“priceNQT”: “100000000”,
“quantity”: 1,
“deliveryDeadlineTimestamp”: 142820935,
“buyerRS”: “BURST-8J3W-BBNN-BJMG-HCPG3”,
“pending”: true,
“purchase”: “18028864805999806823”,
“name”: “Donate - Help CompSci Students”,
“goods”: “8877051912510361584”,
“sellerRS”: “BURST-EUT6-YC9L-N63Y-2XH6S”,
“buyer”: “17346364151341203516”,
“timestamp”: 120220136
},
{
“seller”: “869755421284789028”,
“note”: {
“data”: “530c56998edacb24b664d9be3d9db3be52cb89bc10efdfbb1c97a5bb415bff2a1737ecf758202b57171145296bb3db2e”,
“nonce”: “6b59813a09abe6809d87a34a0d7eb4ad7b97f43a28ae8d26f4811f8fff864712”
},
“quantity”: 1,
“pending”: true,
“purchase”: “9754082484071034298”,
“goods”: “8877051912510361584”,
“sellerRS”: “BURST-EUT6-YC9L-N63Y-2XH6S”,
“buyer”: “11786437085044315193”,
“priceNQT”: “100000000”,
“deliveryDeadlineTimestamp”: 139660265,
“buyerRS”: “BURST-X73T-4MLS-LV98-CQG69”,
“name”: “Donate - Help CompSci Students”,
“timestamp”: 117059465
}
],
“requestProcessingTime”: 2
}
Arbitrary Message System Operations
Decrypt From
Decrypt an AES-encrypted message.
Request:
requestType
is decryptFrom
account
is the account ID of the sender
data
is the AES-encrypted data
nonce
is the unique nonce associated with the encrypted data
decryptedMessageIsText
is false if the decrypted message is a hex string, true if the decrypted message is text
secretPhrase
is the secret passphrase of the recipient
Response:
(S) decryptedMessage
is the decrypted message
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“decryptedMessage”: “This is a message encrypted using \\”encryptTo\\”.”,
“requestProcessingTime”: 2
}
Encrypt To
Encrypt a message using AES without sending it.
Request:
requestType
is encryptTo
recipient
is the account ID of the recipient.
messageToEncrypt
is either UTF-8 text or a string of hex digits to be compressed and converted into a 1000 byte maximum bytecode then encrypted using AES
messageToEncryptIsText
is false if the message to encrypt is a hex string, true if the encrypted message is text
secretPhrase
is the secret passphrase of the recipient
Response:
(S) data
is the AES-encrypted data
(S) nonce
is the 32-byte pseudorandom nonce
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“data”: “d5a1958d12ce96ce30dbce5b6c8ead7ecbc0f59d857dc8e8fbeec10ae440e0e74e9120fef3b0fa586d4c63fde0f289340e709b30ae528e3c2d740b11e3ae3fdb5e5d5c63f724cf16157c75dabec31eaf”,
“requestProcessingTime”: 34,
“nonce”: “7cefa6f66d5b71604e2ef56a18319b3f48a38e8aa5cf610369b294f1d40e0f8e”
}
Read Message
Get a message given a transaction ID.
Request:
requestType
is readMessage
transaction
is the transaction ID of the message
secretPhrase
is the secret passphrase of the account that received the message (optional)
Response:
(S) message
is the plain message, if applicable
(S) decryptedMessage
is the decrypted message, if applicable and only if the provided secretPhrase belongs to either the sender or receiver of the transaction
(S) decryptedMessageToSelf
is the decrypted message sent to self, if applicable and only if the provided secretPhrase belongs to the sender of transaction
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=readMessage&transaction=3120851314369640207
Response:
{
“requestProcessingTime”: 0,
“message”: “This is a sendMessage API example”
}
Send Message
Create an Arbitrary Message transaction. POST only. Refer to Create Transaction Request for common parameters.
Request:
requestType
is sendMessage
message
is either UTF-8 text or a string of hex digits (perhaps previously encoded using an arbitrary algorithm) to be converted into a bytecode with a maximum length of one kilobyte (optional)
Note: Any combination (including none or all) of the three options plain message, messageToEncrypt, and messageToEncryptToSelf will be included in the transaction. However, one and only one prunable message may be included in a single transaction if there is not already a message of the same type (either plain or encrypted).
Note: The encryptedMessageData-encryptedMessageNonce pair or the encryptToSelfMessageData-encryptToSelfMessageNonce pair can be the output of Encrypt To
Response: Refer to Create Transaction Response.
Example:
Request:
Response:
{
“signatureHash”: “2bcbafeab7a0bae40337fe34adea84110b1f770a33841c95f3fe9e19dde41bae”,
“unsignedTransactionBytes”: “01104ec93f071800a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12b31119f931eaa6d4000000000000000018370b*”,
“transactionJSON”: {
“senderPublicKey”: “a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12”,
“signature”: “dc2503584a48e30ac62d62848f58461e0e9ff55070008743c24f380c24a9ef05525c70b5d40962566f3f4de2018277ba7956eb09d0aec84219784de7f3b76f6a”,
“feeNQT”: “735000”,
“type”: 1,
“fullHash”: “0f37d045bc7d4f2bd85cb565a5c4e575464ac387b986f80fb8c31635cf03923e”,
“version”: 1,
“ecBlockId”: “1212249281481197658”,
“signatureHash”: “2bcbafeab7a0bae40337fe34adea84110b1f770a33841c95f3fe9e19dde41bae”,
“attachment”: {
“version.Message”: 1,
“messageIsText”: true,
“message”: “This is a sendMessage API example”
},
“senderRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 0,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“recipientRS”: “BURST-L6FM-89WK-VK8P-FCRBB”,
“recipient”: “15323192282528158131”,
“ecBlockHeight”: 502787,
“deadline”: 24,
“transaction”: “3120851314369640207”,
“timestamp”: 121620814,
“height”: 2147483647
},
“broadcasted”: true,
“requestProcessingTime”: 11,
“transactionBytes”: “01104ec93f071800a61325eec9e83d7cac55544b8eca8ea8034559bafb5834b8a5d3b6d4efb85f12b31119f931eaa6d4000000000000000018370b*”,
“fullHash”: “0f37d045bc7d4f2bd85cb565a5c4e575464ac387b986f80fb8c31635cf03923e”,
“transaction”: “3120851314369640207”
}
Block Operations
Get Block
Get a block object given a block ID or block height.
Request:
requestType
is getBlock
block
is the block ID (optional)
height
is the block height (optional if block provided)
timestamp
is the timestamp (in seconds since the genesis block) of the block (optional if height provided)
includeTransactions
is true to include transaction details (optional)
Note: block overrides height which overrides timestamp.
Response:
(S) previousBlockHash
is the 32-byte hash of the previous block
(N) payloadLength
is the length (in bytes) of all transactions included in the block
(S) totalAmountNQT
is the total amount (in NQT) of the transactions in the block
(S) generationSignature
is the 32-byte generation signature of the generating account
(S) generator
is the the generating account number
(S) generatorPublicKey
is the 32-byte public key of the generating account
(S) baseTarget
is the base target for the next block generation
(S) payloadHash
is the 32-byte hash of the payload (all transactions)
(S) generatorRS
is the Reed-Solomon address of the generating account
(S) blocReward
is the total block reward
(S) nextBlock
is the next block ID
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) scoopNum
is the scoop number
(N) numberOfTransactions
is the number of transactions in the block
(S) blockSignature
is the 64-byte block signature
(A) transactions
is the array of transaction IDs or transaction objects (if includeTransactions provided, refer to Get Transaction for details)
(N) nonces
is the actual nonce number
(S) version
is the block version
(S) totalFeeNQT
is the total fee (in NQT) of the transactions in the block
(S) previousBlock
is the previous block ID
(S) block
is the block ID
(N) height
is the zero-based block height
(N) timestamp
is the timestamp (in seconds since the genesis block) of the block
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getBlock&block=2298247278137763160
Response:
{
“previousBlockHash”: “98338ec9e496040f505dace85c3ab331e6ad257f24d6e9417877a4a22b449ab3”,
“payloadLength”: 214,
“totalAmountNQT”: “0”,
“generationSignature”: “be12abb71bfe2dcde77cbd5872e64855929d934d04a491cb08950b9e509f37eb”,
“generator”: “16286104011619463406”,
“generatorPublicKey”: “ba5464139a83fcdb600ba141b567430ec5ebd0e409d246cdd33c3597855e0a4e”,
“baseTarget”: “116169”,
“payloadHash”: “20585e4ab9b6ac07f8903a509b1494dab99b931bedf3e3ad11c5a556a82b7c3e”,
“generatorRS”: “BURST-AW9G-BYKU-AZWL-GXY26”,
“blockReward”: “944”,
“nextBlock”: “10431007917907627236”,
“requestProcessingTime”: 0,
“scoopNum”: 3035,
“numberOfTransactions”: 1,
“blockSignature”: “5c40fb39d21ec55a77718e9de25b40f008b5a940434208b191bf010322c453047a3fe6418b0ffa62c131a31d59142ec9b336815210c96a8a37709768a6d8e6c3”,
“transactions”: [
“3120851314369640207”
],
“nonce”: “77469254”,
“version”: 3,
“totalFeeNQT”: “735000”,
“previousBlock”: “1082155719854011288”,
“block”: “2298247278137763160”,
“height”: 502797,
“timestamp”: 121620850
}
Get Block Id
Get a block ID given a block height.
Request:
requestType
is getBlockId
height
is the block height
Response:
(S) block
is the block ID
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getBlockId&height=502000
Response:
{
“block”: “9782158559918006093”,
“requestProcessingTime”: 1
}
Get Blocks
Get blocks from the blockchain in reverse block height order.
Request:
requestType
is getBlocks
firstIndex
is the first block to retrieve (optional, default is zero or the last block on the blockchain)
lastIndex
is the last block to retrieve (optional, default is firstIndex + 99)
includeTransactions
is true to include transaction details (optional)
Response:
(A) blocks
is the array of blocks retrieved (refer to Get Block for details)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getBlocks&lastIndex=1
Response:
{
“blocks”: [
{
“previousBlockHash”: “e4cc2b7c6f62c290d1405ef236b846d316df4cc187c9554b18dcb54861f4ade2”,
“payloadLength”: 1234,
“totalAmountNQT”: “132933935798”,
“generationSignature”: “53f43986acef5899f08e388bde1bc6b935499c91badace2247076aa984fea577”,
“generator”: “12019899115821911181”,
“generatorPublicKey”: “f6b3ee829223351281340617eae3bdc3082ae9db6899395befddabc4aae37161”,
“baseTarget”: “115429”,
“payloadHash”: “2e71185d5f9c8cce3f2cc87dec5df9643dc0b6562f78f49b553610bc4d9af5a3”,
“generatorRS”: “BURST-KM6F-KZ7B-46SF-C4UMF”,
“blockReward”: “944”,
“scoopNum”: 1265,
“numberOfTransactions”: 7,
“blockSignature”: “c5f9495278e685e90d4d42108c0a25b0a62f0006bdbb70f8df90d17d49a4670c09d13d63947fe69904340748348001277308de67891ee3bec177524629bc7383”,
“transactions”: [
“14343547955476128075”,
“14751316321929102651”,
“18403710335612237831”,
“2492947289038528624”,
“3664660987329932102”,
“5094936331677798562”,
“5165719427461695861”
],
“nonce”: “518857973”,
“version”: 3,
“totalFeeNQT”: “510735000”,
“previousBlock”: “10431007917907627236”,
“block”: “3526547904120473437”,
“height”: 502799,
“timestamp”: 121621514
},
{
“previousBlockHash”: “58e5680bb903e51f3dfe2221d5f291e5e7750f360fe78f7f5fee3c568867c7f2”,
“payloadLength”: 938,
“totalAmountNQT”: “139674768871”,
“generationSignature”: “142e073b4a84e95284b8eae679f1cc87d82f418897ffe0858d9bd1adda33d220”,
“generator”: “12414125682074447698”,
“generatorPublicKey”: “4f04a259ddc9c60e49bf3ef0ca5cb53c00ae97dedc1fcb59af2e48a9894ea745”,
“baseTarget”: “116986”,
“payloadHash”: “3d5153f350a07fb6d0b9a4cd07f2d4ef38b0bf312df2091eda05edf2ca4f1283”,
“generatorRS”: “BURST-MVUL-K5UK-RRTY-CPYKS”,
“blockReward”: “944”,
“nextBlock”: “3526547904120473437”,
“scoopNum”: 3885,
“numberOfTransactions”: 5,
“blockSignature”: “300fd5eace546b846213894c0afa9e68755fa300472a1101ca36d524d3433108445f7154d6b9151c3202272e516b7b9c180751ee65de949cdc7a459409a8b613”,
“transactions”: [
“13447447233023586787”,
“14140393734437081046”,
“3451268376629033899”,
“4144139998017169860”,
“5800257696655274819”
],
“nonce”: “77540123”,
“version”: 3,
“totalFeeNQT”: “400735000”,
“previousBlock”: “2298247278137763160”,
“block”: “10431007917907627236”,
“height”: 502798,
“timestamp”: 121620994
}
],
“requestProcessingTime”: 1
}
Get DGS Goods
Get DGS products for sale in reverse chronological listing creation order unless a seller is given, then in product name order.
Request:
requestType
is getDGSGoods
seller
is the account ID of the product seller (optional)
firstIndex
is the zero-based index to the first product to retrieve (optional)
lastIndex
is the zero-based index to the last product to retrieve (optional)
inStockOnly
is false if out-of-stock products (zero quantity) are to be retrieved (optional)
Note: If none of the optional parameters are specified, all in-stock products in the blockchain are retrieved at once, which may take a long time.
Response:
(A) goods
is the array of goods (refer to Get DGS Good for details)
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getDGSGoods&seller=869755421284789028
Response:
{
“seller”: “16432157717192673510”,
“priceNQT”: “750000000000”,
“quantity”: 1000,
“name”: “100 TB Plot File”,
“goods”: “490136863013671329”,
“description”: “48-100h delivery Time\\r\\nSpecify how big you want your file\\r\\nMin size 1 TB\\r\\nMax size 10 TB\\r\\nDelivery is a Torrent Download”,
“sellerRS”: “BURST-F498-E9P9-ACDE-G2Q4A”,
“requestProcessingTime”: 1,
“delisted”: false,
“tags”: “plotter”,
“timestamp”: 121088459
}
Get EC Block
Get Economic Cluster block data.
Request:
requestType
is getECBlock
timestamp
is the timestamp (in seconds since the genesis block) of the EC block (optional, default (or zero) is the current timestamp)
Note: If timestamp is more than 15 seconds before the timestamp of the last block on the blockchain, errorCode 4 is returned.
Response:
(N) ecBlockHeight
is the EC block height
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) ecBlockId
is the EC block ID
(N) timestamp
is the timestamp (in seconds since the genesis block) of the EC block
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getECBlock
Response:
{
“ecBlockHeight”: 502788,
“requestProcessingTime”: 1,
“ecBlockId”: “15769175919943831738”,
“timestamp”: 121621703
}
Mining Operations
Get Mining Info
Request:
requestType
is getMiningInfo
Response:
(S) generationSignature
is based from the previous block generation signature and block generator. This value is then used by miners to forge a new block. Generation signature is 32bytes long.
(N) baseTarget
is calculated from the last 24 blocks. This value adjusts the difficulty for the miners. The lower the base target, the harder it is for a miner to find a low deadline.
(N) requestProcessingTime
is the API request processing time (in millisec)
(N) height
is the previous block’s number + 1
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=getMiningInfo
Response:
{
“generationSignature”: “2cfe207000274ed4194fc32699ab4265a3c8698d31aa169c24e87ef51b1dd985”,
“baseTarget”: “53922”,
“requestProcessingTime”: 0,
“height”: “562666”
}
Set Reward Recipient
Set Reward recipient is used to set the reward recipient of a given account.
Request:
requestType
is setRewardRecipient
recipient
is the account ID of the recipient.
Response:
Refer to Create Transaction Response.
Example: To do
Get Reward Recipient
Request:
requestType
is getRewardRecipient
account
is the account ID.
Response:
(S) rewardRecipient
is the id of the reward recipient.
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“rewardRecipient”: “16922903237994405232”,
“requestProcessingTime”: 1
}
Submit Nonce
Request:
requestType
is submitNonce
Response: To do
Example: To do
Get Accounts With Reward Recipient
Request:
requestType
is getAccountsWithRewardRecipient
account
is the account ID (either RS address or number)
Response:
(A) accounts
is the the account ID of pool members.
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“accounts”: [
“9999020599272053507”,
“14978592240935099976”,
“2218446457340567982”,
“2413156362128439728”,
“2726459462890839466”,
“4007570020057677303”,
“4440732188425076111”,
“7113578903125529023”,
“7563608324197478590”,
“8380834105937589772”,
“8413162550188879456”,
“9137291541131717436”,
“15759313138355018720”
],
“requestProcessingTime”: 3
}
Automated Transactions Operations
Create an Automated Transaction Program
Request:
requestType
is createATProgram
Response: To do
Example: To do
Get AT
Request:
requestType
is getAT
Response: To do
Example: To do
Get AT Details
Request:
requestType
is getATDetails
Response: To do
Example: To do
Get AT Ids
Request:
requestType
is getATIds
Response: To do
Example: To do
Get AT Long
Request:
requestType
is getATLong
Response: To do
Example: To do
Get Account ATs
Get all ATs of a specific account. Request:
requestType
is getAccountATs
account
is the account ID
Response:
(A) ats
is the array containing all details of ATs
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
Response:
{
“ats”: [
{
“atVersion”: 1,
“creator”: “10039158734712770142”,
“creatorRS”: “BURST-35LY-PRT7-A9MR-A3LNQ”,
“stopped”: true,
“machineCode”: “350003000000002501000000350004020000002102000000030000004f35010304*”,
“description”: “this is my first time using the crowdfunding thing. just want to see if it works.Crowdfund”,
“machineData”: “0000000000000000c04e000000000000000000000000000000aea68f02*”,
“frozen”: false,
“finished”: false,
“dead”: false,
“balanceNQT”: “0”,
“nextBlock”: 559302,
“minActivation”: “700000000”,
“running”: false,
“at”: “8736107560017092008”,
“name”: “justtryingthisout”,
“atRS”: “BURST-SRFA-KAX8-SQ29-959HL”,
“prevBalanceNQT”: “0”,
“creationBlock”: 559302
}
],
“requestProcessingTime”: 4
}
Utilities
Long Convert
Converts an ID to the signed long integer representation used internally.
Request:
requestType
is longConvert
id
is the numerical ID, in decimal form but equivalent to an 8-byte unsigned integer as produced by SHA-256 hashing
Response:
(S) stringID
is the numerical ID
(S) longID
is the signed long integer (8-bytes) representation of the ID used internally, returned as a string
(N) requestProcessingTime
is the API request processing time (in millisec)
Note: Java does not support unsigned integers, so any unsigned ID (such as a block ID) visible in the BRS client is represented internally as a signed integer.
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=longConvert&id=16922903237994405232
Response:
{
“stringId”: “16922903237994405232”,
“requestProcessingTime”: 0,
“longId”: “-1523840835715146384”
}
RS Convert
Get both the Reed-Solomon account address and the account number given an account ID.
Request:
requestType
is rsConvert
account
is the account ID (either RS address or number)
Response:
(S) accountRS
is the Reed-Solomon address of the account
(N) requestProcessingTime
is the API request processing time (in millisec)
(S) account
is the account number
Example:
Request:
https://wallet1.burst-team.us:2083/burst?requestType=rsConvert&account=16922903237994405232
Response:
{
“accountRS”: “BURST-FRDJ-UPLH-MY9A-GUKQP”,
“requestProcessingTime”: 0,
“account”: “16922903237994405232”
}
Suggest Fee
Get a cheap, standard, and priority fee.
Request:
requestType
is suggestFee
Response:
(N) standard
is the Standard fee
(N) requestProcessingTime
is the API request processing time (in millisec)
(N) cheap
is the Cheap fee. Your transaction may not be processed immediately
(N) priority
is the Priority fee. Your transaction has high probability to be processed by the network.