Node

The node resource is essential for obtaining critical information about the node's operational status, network configuration, and fee statistics. This resource is particularly useful for service discovery, health checks, and understanding the current state of the network as perceived by the node.

Note that the information returned by these endpoints reflects the state and configuration of the specific node being queried. Other nodes in the network might return different results depending on their configuration and status.


GET/node/status

Retrieve the Node Status

This endpoint provides the current status of the node, including synchronization status and block height information. It can be used to check the health and synchronization state of the node with the network.

Request

GET
/node/status
curl https://testnet.mainsailhq.com/api/node/status

Response

{
  "data": {
    "blocksCount": -53195,
    "now": 84164,
    "synced": true,
    "timestamp": 1725477066
  }
}

GET/node/syncing

Retrieve the Syncing Status

This endpoint provides information about the node's syncing status. It is useful for determining whether the node is currently in the process of synchronizing with the network and how far behind (or ahead) it is in terms of block height.

Request

GET
/node/syncing
curl https://testnet.mainsailhq.com/api/node/syncing

Response

{
  "data": {
    "blocks": -65292,
    "height": 671912,
    "id": 1,
    "syncing": false
  }
}

GET/node/configuration

Retrieve the Node Configuration

This endpoint retrieves the current configuration of the node, including various network constants, fee structures, and blockchain parameters. It is useful for understanding the operational environment of the node, such as transaction limits, block times, and network specifications.

Request

GET
/node/configuration
curl https://testnet.mainsailhq.com/api/node/configuration

Response

{
  "data": {
    "constants": {
      "gas": {
        "minimumGasFee": 5,
        "maximumGasLimit": 2000000,
        "minimumGasLimit": 21000,
        "nativeGasLimits": {
          "vote": 50000,
          "transfer": 21000,
          "multiPayment": 50000,
          "multiSignature": 50000,
          "usernameResignation": 50000,
          "usernameRegistration": 100000,
          "validatorResignation": 50000,
          "validatorRegistration": 100000
        },
        "nativeFeeMultiplier": 100
      },
      "fees": {
        "staticFees": {
          "vote": 100000000,
          "transfer": 10000000,
          "multiPayment": 10000000,
          "multiSignature": 500000000,
          "usernameResignation": 2500000000,
          "usernameRegistration": 2500000000,
          "validatorResignation": 2500000000,
          "validatorRegistration": 2500000000
        }
      },
      "block": {
        "version": 1,
        "maxPayload": 2097152,
        "maxGasLimit": 10000000,
        "maxTransactions": 150
      },
      "epoch": "2024-08-27T00:00:00.000Z",
      "height": 75600,
      "reward": "2000000000000000000",
      "address": {
        "keccak256": true
      },
      "evmSpec": "Shanghai",
      "satoshi": {
        "decimals": 18,
        "denomination": 1000000000000000000
      },
      "timeouts": {
        "blockTime": 8000,
        "tolerance": 100,
        "stageTimeout": 2000,
        "blockPrepareTime": 4000,
        "stageTimeoutIncrease": 2000
      },
      "activeValidators": 53,
      "multiPaymentLimit": 256,
      "vendorFieldLength": 255
    },
    "core": {
      "version": "0.0.1-evm.2"
    },
    "explorer": "",
    "nethash": "23f7ed70542c797394f81c45b9afa3b076ffbb221fd3b7a7659f3a273ece0673",
    "ports": {},
    "slip44": 1,
    "symbol": "TѦ",
    "token": "ARK",
    "transactionPool": {
      "dynamicFees": {
        "enabled": false
      }
    },
    "version": 30,
    "wif": 186
  }
}

GET/node/configuration/crypto

Retrieve the Node Crypto Configuration

This endpoint retrieves the crypto configuration of the node. It provides detailed information about the network settings, milestones, and the genesis block that defines the network.

Request

GET
/node/configuration/crypto
curl https://testnet.mainsailhq.com/api/node/configuration/crypto

Response

{
  "data": {
    "network": {
      "wif": 186,
      "name": "testnet",
      "client": {
        "token": "ARK",
        "symbol": "TѦ",
        "explorer": ""
      },
      "slip44": 1,
      "nethash": "23f7ed70542c797394f81c45b9afa3b076ffbb221fd3b7a7659f3a273ece0673",
      "pubKeyHash": 30,
      "messagePrefix": "testnet message:\n"
    },
    "milestones": [
      // List of milestone objects
    ],
    "genesisBlock": {
      "block": {
        "hash": "a95e5eab395803cccfb13459d15d79225ee9c5b4c6b257d0e0dacab7864b5c8b",
        "round": 0,
        "number": 0,
        "reward": "0",
        "version": 1,
        "fee": "0",
        "stateRoot": "0000000000000000000000000000000000000000000000000000000000000000",
        "timestamp": "1724753709339",
        "transactionsRoot": "23f7ed70542c797394f81c45b9afa3b076ffbb221fd3b7a7659f3a273ece0673",
        "amount": "124999999999999999999999959",
        "gasUsed": 14363000,
        "transactions": [
          {
            "hash": "e1ee2582e8ffe3865b2e7b7edd6b5dfa25c21d9994562731990fa3bad3bae4f2",
            "fee": "0",
            "type": 0,
            "nonce": "1",
            "value": "2358490566037735849056603",
            "network": 30,
            "version": 1,
            "sequence": 0,
            "signature": "910db4c35f0192f1b1acecc5f87854d002ced76e5358bc8cde056c338219ee0b494fe0da064104a4856faabc4b9078c50a49552610d8816bc1bfd9bc90eb252d",
            "typeGroup": 1,
            "expiration": 0,
            "recipientId": "0xfEAf2f24ba1205e9255d015DFaD8463c70D9A466",
            "senderPublicKey": "033e78b697c509a3159c9a8b039e9cd349562f36b25a62056d8bbb5d3ab253efb1"
          }
          // Additional transactions...
        ],
        "payloadSize": 39529,
        "parentHash": "0000000000000000000000000000000000000000000000000000000000000000",
        "proposer": "0xfEAf2f24ba1205e9255d015DFaD8463c70D9A466",
        "transactionsCount": 212
      },
      "proof": {
        "round": 0,
        "signature": "",
        "validators": []
      },
      "serialized": "..."
    }
  }
}

GET/node/fees

Retrieve the Node Fee Statistics

This endpoint retrieves the fee statistics for various transaction types processed by the node. The statistics include the average, maximum, minimum, and total fees over a specified period.

Request

GET
/node/fees
curl https://testnet.mainsailhq.com/api/node/fees

Response

{
  "data": {
    "evmCall": {
        "avg": "97559407401",
        "max": "146207682933",
        "min": "5000000000",
        "sum": "1951188148038"
    }
  },
  "meta": {}
}