Skip to main content

Get Node Info

Returns basic information about a ULedger node, including its current software version, node identifier, and peer identifier on the network.

Request

GET /

When using the dev node, the full URL is:
https://tn-w-1.uledger.net//

Response

On success, the endpoint returns a JSON object with the following fields:

  • nodeVersion – String representing the current node software version or build.
  • nodeId – The public identifier of this node on the ULedger network (typically a long hex-encoded public key).
  • peerId – The libp2p peer ID used by this node when connecting to other peers.

Example response

{

"nodeVersion": "9373386",
"nodeId": "04A78BDDB8EF9D9048F7A6D9F9D4DF53839D28554C9ABB1E4B4A27BF25CA23F80C925D0E4CF825E6A5DCDFA551507A418ABD9ACF489CC4D20644CD4AC19A1779C5",
"peerId": "12D3KooWEPdufv8LnWqkqyRXunYNRDmiZ1cYUTeT6vHiGY8FBugT"
}
curl -X GET -L https://tn-w-1.uledger.net// | jq

Get Node Health

Returns a combined health snapshot for this ULedger node, including its software version, node identifier, network connectivity, and the list of blockchains it is currently tracking. This one provides an overview of the node's status and connectivity.

Request

GET /health

For the dev node, the full URL is:
https://tn-w-1.uledger.net//health

Response

On success, the endpoint returns a JSON object with the following fields:

  • nodeVersion – String representing the current node software version or build.
  • nodeId – The public identifier of this node on the ULedger network (typically a long hex-encoded public key).
  • network – Object describing P2P network status:
    • networkType – Type of network (for example, p2p).
    • peerCount – Number of peers currently connected.
    • peerId – This node's libp2p peer ID.
    • networkPeers – Array of peer IDs this node is connected to.
  • blockchains – Array of blockchain identifiers that this node is tracking.

Example response

{

"nodeVersion": "9373386",
"nodeId": "04A78BDDB8EF9D9048F7A6D9F9D4DF53839D28554C9ABB1E4B4A27BF25CA23F80C925D0E4CF825E6A5DCDFA551507A418ABD9ACF489CC4D20644CD4AC19A1779C5",
"network": {
"networkType": "p2p",
"peerCount": 9,
"peerId": "12D3KooWEPdufv8LnWqkqyRXunYNRDmiZ1cYUTeT6vHiGY8FBugT",
"networkPeers": [
"12D3KooWRsMAxQbBypJaDD4VrqxCEiNR1W9Ayj6vDAF8pQ2qwCdX",
"12D3KooWDbHuY1gn4fWkhbyKVRyFU1t1678rzdNUEbfdVbPaADYW",
"12D3KooWPxsRpT133cgBire1NHvaXnqLuvYtdySGPkRfNgYwkK21",
"12D3KooWNxwUTaerJJcUPNjS3xrwTTZNsfZVi9nZ6eSYXCvBZcfi",
"12D3KooWBoU3AJFfp6UEUn7gcNfKYwW1Le7iZgT1Hb8dh5J1gB4c",
"12D3KooWLq1ZSwz1KABjGY4ZBT8Z25MkGfz79X6xkGJs11Mc11PV",
"12D3KooWRL7UbgUUEg3N2jePTEc1ZAG2a7gqyrSiTz7YnVfuKuRi",
"12D3KooWLJzDBqzPrMnYkahBX4ptLoKd4eWJxZeDpFhg328JkBgX",
"12D3KooWNYcV3Z6gFjGcmFGEPWr7wLVW28bHDEyHZChB1UC9WrBB"
]
},
"blockchains": [
"08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2"
]
}
curl -X GET -L https://tn-w-1.uledger.net//health | jq

List Blockchains

Returns the list of blockchain identifiers that this node is currently aware of or managing.

Request

GET /blockchains

For the dev node, the full URL is:
https://tn-w-1.uledger.net//blockchains

Response

On success, the endpoint returns a JSON array of strings. Each entry is a unique blockchain identifier (for example, a hash or logical ID).

Example response

[

"08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2"
]

In this example, the node is tracking two blockchains, identified by the two hashes in the array.

curl -X GET -L https://tn-w-1.uledger.net//blockchains | jq

Get Blockchain Info

Returns detailed information about a specific blockchain managed by this node, including height, council status, consensus configuration, and connected peers.

Request

GET /blockchains/{blockchainId}

For the example blockchain, the full URL is:
https://tn-w-1.uledger.net//blockchains/08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2

Path parameters

  • blockchainId – The blockchain identifier returned by GET /blockchains.

Response

