#
API
#
Configuration
API is accessed via the RPC endpoints of the node. The endpoints socket can be configured via the --rpc command line option:
JSON RPC endpoint options:
-r, --rpc=IP:PORT JSON RPC endpoint (default=`127.0.0.1:3000')
For example invoke
$./wart-node --rpc=0.0.0.0:3000
to start the node with RPC listening on all devices on port 3000.
Warning
The RPC endpoint should not exposed to the internet, use appropriate firewall settings.
Below we assume the RPC socket is accessible at localhost:3000. On startup the node reports the RPC endpoint setting:
[info] RPC endpoint is 127.0.0.1:3000.
#
Endpoint Overview
You can see an HTML overview of all supported RPC endpoints by opening localhost:3000 in your browser. Currently the following endpoints are supported:
#
Detailed Description
#
POST /transaction/add
Send transactions in JSON format, returns transaction hash in hex format:
{
"code": 0,
"data": {
"txHash": <txhash>
}
}
#
GET /transaction/mempool
Show content of mempool. Example output:
{
"code": 0,
"data": {
"data": []
}
}
#
GET /transaction/lookup/:txid
Transaction lookup by transaction id. Example output of /transaction/lookup/4b3bc48295742b71ff7c3b98ede5b652fafd16c67f0d2db6226e936a1cdbf0a5:
{
"code": 0,
"data": {
"transaction": {
"amount": "3.00000000",
"amountE8": 300000000,
"blockHeight": 376696,
"confirmations": 8,
"timestamp": 1695472249,
"toAddress": "848b08b803e95640f8cb30af1b3166701b152b98c2cd70ee",
"txHash": "4b3bc48295742b71ff7c3b98ede5b652fafd16c67f0d2db6226e936a1cdbf0a5",
"type": "Reward",
"utc": "2023-09-23 12:30:49 UTC"
}
}
}
#
GET /transaction/minfee
Show the minimum fee required by this node. Transactions with a lower fee will not be accepted or requested by the node.
Exemple output :
{
"code": 0,
"data": {
"16bit": 13537,
"E8": 9992,
"amount": "0.00009992"
}
}
#
GET /settings/mempool/minfee/:feeE8
Adjust the minimum transaction fee. The desired new minimum transaction fee should be specified.
Exemple output:
{
"code": 0,
"data": {
"deleted": 0
}
}
You can also set the min fee when launching your node.
Exemple:
$./wart-node --minfee="0.00009992"
#
GET /chain/head
Show info on chain head. Example output:
{
"code": 0,
"data": {
"difficulty": 30866431555762.105,
"hash": "e9dfdcfdeec3c5376dd682e09cce909dc255d611e9cb36974bcbcbcecb6fb432",
"height": 1198931,
"is_janushash": true,
"pinHash": "a7bd097d9c10dc393239f169f6dd5352e0b4e28e942aaa78b54c57ed1ec7315b",
"pinHeight": 1198912,
"synced": true,
"worksum": 1.008584641271857e+19,
"worksumHex": "0x0000000000000000000000000000000000000000000000008bf81fe0113cf6a0"
}
}
#
GET /chain/grid
Show hexadecimal header grid. This grid is used for chain sync to allow nodes spot points where chains diverge. Example output (truncated):
{
"code": 0,
"data": [
"19f65d40c6bc02a16378712bd7652eaebc925955e96c0262641314520000000021c88fbd99f0d3369f7f1ad981e11b8c6f032e13d4ef28311226ea5c8574c3fe3635b32500000001649f78127c04d23d",
"0e43cf390ca986fabbed37a33386b4ad73723d51fab291d12013351f0000000021d1c6076e52222fb8c83fe33d55c610482cd272b7789646710510df3ba37a4f55b30e4e0000000164a221eb03577627",
"2e92a976c5f7df4cfa26a37f534f79795d23342cd003fdaa000d28050000000021cab3fb524f9a8ca2cc60fbe97602c87079628007cedffdc35cfe9c2ee213fd065bfd890000000164a4c5ec4b03db81",
"8473ff5f3f518d7c452cac1615bf8c9002bd8fbbbd55de46fe44093a0000000021bcc4fc5876f1e6cac619f2d8879440d1d8d12533366aae1d510b0545726e9001d3c19e0000000164a76310886953a6",
"f0712262bd4e33de238d1e398af6b230a3d73a35b47f1594b0a937390000000021bbe95b117621d2cac808d78ec949629153d613b786ee6c36c7138648fac654ddda201f0000000164aa047487b3ac63",
"46d35ed8925c8352ba39724f6300d722aa68647d384a1337cc1e2c0a0000000021cbd7eeb4de9855cf012681cc0136970ec2d0908f67e27e67a776b73938fd5bc028991e0000000164acb408c64731c8",
"b519f66a8273a8e1a729b6a002fb559e6f9e8789acc4d3735650a00d0000000023d178c86190febff3340df034fe867fe19539d9a6c1715d9ce5775e5231db1c82d564ab0000000164af016a0fea6998",
"ede75acb72ac56e888ffa70b05668e61425dd58859abaabe5e04fc040000000025d852ac6f8f2c63fda6d0de9dfa3cda237a56f3c5ffd3ac7108373e9d2890530f8f927b0000000164b174eec1703326",
.
.
.
]
}
#
GET /chain/signed_snapshot
Show chain snapshot. Example output
{
"code": 0,
"data": {
"header": {
"difficulty": 5850035871080.048,
"hash": "ac4f50ef90c0730075f4995d0b33691e9e7d69f84d2191c029371c0000000000",
"merkleroot": "a4d44aff9ebd539f2b5e758fb76df22bfd13a2e4d894752c7892f9e9c3f3d969",
"nonce": "0d8e8eab",
"prevHash": "11f2b6860910f7b544e01fd5ed5419588c29e42b305553bd492a0d0000000000",
"raw": "11f2b6860910f7b544e01fd5ed5419588c29e42b305553bd492a0d00000000002ac075d9a4d44aff9ebd539f2b5e758fb76df22bfd13a2e4d894752c7892f9e9c3f3d96900000001650bd0820d8e8eab",
"target": "d975c02a",
"timestamp": 1695273090,
"utc": "2023-09-21 05:11:30 UTC",
"version": "00000001"
}
}
}
#
GET /chain/block/:id/hash
Show hash of specific block. Example output of /chain/block/366700/hash
{
"code": 0,
"data": {
"hash": "ac4f50ef90c0730075f4995d0b33691e9e7d69f84d2191c029371c0000000000"
}
}
#
GET /chain/block/:id/header
Show header of specific block.
Example output of /chain/block/366700/header
{
"code": 0,
"data": {
"header": {
"difficulty": 5850035871080.048,
"hash": "ac4f50ef90c0730075f4995d0b33691e9e7d69f84d2191c029371c0000000000",
"merkleroot": "a4d44aff9ebd539f2b5e758fb76df22bfd13a2e4d894752c7892f9e9c3f3d969",
"nonce": "0d8e8eab",
"prevHash": "11f2b6860910f7b544e01fd5ed5419588c29e42b305553bd492a0d0000000000",
"raw": "11f2b6860910f7b544e01fd5ed5419588c29e42b305553bd492a0d00000000002ac075d9a4d44aff9ebd539f2b5e758fb76df22bfd13a2e4d894752c7892f9e9c3f3d96900000001650bd0820d8e8eab",
"target": "d975c02a",
"timestamp": 1695273090,
"utc": "2023-09-21 05:11:30 UTC",
"version": "00000001"
}
}
}
#
GET/chain/block/:id
Show header and body of specific block.
Example output of /chain/block/366700
{
"code": 0,
"data": {
"body": {
"rewards": [
{
"amount": "3.00000001",
"amountE8": 300000001,
"toAddress": "848b08b803e95640f8cb30af1b3166701b152b98c2cd70ee",
"txHash": "660b6f0883e4b295d5a3920eea9c73636787b932efd00cacc6d3a9a89f540714"
}
],
"transfers": [
{
"amount": "5000.00000000",
"amountE8": 500000000000,
"fee": "0.00000001",
"feeE8": 1,
"fromAddress": "1711cadfe5a66a5f5f245fc78b2335f79da362178a72de2e",
"nonceId": 131630562,
"pinHeight": 366688,
"toAddress": "8733d0e21bc791f44785f02753bb589b8423eb56cd938fbc",
"txHash": "f364da997bf7a3c3bc8ead22041509228d6bdea39fcbcdc6be56030433d54219"
}
]
},
"confirmations": 9970,
"header": {
"difficulty": 5850035871080.048,
"hash": "ac4f50ef90c0730075f4995d0b33691e9e7d69f84d2191c029371c0000000000",
"merkleroot": "a4d44aff9ebd539f2b5e758fb76df22bfd13a2e4d894752c7892f9e9c3f3d969",
"nonce": "0d8e8eab",
"prevHash": "11f2b6860910f7b544e01fd5ed5419588c29e42b305553bd492a0d0000000000",
"raw": "11f2b6860910f7b544e01fd5ed5419588c29e42b305553bd492a0d00000000002ac075d9a4d44aff9ebd539f2b5e758fb76df22bfd13a2e4d894752c7892f9e9c3f3d96900000001650bd0820d8e8eab",
"target": "d975c02a",
"timestamp": 1695273090,
"utc": "2023-09-21 05:11:30 UTC",
"version": "00000001"
},
"height": 366700,
"timestamp": 1695273090,
"utc": "2023-09-21 05:11:30 UTC"
}
}
#
GET /chain/mine/:address
Generate data required for mining. Example output of /chain/mine/11c6c0f7148a845cc899360a38fa839ba3d5e719293bb5c6
{
"code": 0,
"data": {
"blockReward": "3.00000000",
"blockRewardE8": 300000000,
"body": "000000000000000000000001e94f274f08cf64bd76688ffb34012269e045b737000000000000098d0000000011e1a300",
"difficulty": 30866431555762.105,
"header": "50eaaf1453c84cabef749af9064d73d881174a44d7f165122400604e71342f9d0b2479fd6ec2b44e00bed326c9116b2f85f9f72bdd2157cc521cf49d0cf360fad91b881e00000002660ab00400000000",
"height": 1198924,
"merklePrefix": "72aa3aa84afd92af788b750d28ed9fe247d8788956bbdddc5a92cbdcb5925e4fbe20dcff8dc31364a524061ff0235bd78c9786d6d29dd2a73b49efacb57966d6",
"synced": true,
"testnet": false,
"totalTxFee": "0",
"totalTxFeeE8": 0
}
}```
### `GET /chain/txcache`
Show transaction cache. Example output:
```json
{
"code": 0,
"data": []
}
#
GET /chain/hashrate/:window
Show current hashrate based on latest n blocks
Example output of /chain/hashrate/100
{
"code": 0,
"data": {
"lastNBlocksEstimate": 296429051797,
"N": 100
}
}
#
POST /chain/append
Append mined block. Miners must POST mined block they received from GET /chain/mine/:address.
TODO: Detailed description
#
GET /account/:account/balance
Show balance of specific account. Example output:
{
"code": 0,
"data": {
"accountId": 198,
"balance": "5027.00000000",
"balanceE8": 502700000000
}
}
{
"code": 0,
"data": {
"blockReward": "3.00000000",
"blockRewardE8": 300000000,
"body": "000000000000000000000001e94f274f08cf64bd76688ffb34012269e045b737000000000000098d0000000011e1a300",
"difficulty": 30866431555762.105,
"header": "50eaaf1453c84cabef749af9064d73d881174a44d7f165122400604e71342f9d0b2479fd6ec2b44e00bed326c9116b2f85f9f72bdd2157cc521cf49d0cf360fad91b881e00000002660ab00400000000",
"height": 1198924,
"merklePrefix": "72aa3aa84afd92af788b750d28ed9fe247d8788956bbdddc5a92cbdcb5925e4fbe20dcff8dc31364a524061ff0235bd78c9786d6d29dd2a73b49efacb57966d6",
"synced": true,
"testnet": false,
"totalTxFee": "0",
"totalTxFeeE8": 0
}
}
#
GET /account/:account/history/:beforeTxIndex
Show transaction history of specific account Example output:
{
"code": 0,
"data": {
"balance": "5027.00000000",
"balanceE8": 502700000000,
"fromId": 69626,
"perBlock": [
{
"confirmations": 9949,
"height": 366700,
"transactions": {
"rewards": [],
"transfers": [
{
"amount": "5000.00000000",
"amountE8": 500000000000,
"fee": "0.00000001",
"feeE8": 1,
"fromAddress": "1711cadfe5a66a5f5f245fc78b2335f79da362178a72de2e",
"nonceId": 131630562,
"pinHeight": 366688,
"toAddress": "8733d0e21bc791f44785f02753bb589b8423eb56cd938fbc",
"txHash": "f364da997bf7a3c3bc8ead22041509228d6bdea39fcbcdc6be56030433d54219"
}
]
}
},
{
"confirmations": 298316,
"height": 78333,
"transactions": {
"rewards": [
{
"amount": "3.00000000",
"amountE8": 300000000,
"toAddress": "8733d0e21bc791f44785f02753bb589b8423eb56cd938fbc",
"txHash": "bc1b3a369c63884b013ff798ecb1d964685706d25bfaa8519d301779a6566b2a"
}
],
"transfers": []
}
},
.
.
.
]
}
}
#
GET /tools/encode16bit/from_e8/:feeE8
Round raw fee integer representation (coin amount is this number divided by 10^8) to closest 16 bit representation. This is required for fee specification in the /transaction/add endpoint. Example output of /tools/encode16bit/from_e8/5002
{
"code": 0,
"data": {
"16bit": 12514,
"originalAmount": "0.00005002",
"originalE8": 5002,
"roundedAmount": "0.00005000",
"roundedE8": 5000
}
}
#
GET /tools/encode16bit/from_string/:feestring
Round fee amount string to closest 16 bit representation. This is required for fee specification in the /transaction/add endpoint. Example output of /tools/encode16bit/from_string/0.001:
{
"code": 0,
"data": {
"16bit": 16922,
"originalAmount": "0.00100000",
"originalE8": 100000,
"roundedAmount": "0.00099968",
"roundedE8": 99968
}
}
#
GET /tools/parse_price/:price/:precision
Parse price adjusted for asset precision.
Example output of /tools/parse_price/0.123456/3:
{
"code": 0,
"data": {
"assetPrecision": 3,
"ceil": {
"doubleAdjusted": 0.12345750000000001,
"doubleRaw": 12345.75,
"exponent2": -2,
"hex": "c0e74d",
"mantissa": 49383,
"precExponent10": 5
},
"floor": {
"doubleAdjusted": 0.12345500000000001,
"doubleRaw": 12345.5,
"exponent2": -2,
"hex": "c0e64d",
"mantissa": 49382,
"precExponent10": 5
}
}
}
#
GET /tools/info
Print information about this node.
Example output of /tools/info:
{
"code": 0,
"data": {
"chainDBPath": "/home/user/.warthog/chain_defi.db3",
"dbSize": 3058028544,
"peersDBPath": "/home/user/.warthog/peers_v2.db3",
"rxtxDBPath": "/home/user/.warthog/rxtx.db3",
"uptime": {
"formatted": "0d 0h 6m 8s",
"seconds": 368,
"sinceTimestamp": 1763453691,
"sinceUTC": "2025-11-18 08:14:51 UTC"
},
"version": {
"commit": "4da03e4",
"major": 0,
"minor": 10,
"name": "v0.10.3 \"4da03e4\"",
"patch": 3
}
}
}
#
GET /tools/wallet/new
Create a new wallet.
Example output of /tools/wallet/new:
{
"code": 0,
"data": {
"address": "11c6c0f7148a845cc899360a38fa839ba3d5e719293bb5c6",
"privKey": "d711913bea313c7a9007e115a5969d9e1127f119d7ec72b3d713f698ab591488",
"pubKey": "03a907038c8aba55cecf71b242c18d4c92e2a37ff83b8779444f10ceb720fe4551"
}
}
Warning
This endpoint should only be used for testing purposes. For security reasons the node should not be involved in wallet-related operations involving a private key.
#
GET /tools/wallet/from_privkey/:privkey
Restore wallet from a private key.
Example output of /tools/wallet/from_privkey/d3ce2210adf0fccabe31b61309e2b80c029a7e4e305aeed29432edd428d35c3d:
{
"code": 0,
"data": {
"address": "31bfdc6b23b22130edc05073cffa29be793a32518769180e",
"privKey": "d3ce2210adf0fccabe31b61309e2b80c029a7e4e305aeed29432edd428d35c3d",
"pubKey": "022ad688a8ccc4898b2b923088e9f297785e8852a6bdc33b7e87ffea3d3e63e32b"
}
}
#
GET /tools/janushash_number/:headerhex
Show number interpretation of a header's Janushash. Mining corresponds to finding headers with this number smaller than some threshold dictated by the header difficulty.
Example output of /tools/janushash_number/b4e91160d990b7b679234fc7cdc1aefbe11afe9823d6d8d1da7067e9ab0c8d380af405022613b56b379d0b071a4829cc27875f19bb0cb493f3f15aaedade1080e433874b0000000265ce0eb452f36e59:
{
"code": 0,
"data": {
"janushashNumber": 4.315032866502006e-14
}
}
#
GET /tools/sample_verified_peers/:number
List verified peers.
Example output of /tools/wallet/from_privkey/d3ce2210adf0fccabe31b61309e2b80c029a7e4e305aeed29432edd428d35c3d:
{
"code": 0,
"data": [
"51.75.21.134:9186",
"172.241.31.200:19110",
"51.68.155.69:9186",
"148.251.181.254:19110",
"149.102.187.227:9186"
]
}
#
WEBSOCKET /stream
This websocket endpoint allows real-time data streams on several topics such as chain, account and connection related information. Subscribe with a message containing "action": "subscribe" and unsubscribe similarly with "action": "unsubscribe", as shown below.
Subscribe to 10 latest blocks. Upon subscription, the 10 latest blocks are provided in a chain.state message. When chain is appended (no rollback), either incremental updates are given (i.e. new blocks) as a chain.append message or (in case of more than 10 new blocks) the latest 10 blocks are provided in a chain.state message. When chain is appended with rollback, a chain.fork message is sent over the websocket connection.
Subscribe
{"action": "subscribe", "topic": "account", "params": {"address": "f07353f22a59c6a98042f29ec87d1fc0f44a6c3ceea24797"}}
Event types
chain.stateReceive 10 latest blocks.
{
"latestBlocks": [
{
"body": {
"rewards": [
{
"amount": "3.00000000",
"amountE8": 300000000,
"toAddress": "f07353f22a59c6a98042f29ec87d1fc0f44a6c3ceea24797",
"txHash": "fe33577de3186c1869f9084bfe0aeaee2e92c8fe10f87eedb438036b341b98ef"
}
],
"transfers": []
},
"confirmations": 11,
"header": {
"difficulty": 14142941042437.885,
"hash": "80b200a9ac37d7c41d98ad1cc2d6add8ab50a3905bf52d8347b56955923c28bc",
"merkleroot": "f3c41bf363fe94eb448bf924f791f77c22a2ebd6a3a5d8948f8aff019f072bea",
"nonce": "2719fef5",
"pow": {
"floatSha256t": 0.010330632328987122,
"floatVerus": 6.267357060779177e-13,
"hashSha256t": "02a507400db273886cd1bdc61e05bc4bde6978d74ce6e48d33a46fa705c59ae1",
"hashVerus": "0000000000b069112cc0caf14507169f6adf1e5278a2ef286cddc89f1162d7ca",
"verusV2.2": true
},
"prevHash": "05b42d206f8a4b2b8094199fd28423151af8aa54a5073ac6e6805f42096dc3a2",
"raw": "05b42d206f8a4b2b8094199fd28423151af8aa54a5073ac6e6805f42096dc3a20ae7cde7f3c41bf363fe94eb448bf924f791f77c22a2ebd6a3a5d8948f8aff019f072bea0000000366f2fefb2719fef5",
"target": "0ae7cde7",
"timestamp": 1727201019,
"utc": "2024-09-24 18:03:39 UTC",
"version": "00000003"
},
"height": 1949766,
"timestamp": 1727201019,
"utc": "2024-09-24 18:03:39 UTC"
},
...
{
"body": {
"rewards": [
{
"amount": "3.00000000",
"amountE8": 300000000,
"toAddress": "e4f3052d8c5858ddeca667b2130eec5886c8e9d7fcdea3ec",
"txHash": "fab8b317590c011ba4fbfcc27824892fd4d822bd194d373c7ea21da05e22f10b"
}
],
"transfers": []
},
"confirmations": 1,
"header": {
"difficulty": 14142941042437.885,
"hash": "cbaa8aefc5c5df6a4cfa8134bb6780895c0389f40a8c0f8ca9c627e1177ea2df",
"merkleroot": "ac7e68f57176e65e1ff9263d47a28e898d1cac505d57e28665f236bf126d3f6d",
"nonce": "023fdc6a",
"pow": {
"floatSha256t": 0.014122519874945283,
"floatVerus": 6.624495242688164e-14,
"hashSha256t": "039d8891ce3ef0432b9efb50d527b62496f4892a7f0594fcc71957b99cd41434",
"hashVerus": "000000000012a573afadcbac539deda01718c3fdac34099569fd71bb3dfb14d8",
"verusV2.2": true
},
"prevHash": "bf788e2e5a82ee12859d0f9d6c0543233c4f6af1f29f99dcd93042e4c9398471",
"raw": "bf788e2e5a82ee12859d0f9d6c0543233c4f6af1f29f99dcd93042e4c93984710ae7cde7ac7e68f57176e65e1ff9263d47a28e898d1cac505d57e28665f236bf126d3f6d0000000366f3003b023fdc6a",
"target": "0ae7cde7",
"timestamp": 1727201339,
"utc": "2024-09-24 18:08:59 UTC",
"version": "00000003"
},
"height": 1949776,
"timestamp": 1727201339,
"utc": "2024-09-24 18:08:59 UTC"
}
],
"eventName": "chain.state",
"head": {
"difficulty": 14142941042437.885,
"hash": "cbaa8aefc5c5df6a4cfa8134bb6780895c0389f40a8c0f8ca9c627e1177ea2df",
"height": 1949776,
"is_janushash": true,
"pinHash": "568e30a9abdbc510c9a21ec2dcb636e66cd4d1fb60028a31c65906069114e988",
"pinHeight": 1949760,
"worksum": 29360669698622464000,
"worksumHex": "0x00000000000000000000000000000000000000000000000197760d8809f796a0"
}
}
chain.append
{
"eventName": "chain.append",
"head": {
"difficulty": 14142941042437.885,
"hash": "1edd2043a92ac4747487aecaa7dc8145b6bf8ae4509c3bae4e4d9ad9727fe4ee",
"height": 1950121,
"is_janushash": true,
"pinHash": "ae8e35d5e0ab86b4a30612b37717e29ea2d4d21f039abe130fcb94b03079e073",
"pinHeight": 1950112,
"worksum": 29365549013281480000,
"worksumHex": "0x0000000000000000000000000000000000000000000000019787633e02f726a0"
},
"newBlocks": {
"data": [
{
"body": {
"rewards": [],
"transfers": []
},
"confirmations": 0,
"header": {
"difficulty": 14142941042437.885,
"hash": "1edd2043a92ac4747487aecaa7dc8145b6bf8ae4509c3bae4e4d9ad9727fe4ee",
"merkleroot": "dcfeba982307da35c0098709c20f4ea0a4f04e0bbcd1b0c34c8ecc30157159eb",
"nonce": "1aace551",
"pow": {
"floatSha256t": 0.012002777308225632,
"floatVerus": 6.341241019439662e-13,
"hashSha256t": "03129d3047448ed01936f206d4a5f59de702a35df450d36706ef93545cf03c36",
"hashVerus": "0000000000b27d750524493e994e98b7dea83af149ae7673dfc3d21935c1ae05",
"verusV2.2": true
},
"prevHash": "8c8811ee10a9c5c7d23f6f4791cbf03b781531574d53f224278cb78531a4c2fe",
"raw": "8c8811ee10a9c5c7d23f6f4791cbf03b781531574d53f224278cb78531a4c2fe0ae7cde7dcfeba982307da35c0098709c20f4ea0a4f04e0bbcd1b0c34c8ecc30157159eb0000000366f31e3c1aace551",
"target": "0ae7cde7",
"timestamp": 1727209020,
"utc": "2024-09-24 20:17:00 UTC",
"version": "00000003"
},
"height": 1950121,
"timestamp": 1727209020,
"utc": "2024-09-24 20:17:00 UTC"
}
]
}
}
chain.fork
{
"eventName": "chain.fork",
"head": {
"difficulty": 14142941042437.885,
"hash": "8bb4c08b71a496921d121460c55041678943c89107a59306fda948dfc2c8dc8a",
"height": 1950129,
"is_janushash": true,
"pinHash": "ae8e35d5e0ab86b4a30612b37717e29ea2d4d21f039abe130fcb94b03079e073",
"pinHeight": 1950112,
"worksum": 29365662156809806000,
"worksumHex": "0x0000000000000000000000000000000000000000000000019787ca254ac7a6a0"
},
"latestBlocks": {
"data": [
{
"body": {
"rewards": [
{
"amount": "3.00000000",
"amountE8": 300000000,
"toAddress": "e4f3052d8c5858ddeca667b2130eec5886c8e9d7fcdea3ec",
"txHash": "a19c2b9410440e569c670ca223504379aa09697f7b061e8dbf04c2a7870fd9b1"
}
],
"transfers": []
},
"confirmations": 11,
"header": {
"difficulty": 14142941042437.885,
"hash": "10b5ed6868f0e5c4fbd859a8dd5a68d7cf4c9038025acde37a004e9f02e7c85e",
"merkleroot": "9205c8127aabd555acb7ff3f95733bd6ec19cb110c2878c55ae77b893fdec7ec",
"nonce": "46f6a275",
"pow": {
"floatSha256t": 0.012585171731188893,
"floatVerus": 3.504885418321763e-15,
"hashSha256t": "0338c8258ed30e6088b4b81cba45f5c40553be12af0323abb7418e2cf63becd7",
"hashVerus": "000000000000fc8db96d150937429ce192e0ad69458311c4d8415b720e59b6c0",
"verusV2.2": true
},
"prevHash": "30537a679be7d6082cc905be4a717ea7985f0853403a40dedea1be4e224916dd",
"raw": "30537a679be7d6082cc905be4a717ea7985f0853403a40dedea1be4e224916dd0ae7cde79205c8127aabd555acb7ff3f95733bd6ec19cb110c2878c55ae77b893fdec7ec0000000366f31e0c46f6a275",
"target": "0ae7cde7",
"timestamp": 1727208972,
"utc": "2024-09-24 20:16:12 UTC",
"version": "00000003"
},
"height": 1950119,
"timestamp": 1727208972,
"utc": "2024-09-24 20:16:12 UTC"
},
...
]
},
"rollbackLength": 1950127
}
Subscribe to account updates such as new transactions and balance changes. Address is specified in the message["params"]["address"] field. To unsubscribe, this parameter has be specified again.
Subscribe
{"action": "subscribe", "topic": "account", "params": {"address": "f07353f22a59c6a98042f29ec87d1fc0f44a6c3ceea24797"}}
Event types
account.state
{
"address": "f07353f22a59c6a98042f29ec87d1fc0f44a6c3ceea24797",
"balance": "51557.99973680",
"balanceE8": 5155799973680,
"eventName": "account.state",
"history": []
}
account.delta
{
"address": "f07353f22a59c6a98042f29ec87d1fc0f44a6c3ceea24797",
"balance": "51551.99973680",
"balanceE8": 5155199973680,
"eventName": "account.delta",
"history": {
"data": [
{
"body": {
"rewards": [
{
"amount": "3.00000000",
"amountE8": 300000000,
"toAddress": "f07353f22a59c6a98042f29ec87d1fc0f44a6c3ceea24797",
"txHash": "fe33577de3186c1869f9084bfe0aeaee2e92c8fe10f87eedb438036b341b98ef"
}
],
"transfers": []
},
"confirmations": 0,
"header": {
"difficulty": 14142941042437.885,
"hash": "80b200a9ac37d7c41d98ad1cc2d6add8ab50a3905bf52d8347b56955923c28bc",
"merkleroot": "f3c41bf363fe94eb448bf924f791f77c22a2ebd6a3a5d8948f8aff019f072bea",
"nonce": "2719fef5",
"pow": {
"floatSha256t": 0.010330632328987122,
"floatVerus": 6.267357060779177e-13,
"hashSha256t": "02a507400db273886cd1bdc61e05bc4bde6978d74ce6e48d33a46fa705c59ae1",
"hashVerus": "0000000000b069112cc0caf14507169f6adf1e5278a2ef286cddc89f1162d7ca",
"verusV2.2": true
},
"prevHash": "05b42d206f8a4b2b8094199fd28423151af8aa54a5073ac6e6805f42096dc3a2",
"raw": "05b42d206f8a4b2b8094199fd28423151af8aa54a5073ac6e6805f42096dc3a20ae7cde7f3c41bf363fe94eb448bf924f791f77c22a2ebd6a3a5d8948f8aff019f072bea0000000366f2fefb2719fef5",
"target": "0ae7cde7",
"timestamp": 1727201019,
"utc": "2024-09-24 18:03:39 UTC",
"version": "00000003"
},
"height": 1949766,
"timestamp": 1727201019,
"utc": "2024-09-24 18:03:39 UTC"
}
]
}
}
Subscribe to connection state and deltas. After subscription, a connection.state message is sent. New connections trigger a connection.add message while removed connections trigger a connection.remove message.
Subscribe
{"action": "subscribe", "topic": "connection"}
Event types
connection.state
{
"connections": [
{
"id": 22,
"inbound": false,
"peerAddr": "tcp://213.199.59.252:20016",
"since": 0
},
...
{
"id": 1261,
"inbound": false,
"peerAddr": "tcp://51.222.248.202:9186",
"since": 0
}
],
"eventName": "connection.state",
"total": 16
}
connection.add
{
"connection": {
"id": 83,
"inbound": false,
"peerAddr": "tcp://65.21.76.159:9186",
"since": 0
},
"eventName": "connection.add",
"total": 3
}
connection.remove
{
"eventName": "connection.remove",
"id": 83,
"total": 2
}