DecentralChainDecentralChain
  • Technologysubmenu
    Why DecentralChainWhat sets this chain apartHow the chain worksPublic blocks, public validatorsBlockchain featuresWhat is on, what is being voted onFinalityThe rollback bound, and what is unverifiedRIDEContracts that cannot run foreverFor machinesUnsigned transactions and RIDE in processSolana bridgePhantom and Solflare, mainnet onlyNetwork statusHeight, sync and peers, read live
  • Ecosystemsubmenu
    DCC public saleOpens 26 SeptemberDecentralCoinSupply, allocation and tokenomicsDecentral.ExchangeexternalDecentralPropDecentralScansoonCubensis ConnectDecentralAmericasoon
  • Developerssubmenu
    QuickstartRead, compile and composeREST APIEvery endpoint, no key, no accountSDK packages19 on npm, 5 in the workspaceSigningAuthorising without custodyMCP & AgentsThe chain, and the tools we have builtDecentralChain NodeRun a validator, and what LPoS pays
  • Communitysubmenu
    ChannelsTelegram, X and the reposDCC AirdropAllocated, not yet arrangedGovernanceWho can actually decide anythingBrand kitThe mark, and how to use it
  • Documentation
XGitHub
Start buildingarrow
DecentralChainDecentralChain

An open Layer-1 with Leased Proof of Stake.

Native token: DecentralCoin (DCC)

Fixed supply 100,000,000 DCC
Minted at genesis, never inflated

  • X
  • GitHub
  • Telegram

Build

  • Quickstart
  • REST API
  • SDK packages
  • Signing
  • MCP & Agents
  • Documentation

Ecosystem

  • DCC public sale
  • DecentralCoin
  • Decentral.Exchange
  • DecentralProp
  • DecentralSwap
  • Cubensis Connect

Network

  • Blockchain features
  • Finality
  • RIDE
  • Solana bridge
  • Run a node
  • Network status

Project

  • Community
  • DCC Airdrop
  • Governance
  • Brand kit
  • GitHub
mainnetHeight—Node—read from your browser
© 2026 DecentralChainOperated by DecentralExchange · Cédula Jurídica 3-102-956858
Jacó, Garabito, Costa Rica
TermsPrivacySecurityLicensingdecentralchain.io

REST API

Read the chain
with no key

Every endpoint below was called against the mainnet node and answered. Nothing here is inherited from an upstream API document: where this chain differs from the codebase it was forked from, what is written down is what mainnet actually does today.
Basemainnet-node.decentralchain.ioAuthNoneNodeDCC v1.3.5

On this page

  • Base URL and CORS
  • Chain state
  • Accounts and assets
  • Network and consensus
  • Where mainnet differs
  • Pointing it at your own node

Base URL and CORS

The public mainnet node is https://mainnet-node.decentralchain.io. There is no API key, no account and no rate limit to negotiate. It reflects the request Origin header, so a page on any domain can read it straight from the browser, which is how the live figures elsewhere on this site are fetched.

try it
curl -s https://mainnet-node.decentralchain.io/blocks/height
Note
This node is a convenience, not infrastructure you should depend on. Anything with users behind it should run its own node and point at that. The last section covers it.

Chain state

GET /blocks/height

{ height }

{"height":2325029}

GET /blocks/headers/last

height, id, generator, timestamp, transactionCount, blocksize, signature, nxt-consensus.base-target, VRF

GET /blocks/last

The full last block, transactions included.

GET /node/status

{ blockchainHeight, stateHeight, updatedTimestamp, updatedDate }

{"blockchainHeight":2325029,"stateHeight":2325029,
 "updatedTimestamp":1788286810695,
 "updatedDate":"2026-09-01T18:20:10.695Z"}

GET /node/version

{ version }

{"version":"DCC v1.3.5"}

Accounts and assets

Balances are returned in dcclets. One DCC is 100,000,000 dcclets, so divide by 1e8 before showing a figure to anyone.

GET /addresses/balance/{address}

{ address, confirmations, balance } — balance in dcclets, 8 decimals

{"address":"3DhKtKgynxyh9K2YrEMLgLBM8AMuLkKdkRn",
 "confirmations":0,
 "balance":2003965409300000}

GET /addresses

Addresses held in the node wallet, not the whole chain.

GET /assets/details

Asset metadata by id.

Careful
GET /addresses lists the node's own wallet, not the chain. On the public node that is an empty or irrelevant set. It is not a way to enumerate accounts, and no such endpoint exists.

Network and consensus

GET /activation/status

height, votingInterval, votingThreshold, and every feature with its blockchainStatus

GET /consensus/algo

{ consensusAlgo }

{"consensusAlgo":"Fair Proof-of-Stake (FairPoS)"}

GET /peers/connected

{ peers } — who this node is talking to right now.

/activation/status is the interesting one: it is the network's own account of which protocol features are on, which are being voted on, and at what height each activated. The features page renders it live.

Where mainnet differs

Careful
GET /blocks/height/finalized is not on mainnet. It returns HTTP 400, because the node parses finalized as a block signature. That endpoint comes from a testnet finality spec and calling it against mainnet will not fail in a way that looks like a missing feature.

GET /blockchain/rewards returns error 199, not data. Block rewards are feature 14 and it has never activated, so there is no reward state to report. Treat the 400 as the answer rather than as an outage.

GET /debug/configInfo returns 403 on the public node, as it should. Debug routes are not exposed and should stay that way on any node you run.

Pointing it at your own node

The same API is what your own node serves, on port 6869. Nothing in this reference is specific to the hosted node, so swapping the base URL is the whole migration.

your node
curl -s http://localhost:6869/blocks/height

On mainnet the REST API binds to 127.0.0.1 by default. Leave it that way unless you mean to publish it, and put a reverse proxy in front if you do. The node page covers running one.

Next

SDK packages

The TypeScript and JVM libraries that wrap this API, and which of them you can actually install.