The response contains structural and status information:

  • blockHeight – Current height (latest block index) of this blockchain.
  • lastMessageTime – Timestamp of the last processed message or block.
  • keyType – Type of consensus/public keys used (e.g. secp256k1).
  • isInCouncil – Whether this node is a council member.
  • isVoting, isTimeToVote – Voting state flags for the current round.
  • syncing – Indicates if the node is currently syncing this chain.
  • pendingMessagesCount, delayedMessagesCount, pendingTransactions – Queued items still to be processed.
  • councilMembers – Array of council member public keys.
  • voteSessions – Active vote sessions keyed by session ID (height, round, leader, and required votes).
  • consensus – Consensus configuration (type, thresholds, timeouts).
  • features – Feature flags enabled for this blockchain.
  • blockchainPeers – List of peer IDs participating in this blockchain.

Example response

{

"blockHeight": 2275,
"lastMessageTime": "2025-11-25T16:20:53Z",
"keyType": "secp256k1",
"isInCouncil": true,
"isVoting": false,
"isTimeToVote": false,
"syncing": false,
"pendingMessagesCount": 0,
"delayedMessagesCount": 0,
"pendingTransactions": 0,
"councilMembers": [
"02F94D90705053FFFCBC79AFB6A058E2F66FAE707FE86E1381779F085A59524F46",
"0306CE9B36888DEB9593FE021182C1CCCCCE6BB1277BD311D868F113685BB4EF0A",
"035229CC755EFEAD01FA0E9D4EA22CD356D0A6E385B10B82859083924356C9D555",
"03A78BDDB8EF9D9048F7A6D9F9D4DF53839D28554C9ABB1E4B4A27BF25CA23F80C"
],
"voteSessions": {
"f0c3d1eddf9a480c6cbedb864629cde761342a6407d028ebefc38d45c498ef7d": {
"sessionId": "f0c3d1eddf9a480c6cbedb864629cde761342a6407d028ebefc38d45c498ef7d",
"blockHash": "",
"blockHeight": 2276,
"round": 418,
"currentStage": 0,
"currentLeader": "02F94D90705053FFFCBC79AFB6A058E2F66FAE707FE86E1381779F085A59524F46",
"consensusRequired": 2
}
},
"consensus": {
"consensusType": "council_leader_proposal",
"txKarmaThreshold": 5,
"txMintThreshold": 1,
"txMaxTimeTrigger": "1h0m0s",
"minMembers": 4,
"consensusTimeout": "30m0s"
},
"features": {
"enableJoinCouncilOnStartup": false,
"enableXMOnBlockMint": false,
"enableTxProof": false
},
"blockchainPeers": [
"12D3KooWLq1ZSwz1KABjGY4ZBT8Z25MkGfz79X6xkGJs11Mc11PV",
"12D3KooWRsMAxQbBypJaDD4VrqxCEiNR1W9Ayj6vDAF8pQ2qwCdX",
"12D3KooWPxsRpT133cgBire1NHvaXnqLuvYtdySGPkRfNgYwkK21",
"12D3KooWNxwUTaerJJcUPNjS3xrwTTZNsfZVi9nZ6eSYXCvBZcfi",
"12D3KooWNYcV3Z6gFjGcmFGEPWr7wLVW28bHDEyHZChB1UC9WrBB",
"12D3KooWRL7UbgUUEg3N2jePTEc1ZAG2a7gqyrSiTz7YnVfuKuRi",
"12D3KooWDbHuY1gn4fWkhbyKVRyFU1t1678rzdNUEbfdVbPaADYW",
"12D3KooWLJzDBqzPrMnYkahBX4ptLoKd4eWJxZeDpFhg328JkBgX"
]
}
curl -X GET -L https://tn-w-1.uledger.net//blockchains/{blockchainId} | jq

Get Block by Height (query)

Some ULedger deployments also expose a query-parameter variant for fetching a block by height. This is functionally equivalent to GET /blockchains/{blockchainId}/blocks{height}, but uses a height query parameter instead of a path segment.

Request

GET /blockchains/{blockchainId}/blocks?height={height}

For a local development node, the full URL might look like:
http://my.node1.uledger.io/blockchains/08c28f29a62819120958984b761ddf8ccb45951612731409873994958fd150a2/blocks?height=4

Path parameters

  • blockchainId – The blockchain identifier (one of the values returned by GET /blockchains).

Query parameters

  • height – The numeric height (index) of the block to fetch.

Response

The response body is the same block object described in Get Block above (same fields and structure). Refer to that section for a full example and field breakdown.

curl -X GET -L http://my.node1.uledger.io/blockchains/{blockchainId}/blocks\?height\=4 | jq