The Signum API
Signum API Documentation & Examples
*Examples follow each API request.
Description
The Signum API allows interaction with Signum 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 Signum node is represented as localhost and requests and responses are formatted for easy reading; line breaks and spaces are not 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 Signum API calls follow each API call section.
Many API calls can be viewed and tested on the MainNet at: https://europe1.signum.network/
For specific API calls, use the ‘GET’ URL https://europe1.signum.network/burst?=specificRequestType
Genesis Block
Many API requests make reference to the Genesis Block.
Request:
https://europe1.signum.network/burst?requestType=getBlock&block=3444294670862540038
Response:
{“block”:”3444294670862540038″,”height”:0,”generator”:”8628161281313630310″,”generatorRS”:”S-NU58-Z4QR-XXKE-94DHH”,”generatorPublicKey”:”0000000000000000000000000000000000000000000000000000000000000000″,”nonce”:”0″,”scoopNum”:1689,”timestamp”:0,”numberOfTransactions”:0,”totalAmountNQT”:”0″,”totalFeeNQT”:”0″,”blockRewardNQT”:”0″,”blockReward”:”0″,”payloadLength”:0,”version”:-1,”baseTarget”:”18325193796″,”averageCommitmentNQT”:”100000000000″,”nextBlock”:”1265146016099430888″,”payloadHash”:”e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855″,”generationSignature”:”0000000000000000000000000000000000000000000000000000000000000000″,”blockSignature”:”00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000″,”transactions”:[],”requestProcessingTime”:1}
See “Get Block” in Block Operations below.
Flexible Account IDs
All API requests that require an account ID accept either an account number or the corresponding Reed-Solomon Address.
Quantity Units Signa, NQT and QNT
The Signum system has a currency Signa used to quantify value in the system. Like all currencies, Signa 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 Signa 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 Signa = 108 NQT. All parameters and fields in the API involving a quantity of Signa 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 Signum 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 (Signa) | Canonical Name | Alternate Name | NQT |
---|---|---|---|
1.00000000 | SIGNA | Signa | 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
Note: The following is legacy information from NXT. Signum does not have this functionality. This information will be adapted to Signum or archived.
Nxtinformation is legacy 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 Signum 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 Signum 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 Signum server to connect to the TestNet instead of the MainNet.
Create Transaction
The following API calls create Signum transactions using HTTP POST requests. Follow the links for examples and HTTP POST request parameters specific to each call. Refer to the sections below for HTTP POST request parameters (See Create Transactions Request) and JSON response fields (see Create Transactions Response) common to all calls that create transactions.
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 transactiondeadline
deadline (in minutes) for the transaction to be confirmed, 1440 minutes maximumbroadcast
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 kilobytemessageIsText
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 Signa for Issue Asset, unless singleton asset is issued, for which the fee is 1 Signa
- 2 Signa in base fee for Set Alias, with 2 Signa additional fee for each 32 chars of name plus URI total length, after the first 32 chars
- 1 Signa for the first 32 bytes of an unencrypted non-prunable message, 1 Signa for each additional 32 bytes
- 2 Signa for the first 32 bytes of an encrypted non-prunable message, 1 Signa for each additional 32 bytes. The length is measured excluding the nonce and the 16 byte AES initialization vector.
- 1 Signa for the first 1024 bytes of a prunable message, 0.1 Signa for each additional 1024 prunable bytes
- 1 Signa for Set Account Info, including 32 chars, with 2 Signa additional fee for each 32 characters
- 2 Signa for DGS Listing, including 32 chars of name plus description. With 2 Signa additional fee for each 32 characters
- 1 Signa for DGS Delivery, including 32 bytes of encrypted goods data (AES initialization bytes and nonce excluded). With 2 Signa additional fee for each 32 bytes.
- 2 Signa for transactions that make use of referencedTransactionFullHash property when creating a new transaction.
- Dynamic tx fee otherwise, where 1 Signa = 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 under Signum Transaction Types and 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://europe1.signum.network/burst?requestType=getBlockchainStatus
{
“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://europe1.signum.network/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 getPeerpeer
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://europe1.signum.network/burst?requestType=getPeer&peer=157.90.168.219
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 getPeersactive
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://europe1.signum.network/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://europe1.signum.network/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 getStateincludeCounts
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 Signa
(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://europe1.signum.network/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://europe1.signum.network/burst?requestType=getTime
Response:
{
“time”: 121621260,
“requestProcessingTime”: 0
}
Account Operations
Get Account
Get account information given an account ID.
Request:requestType
is getAccountaccount
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 unconfirmed asset balance of the account
(S) effectiveBalanceNXT
is the balance (in Signa) 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://europe1.signum.network/burst?requestType=getAccount&account=S-GBFG-HVQ4-8AMM-GPCWR
Response:
{
“unconfirmedBalanceNQT”: “100000000000”,
“guaranteedBalanceNQT”: “100000000000”,
“unconfirmedAssetBalances”: [
{
“unconfirmedBalanceQNT”: “120100”,
“asset”: “3702027329806229573”
}
],
“effectiveBalanceNXT”: “100000000000”,
“accountRS”: “S-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 getAccountBlockIdsaccount
is the account IDtimestamp
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 Blocks
Get all blocks forged (generated) by an account in reverse block height order.
Request:requestType
is getAccountBlockstimestamp
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”: “Signa-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 getAccountIdsecretPhrase
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://europe1.signum.network/burst?requestType=getAccountId&secretPhrase=IWontTellYou
Response:
{
“accountRS”: “Signa-L6FM-89WK-VK8P-FCRBB”,
“publicKey”: “57fb6f3a958e320bb49c4e81b4c2cf28b9f25d086c143b473beec228f79ff93c”,
“requestProcessingTime”: 0,
“account”: “15323192282528158131”
}
Get Account Lessors
Get the lessors to an account.
Request:requestType
is getAccountLessorsaccount
is the account IDheight
is the height of the blockchain to determine 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:
https://europe1.signum.network/burst?requestType=getAccountLessors&account=S-GBFG-HVQ4-8AMM-GPCWR
Response:
{
“lessors”: [],
“accountRS”: “S-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 getAccountPublicKeyaccount
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:
https://europe1.signum.network/burst?requestType=getAccountPublicKey&account=S-GBFG-HVQ4-8AMM-GPCWR’
{
“publicKey”: “f22d8aa787eddbf69caf6f5960f5972a4b73247eb3a9479ddddeda40224aca60”,
“requestProcessingTime”: 1
}
Get Account Transaction Ids
Get the transaction IDs associated with an account in reverse block timestamp order.
Request:requestType
is getAccountTransactionIdsaccount
is the account IDtimestamp
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 getAccountTransactionsaccount
is the account IDtimestamp
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 getBalanceaccount
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 Signa) 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://europe1.signum.network/burst?requestType=getBalance&account=S-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 getGuaranteedBalanceaccount
is the account IDnumberOfConfirmations
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:
https://europe1.signum.network/burst?requestType=getGuaranteedBalance&account=S-GBFG-HVQ4-8AMM-GPCWR
Response:
{
“guaranteedBalanceNQT”: “100000000000”,
“requestProcessingTime”: 0
}
Get Unconfirmed Transaction Ids
Get a list of unconfirmed transaction IDs associated with an account.
Request:requestType
is getUnconfirmedTransactionIdsaccount
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 getUnconfirmedTransactionsaccount
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://europe1.signum.network/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”: “S-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”: “S-HKML-NRG6-VBRA-2F8PS”,
“subtype”: 0,
“amountNQT”: “10013275142”,
“sender”: “888561138747819634”,
“recipientRS”: “S-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 getEscrowTransactionescrow
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 getAccountEscrowTransactionsaccount
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 getSubscriptionsubscription
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:
https://europe1.signum.network/burst?requestType=getSubscription&subscription=13721874590196751209
Response:
{
“senderRS”: “S-2RN8-FSU8-P64Q-5AL9C”,
“sender”: “3827576371473833606”,
“amountNQT”: “500000000”,
“recipientRS”: “S-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 getSubscriptionsToAccountaccount
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”: “S-2RN8-FSU8-P64Q-5AL9C”,
“sender”: “3827576371473833606”,
“amountNQT”: “500000000”,
“recipientRS”: “S-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”: “S-2RN8-FSU8-P64Q-5AL9C”,
“sender”: “3827576371473833606”,
“amountNQT”: “500000000”,
“recipientRS”: “S-JDMH-EZQC-UWY4-EXXFU”,
“recipient”: “14787496155544039023”,
“id”: “13721874590196751209”,
“timeNext”: 128778762,
“frequency”: 3600
}
],
“requestProcessingTime”: 2
}
Send Money
Send Signa to an account. POST only. Refer to Create Transaction Request for common parameters.
Request:requestType
is sendMoneyrecipient
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”: “Signum-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 0,
“amountNQT”: “100000000”,
“sender”: “15323192282528158131”,
“recipientRS”: “Signum-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 BURSTCOIN to up to 64 recipients. POST only. Refer to Create Transaction Request for common parameters.
Request:requestType
is sendMoneyMultirecipients
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 BURSTCOIN to up to 128 recipients. POST only. Refer to Create Transaction Request for common parameters.
Request:requestType
is sendMoneyMultiSamerecipients
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
Cancel Subscription
Cancel a subscription. Refer to Create Transaction Request for common parameters.
Request:requestType
is subscriptionCancelsubscription
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”: “S-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 setAccountInfoname
is the name to associate with the accountdescription
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”: “S-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 broadcastTransactiontransactionBytes
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 calculateFullHashunsignedTransactionBytes
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 getTransactionfullHash
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:
https://europe1.signum.network/burst?requestType=getTransaction&transaction=3120851314369640207%20
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”: “S-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 0,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“recipientRS”: “S-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 getTransactionBytestransaction
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:
https://europe1.signum.network/burst?requestType=getTransactionBytes&transaction=3120851314369640207
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 parseTransactiontransactionBytes
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”: “S-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 0,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“recipientRS”: “S-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 signTransactionunsignedTransactionBytes
is the unsignedTransactionBytes field of the transaction (optional, if unsignedTransactionJSON provided)unsignedTransactionJSON
is the transactionJSON field of the transaction, without a signature subfieldsecretPhrase
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 sellAliasalias
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”: “S-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 6,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“recipientRS”: “S-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 setAliasaliasName
is the alias namealiasURI
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:[email protected]”
},
“senderRS”: “S-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 getAliasalias
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://europe1.signum.network/burst?requestType=getAlias&aliasName=AliasTestSell
Response:
{
“aliasURI”: “acct:[email protected]”,
“aliasName”: “AliasTestSell”,
“accountRS”: “S-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 getAliasestimestamp
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 aliasesfirstIndex
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://europe1.signum.network/burst?requestType=getAliases&account=16922903237994405232
Response:
{
“aliases”: [
{
“aliasURI”: “acct:[email protected]”,
“aliasName”: “AliasTestBuy”,
“accountRS”: “S-FRDJ-UPLH-MY9A-GUKQP”,
“alias”: “17197436179114898263”,
“account”: “16922903237994405232”,
“timestamp”: 120676320
},
{
“aliasURI”: “acct:[email protected]”,
“aliasName”: “AliasTestSell”,
“accountRS”: “Signum-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 cancelAskOrderorder
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”: “S-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
Get current asset order IDs given an account ID in reverse block height order.
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 getAccountCurrentAskOrdersaccount
is the account IDasset
is an asset ID filterfirstIndex
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”: “S-MBZS-2BCT-45QV-APCZB”,
“asset”: “3702027329806229573”,
“type”: “ask”,
“account”: “9582909050628712440”,
“order”: “4875748854378397140”,
“height”: 495658
},
{
“quantityQNT”: “260100”,
“priceNQT”: “200000”,
“accountRS”: “S-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 getAllAssetsfirstIndex
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://europe1.signum.network/burst?requestType=getAllAssets&firstIndex=373
Response:
{
“assets”: [
{
“quantityQNT”: “10000000000”,
“numberOfAccounts”: 77,
“accountRS”: “S-8E8K-WQ2F-ZDZ5-FQWHX”,
“decimals”: 8,
“numberOfTransfers”: 26,
“name”: “BCPT”,
“description”: “Signum 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”: “S-H2ZW-3H4D-RJBS-FCVGV”,
“decimals”: 2,
“numberOfTransfers”: 36,
“name”: “SignumFund”,
“description”: “This asset will act as a stabilizer fund for Signum. This asset aims to assist in maintaining the value of Signum, providing market correction in the event of market manipulation. Each Quantity will be representative of 10 Signum at an initial market price of 0.00001000 each (or determined by asset market). This assets main focus will be ensuring Signum 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 getAllOpenAskOrdersfirstIndex
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://europe1.signum.network/burst?requestType=getAllOpenAskOrders&firstIndex=2577
Response:
{
“requestProcessingTime”: 0,
“openOrders”: [
{
“quantityQNT”: “10”,
“priceNQT”: “10000000000000”,
“accountRS”: “S-359Q-QH73-4N5P-FP54C”,
“asset”: “15295227971848272658”,
“type”: “ask”,
“account”: “15350648744942013686”,
“order”: “14034527401109329159”,
“height”: 17901
},
{
“quantityQNT”: “1”,
“priceNQT”: “10000000000000”,
“accountRS”: “S-Q4TR-YKRW-6RAN-EDBC8”,
“asset”: “11375670541237055652”,
“type”: “ask”,
“account”: “14062819640288676663”,
“order”: “18379469307992717843”,
“height”: 11997
},
{
“quantityQNT”: “4392”,
“priceNQT”: “100000000000”,
“accountRS”: “S-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 getAllTradestimestamp
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://europe1.signum.network/burst?requestType=getAllTrades&lastIndex=1
Response:
{
“trades”: [
{
“seller”: “2695253629713716937”,
“quantityQNT”: “7700”,
“bidOrder”: “17489219850997945774”,
“sellerRS”: “S-Q7QB-WPPC-6VE2-4QVTC”,
“buyer”: “14676337193484961173”,
“priceNQT”: “100000”,
“askOrder”: “7125231493760146086”,
“buyerRS”: “Signum-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”: “Signum-BEYS-G8VQ-6SEK-7F7PZ”,
“buyer”: “17808054289263456125”,
“priceNQT”: “66500000”,
“askOrder”: “3461704332885328085”,
“buyerRS”: “Signum-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 getAssetasset
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://europe1.signum.network/burst?requestType=getAsset&asset=3702027329806229573
Response:
{
“quantityQNT”: “20000000000”,
“numberOfAccounts”: 9210,
“accountRS”: “S-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 getAssetAccountsasset
is the asset IDheight
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”: “S-CMAP-AY84-2TV8-6F2QK”,
“unconfirmedQuantityQNT”: “5000000000”,
“asset”: “3702027329806229573”,
“account”: “5248959966645406997”
},
{
“quantityQNT”: “5000000000”,
“accountRS”: “S-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 getAssetIdsfirstIndex
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://europe1.signum.network/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 blockasset
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”: “S-RBHF-BY3C-V949-37G3N”,
“assetTransfer”: “16436527819322024045”,
“sender”: “1875121765155055085”,
“recipientRS”: “S-59HP-HQ5R-7MGU-AG4LC”,
“decimals”: 2,
“recipient”: “9604012506417831413”,
“name”: “CryptoMaps”,
“asset”: “3702027329806229573”,
“height”: 504029,
“timestamp”: 121917645
},
{
“quantityQNT”: “5500”,
“senderRS”: “S-PVZT-KWEH-ZTJE-7Z7C9”,
“assetTransfer”: “9907383924348587793”,
“sender”: “6028278722555736057”,
“recipientRS”: “S-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 getAssetsassets
is one of the multiple asset IDsassets
is one of the multiple asset IDsassets
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”: “S-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”: “Signum-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 getAssetsByIssueraccount
is one of the multiple account IDsaccount
is one of the multiple account IDsfirstIndex
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”: “S-KQL8-645F-3WU8-3GMHB”,
“decimals”: 2,
“numberOfTransfers”: 0,
“name”: “BoB1Pos”,
“description”: “Brotherhood of Blockchain bob-invest.com proudly present the first investment opportunity on Signum asset. This asset will invest in Prove of Stake coins and pay out dividend in Signum. 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”: “Signum-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 getAskOrderorder
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://europe1.signum.network/burst?requestType=getAskOrder&order=14034527401109329159
Response:
{
“quantityQNT”: “10”,
“priceNQT”: “10000000000000”,
“accountRS”: “S-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 getAskOrderIdsasset
is the asset IDfirstIndex
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 blockasset
is the asset IDfirstIndex
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:
https://europe1.signum.network/burst?requestType=getAskOrders&asset=11700625361170592721&lastIndex=2
Response:
{
“askOrders”: [
{
“quantityQNT”: “250”,
“priceNQT”: “100000000”,
“accountRS”: “S-CDQV-WN87-YB2L-FTEPP”,
“asset”: “11700625361170592721”,
“type”: “ask”,
“account”: “15768678879341129435”,
“order”: “9230225288402446558”,
“height”: 501552
},
{
“quantityQNT”: “50000”,
“priceNQT”: “100000000”,
“accountRS”: “S-CDQV-WN87-YB2L-FTEPP”,
“asset”: “11700625361170592721”,
“type”: “ask”,
“account”: “15768678879341129435”,
“order”: “9243318318548315528”,
“height”: 501552
},
{
“quantityQNT”: “50”,
“priceNQT”: “100000000”,
“accountRS”: “S-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 getTradesasset
is the asset IDaccount
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”: “S-Q7QB-WPPC-6VE2-4QVTC”,
“buyer”: “14676337193484961173”,
“priceNQT”: “100000”,
“askOrder”: “7125231493760146086”,
“buyerRS”: “S-EKEP-XEYS-6YPW-EL8DR”,
“block”: “10810208340839229954”,
“asset”: “3702027329806229573”,
“askOrderHeight”: 504189,
“tradeType”: “sell”,
“timestamp”: 122140342,
“height”: 504949
},
{
“seller”: “13248005565246971693”,
“quantityQNT”: “100000”,
“bidOrder”: “6312065606850043247”,
“sellerRS”: “S-59TF-VVKH-X6SQ-DYLQH”,
“buyer”: “9582909050628712440”,
“priceNQT”: “120000”,
“askOrder”: “17472059594274895773”,
“buyerRS”: “S-MBZS-2BCT-45QV-APCZB”,
“block”: “12097007668561592790”,
“asset”: “3702027329806229573”,
“askOrderHeight”: 504899,
“tradeType”: “buy”,
“timestamp”: 122129038,
“height”: 504899
},
{
“seller”: “12065311156306389227”,
“quantityQNT”: “7700”,
“bidOrder”: “17489219850997945774”,
“sellerRS”: “S-8C9D-LBN5-X9FG-CS6WG”,
“buyer”: “14676337193484961173”,
“priceNQT”: “100000”,
“askOrder”: “2519849914836375271”,
“buyerRS”: “S-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 issueAssetname
is the name of the assetdescription
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 existencedecimals
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”: “S-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 placeAskOrderasset
is the asset ID of the asset being orderedquantityQNT
is the amount (in QNT) of the asset being orderedpriceNQT
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”: “S-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 transferAssetrecipient
is the recipient account IDrecipientPublicKey
is the public key of the recipient account (optional, enhances security of a new account)asset
is the ID of the asset being transferredquantityQNT
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”: “S-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 1,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“recipientRS”: “S-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”
}
DGS Delisting
Delist a listed product. POST only. Refer to Create Transaction Request for common parameters.
Request:requestType
is dgsDelistinggoods
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”: “S-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 dgsDeliverypurchase
is the purchase order IDdiscountNQT
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”: “S-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 5,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“recipientRS”: “S-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 dgsFeedbackpurchase
is the purchase order IDmessage
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”: “S-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 6,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“recipientRS”: “S-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 dgsListingname
is the name of the product up to 100 characters in lengthdescription
is the description of the product up to 1000 characters in lengthtags
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 salepriceNQT
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”: “S-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 dgsPriceChangegoods
is the goods ID of the productpriceNQT
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”: “S-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 dgsPurchasegoods
is the goods ID of the productpriceNQT
is the price of the productquantity
is the quantity to be purchaseddeliveryDeadlineTimestamp
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”: “S-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 4,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“recipientRS”: “S-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 dgsQuantityChangegoods
is the goods ID of the productdeltaQuantity
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”: “S-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
Refund a purchase. POST only. Refer to Create Transaction Request for common parameters.
Request:requestType
is dgsRefundpurchase
is the purchase order IDrefundNQT
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”: “S-L6FM-89WK-VK8P-FCRBB”,
“subtype”: 7,
“amountNQT”: “0”,
“sender”: “15323192282528158131”,
“recipientRS”: “S-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 dgsDGSGoodgoods
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://europe1.signum.network/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”: “S-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 getDGSPendingPurchasesseller
is the account ID of the sellerfirstIndex
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:
https://europe1.signum.network/burst?requestType=getDGSPendingPurchases&seller=869755421284789028
Response:
{
“purchases”: [
{
“seller”: “869755421284789028”,
“priceNQT”: “100000000”,
“quantity”: 1,
“deliveryDeadlineTimestamp”: 142820935,
“buyerRS”: “S-8J3W-BBNN-BJMG-HCPG3”,
“pending”: true,
“purchase”: “18028864805999806823”,
“name”: “Donate – Help CompSci Students”,
“goods”: “8877051912510361584”,
“sellerRS”: “S-EUT6-YC9L-N63Y-2XH6S”,
“buyer”: “17346364151341203516”,
“timestamp”: 120220136
},
{
“seller”: “869755421284789028”,
“note”: {
“data”: “530c56998edacb24b664d9be3d9db3be52cb89bc10efdfbb1c97a5bb415bff2a1737ecf758202b57171145296bb3db2e”,
“nonce”: “6b59813a09abe6809d87a34a0d7eb4ad7b97f43a28ae8d26f4811f8fff864712”
},
“quantity”: 1,
“pending”: true,
“purchase”: “9754082484071034298”,
“goods”: “8877051912510361584”,
“sellerRS”: “S-EUT6-YC9L-N63Y-2XH6S”,
“buyer”: “11786437085044315193”,
“priceNQT”: “100000000”,
“deliveryDeadlineTimestamp”: 139660265,
“buyerRS”: “S-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 getDGSPurchasepurchase
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://europe1.signum.network/burst?requestType=getDGSPurchase&purchase=18028864805999806823
Response:
{
“seller”: “869755421284789028”,
“quantity”: 1,
“pending”: true,
“purchase”: “18028864805999806823”,
“goods”: “8877051912510361584”,
“sellerRS”: “S-EUT6-YC9L-N63Y-2XH6S”,
“requestProcessingTime”: 1,
“buyer”: “17346364151341203516”,
“priceNQT”: “100000000”,
“deliveryDeadlineTimestamp”: 142820935,
“buyerRS”: “S-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 getDGSPurchasesseller
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://europe1.signum.network/burst?requestType=getDGSPurchases&seller=869755421284789028
Response:
{
“purchases”: [
{
“seller”: “869755421284789028”,
“priceNQT”: “100000000”,
“quantity”: 1,
“deliveryDeadlineTimestamp”: 142820935,
“buyerRS”: “S-8J3W-BBNN-BJMG-HCPG3”,
“pending”: true,
“purchase”: “18028864805999806823”,
“name”: “Donate – Help CompSci Students”,
“goods”: “8877051912510361584”,
“sellerRS”: “S-EUT6-YC9L-N63Y-2XH6S”,
“buyer”: “17346364151341203516”,
“timestamp”: 120220136
},
{
“seller”: “869755421284789028”,
“note”: {
“data”: “530c56998edacb24b664d9be3d9db3be52cb89bc10efdfbb1c97a5bb415bff2a1737ecf758202b57171145296bb3db2e”,
“nonce”: “6b59813a09abe6809d87a34a0d7eb4ad7b97f43a28ae8d26f4811f8fff864712”
},
“quantity”: 1,
“pending”: true,
“purchase”: “9754082484071034298”,
“goods”: “8877051912510361584”,
“sellerRS”: “S-EUT6-YC9L-N63Y-2XH6S”,
“buyer”: “11786437085044315193”,
“priceNQT”: “100000000”,
“deliveryDeadlineTimestamp”: 139660265,
“buyerRS”: “S-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 decryptFromaccount
is the account ID of the senderdata
is the AES-encrypted datanonce
is the unique nonce associated with the encrypted datadecryptedMessageIsText
is false if the decrypted message is a hex string, true if the decrypted message is textsecretPhrase
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 encryptTorecipient
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 AESmessageToEncryptIsText
is false if the message to encrypt is a hex string, true if the encrypted message is textsecretPhrase
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 readMessagetransaction
is the transaction ID of the messagesecretPhrase
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://europe1.signum.network/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 sendMessagemessage
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”: “S-FRDJ-UPLH-MY9A-GUKQP”,
“subtype”: 0,
“amountNQT”: “0”,
“sender”: “16922903237994405232”,
“recipientRS”: “S-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 getBlockblock
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://europe1.signum.network/burst?requestType=getBlock&block=2298247278137763160
Response:
{
“previousBlockHash”: “98338ec9e496040f505dace85c3ab331e6ad257f24d6e9417877a4a22b449ab3”,
“payloadLength”: 214,
“totalAmountNQT”: “0”,
“generationSignature”: “be12abb71bfe2dcde77cbd5872e64855929d934d04a491cb08950b9e509f37eb”,
“generator”: “16286104011619463406”,
“generatorPublicKey”: “ba5464139a83fcdb600ba141b567430ec5ebd0e409d246cdd33c3597855e0a4e”,
“baseTarget”: “116169”,
“payloadHash”: “20585e4ab9b6ac07f8903a509b1494dab99b931bedf3e3ad11c5a556a82b7c3e”,
“generatorRS”: “S-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 getBlockIdheight
is the block height
Response:
(S) block
is the block ID
(N) requestProcessingTime
is the API request processing time (in millisec)
Example:
Request:
https://europe1.signum.network/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 getBlocksfirstIndex
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://europe1.signum.network/burst?requestType=getBlocks&lastIndex=1
Response:
{
“blocks”: [
{
“previousBlockHash”: “e4cc2b7c6f62c290d1405ef236b846d316df4cc187c9554b18dcb54861f4ade2”,
“payloadLength”: 1234,
“totalAmountNQT”: “132933935798”,
“generationSignature”: “53f43986acef5899f08e388bde1bc6b935499c91badace2247076aa984fea577”,
“generator”: “12019899115821911181”,
“generatorPublicKey”: “f6b3ee829223351281340617eae3bdc3082ae9db6899395befddabc4aae37161”,
“baseTarget”: “115429”,
“payloadHash”: “2e71185d5f9c8cce3f2cc87dec5df9643dc0b6562f78f49b553610bc4d9af5a3”,
“generatorRS”: “S-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”: “S-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 getDGSGoodsseller
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://europe1.signum.network/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”: “S-F498-E9P9-ACDE-G2Q4A”,
“requestProcessingTime”: 1,
“delisted”: false,
“tags”: “plotter”,
“timestamp”: 121088459
}
Get EC Block
Get Economic Cluster block data.
Request:requestType
is getECBlocktimestamp
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://europe1.signum.network/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://europe1.signum.network/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 setRewardRecipientrecipient
is the account ID of the recipient.
Response:
Refer to Create Transaction Response.
Example: To do
Get Reward Recipient
Request:requestType
is getRewardRecipientaccount
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:
https://europe1.signum.network/burst?requestType=getRewardRecipient&account=S-FRDJ-UPLH-MY9A-GUKQP
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 getAccountsWithRewardRecipientaccount
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 getAccountATsaccount
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:
https://europe1.signum.network/burst?requestType=getAccountATs&account=S-35LY-PRT7-A9MR-A3LNQ
Response:
{
“ats”: [
{
“atVersion”: 1,
“creator”: “10039158734712770142”,
“creatorRS”: “S-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”: “Signum-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 longConvertid
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://europe1.signum.network/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 rsConvertaccount
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://europe1.signum.network/burst?requestType=rsConvert&account=16922903237994405232
Response:
{
“accountRS”: “S-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 of being processed by the network.