DecentralChain Node integration
Read the DecentralChain (DCC) blockchain through the public Mainnet node pool: account balances in DCC and tokens, data entries, aliases, scripts, tokens and their holders, NFTs, leases, blocks and transactions (by id, by address, status, merkle proofs, the unconfirmed pool). Price a transaction, broadcast one you already signed (irreversible), compile, decompile and estimate Ride scripts, evaluate a dApp expression, and hash text. Amounts are integers in Decentralites (1 DCC = 100,000,000) or in a token's smallest unit. Left out: the node operator's routes (node wallet and seeds, signing with the node wallet, peers, debug, stop), random seed generation (key material from a node you do not run), the deprecated compile and distribution routes, and the block reward routes (the reward feature is not active on Mainnet, they answer error 199). Everything returned is public on-chain data. No credential: the public node answers without a key, and nothing here can sign for you.
Say what should happen.
The workflow builds itself.
What you can do with DecentralChain Node
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Each badge shows the default agent permission of an endpoint (allowed: an agent calls it without asking; ask first: you are asked before an agent calls it, when the agent or chat asks permission for sensitive actions; never: no agent may call it), which every user can change endpoint by endpoint in their credential settings.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Balance, 7 operations
get_balanceGet balanceGETAgents: ask firstReturns the regular DCC balance of one address in Decentralites (1 DCC = 100,000,000), with the address and confirmations (0 for the current state).get_balance_detailsGet balance detailsGETAgents: ask firstReturns an address's DCC balances in Decentralites (1 DCC = 100,000,000): regular (all it owns, outgoing leases included), available (spendable), effective (counts for block generation) and generating (lowest effective over the last 1000 blocks).get_confirmed_balanceGet confirmed balanceGETAgents: ask firstReturns the lowest regular DCC balance an address held over the last N blocks (confirmations), in Decentralites (1 DCC = 100,000,000). N is at most 2000 blocks back by default (the node setting max-rollback-depth).get_confirmed_effective_balanceGet confirmed effective balanceGETAgents: ask firstReturns the lowest effective DCC balance an address held over the last N blocks (confirmations), in Decentralites (1 DCC = 100,000,000). N is at most 2000 blocks back by default (the node setting max-rollback-depth).get_effective_balanceGet effective balanceGETAgents: ask firstReturns the effective DCC balance of an address in Decentralites (1 DCC = 100,000,000): what it can spend, plus DCC leased to it, minus DCC it leases out. This is the balance that counts for block generation.list_balancesList balancesGETAgents: ask firstReturns the regular DCC balance of several addresses, one {id, balance} per address, id being the address and balance in Decentralites (1 DCC = 100,000,000). height reads a past block. For long lists use list_balances_bulk.list_balances_bulkList balances bulkPOSTAgents: ask firstSame as list_balances with the addresses in the request body instead of the URL, for long lists (up to 1000 by default). Returns one {id, balance} per address, balance in Decentralites (1 DCC = 100,000,000).
Script, 6 operations
compile_scriptCompile scriptPOSTAgents: ask firstCompiles Ride source code into the base64 script a SetScript or SetAssetScript transaction carries, with its complexity, callable function complexities and extra fee. A compilation error answers error 305.compile_script_with_importsCompile script with importsPOSTAgents: ask firstCompiles Ride source code that imports library files, given in imports as a map of file name to Ride source. Returns the base64 script, its complexity, callable function complexities and extra fee.decompile_scriptDecompile scriptPOSTAgents: ask firstDecompiles a compiled script (base64) back into Ride source text, returned in script. Nothing is stored or sent to the chain.estimate_scriptEstimate scriptPOSTAgents: ask firstReturns the complexity of a compiled script (base64): overall, verifier and per callable function, the extra fee it adds to each transaction, and the script text.get_script_infoGet script infoGETAgents: ask firstReturns the script attached to an address (smart account or dApp): compiled script (base64, null when none), script text, version, complexity, verifier and callable function complexities, and the extra fee it adds.get_script_metaGet script metaGETAgents: ask firstReturns the callable functions of the dApp at an address with their argument names and types (meta.callableFuncTypes) and the script version. Only address comes back when the address has no dApp script.
Block, 5 operations
get_blockGet blockGETAgents: ask firstReturns a block by its ID with all its transactions. Use get_block_header to leave out the transactions.get_block_at_heightGet block at heightGETAgents: ask firstReturns the block at a height with all its transactions: id, timestamp, generator, fees, size, reward vote and the transaction list. Use get_block_header_at_height to leave out the transactions.get_last_blockGet last blockGETAgents: ask firstReturns the latest block (current height) with all its transactions. Use get_last_block_header to leave out the transactions.list_blocksList blocksGETAgents: ask firstReturns the blocks between two heights (inclusive, at most 100 blocks apart) with all their transactions. Use list_block_headers to leave out the transactions.list_blocks_by_generatorList blocks by generatorGETAgents: ask firstReturns the blocks an address generated between two heights (inclusive, at most 100 blocks apart), each with its header fields and transactions.
Transaction, 5 operations
broadcast_transactionBroadcast transactionPOSTAgents: ask firstSends a transaction you already signed to the network: once in a block it is irreversible and can move funds. Pass the complete signed transaction JSON; returns it as accepted. Follow it with list_transaction_statuses.get_transactionGet transactionGETAgents: ask firstReturns a confirmed transaction by ID with its type-specific fields, height and applicationStatus (succeeded or script_execution_failed). Use get_unconfirmed_transaction for one still waiting in the pool.list_address_transactionsList address transactionsGETAgents: ask firstReturns the latest transactions involving an address, newest first, wrapped in an outer list ([[tx, ...]]). Page with after (the last transaction ID received); stop when a page holds fewer than limit (at most 1000).list_transactionsList transactionsGETAgents: ask firstReturns several confirmed transactions by id (id repeatable), each with its type-specific fields, height and applicationStatus. An id that is not in the chain fails the whole call with 404 (error 311).serialize_transactionSerialize transactionPOSTAgents: ask firstReturns the binary serialization of a transaction (bytes, an array of numbers) from its JSON. Nothing is signed or broadcast.
Block header, 4 operations
get_block_headerGet block headerGETAgents: ask firstReturns the header of a block by its ID, without its transactions: height, timestamp, generator, total fee, size, transaction count and reward vote.get_block_header_at_heightGet block header at heightGETAgents: ask firstReturns the header of the block at a height, without its transactions: id, timestamp, generator, total fee, size, transaction count, reward vote and the features it votes for.get_last_block_headerGet last block headerGETAgents: ask firstReturns the header of the latest block (current height), without its transactions: id, height, timestamp, generator, total fee, size and transaction count.list_block_headersList block headersGETAgents: ask firstReturns the headers of the blocks between two heights (inclusive, at most 100 blocks apart), without their transactions.
Lease, 4 operations
get_leaseGet leaseGETAgents: ask firstReturns one lease: sender, recipient, amount in Decentralites (1 DCC = 100,000,000), height, status (active, canceled or expired) and, once canceled, cancelHeight and cancelTransactionId.list_active_leasesList active leasesGETAgents: ask firstReturns the active leases an address takes part in, as lessor or as recipient: lease id, origin transaction, sender, recipient, amount in Decentralites (1 DCC = 100,000,000), height and status.list_leasesList leasesGETAgents: ask firstReturns several leases by id (id repeatable): sender, recipient, amount in Decentralites (1 DCC = 100,000,000), height, status (active, canceled or expired) and, once canceled, cancelHeight and cancelTransactionId.list_leases_bulkList leases bulkPOSTAgents: ask firstSame as list_leases with the lease ids in the request body, for long lists (1 to 1000 ids). Returns each lease with sender, recipient, amount, height and status (active, canceled or expired).
Block height, 3 operations
get_block_heightGet block heightGETAgents: ask firstReturns the height of a block by its ID ({height}).get_heightGet heightGETAgents: ask firstReturns the current blockchain height on the public node ({height}).get_height_by_timestampGet height by timestampGETAgents: ask firstReturns the height of the latest block whose timestamp does not exceed a given time ({height}).
Data entry, 3 operations
get_data_entryGet data entryGETAgents: ask firstReturns one data entry of an account by its exact key: key, type (string, integer, boolean or binary) and value. Answers 404 with error 304 when the key holds no data.list_data_entriesList data entriesGETAgents: ask firstReturns the data entries an account stores on chain (key, type, value): all of them, or only exact keys (key, repeatable), or keys matching a regular expression (matches). For many keys use list_data_entries_by_keys.list_data_entries_by_keysList data entries by keysPOSTAgents: ask firstSame as list_data_entries for an exact list of keys sent in the request body, for long lists (up to 1000 keys by default). Returns key, type and value of each entry found; nothing is written.
Unconfirmed transaction, 3 operations
get_unconfirmed_countGet unconfirmed countGETAgents: ask firstReturns how many transactions wait in the public node's pool (UTX) ({size}).get_unconfirmed_transactionGet unconfirmed transactionGETAgents: ask firstReturns a transaction still waiting in the pool (UTX) by ID. Use get_transaction once it is in a block.list_unconfirmed_transactionsList unconfirmed transactionsGETAgents: ask firstReturns the transactions waiting in the public node's pool (UTX), not yet in a block, with their type-specific fields.
Address, 2 operations
get_address_from_public_keyGet address from public keyGETAgents: ask firstReturns the DecentralChain Mainnet address of a public key ({address}). The address is derived, nothing is created or stored.validate_addressValidate addressGETAgents: ask firstChecks whether a string is a valid address on DecentralChain Mainnet. Returns the address and valid (true or false); nothing is looked up on chain.
Alias, 2 operations
get_address_by_aliasGet address by aliasGETAgents: ask firstResolves an alias to the address that owns it. Pass the name alone (decentralchain), not the full alias:?:decentralchain form. Answers 404 with error 302 when no address holds it.list_aliasesList aliasesGETAgents: ask firstReturns the aliases an address has created, as full alias strings (alias:?:name on Mainnet). The answer is a bare list of strings.
Asset, 2 operations
get_asset_detailsGet asset detailsGETAgents: ask firstReturns a token's details: name, description, decimals, total quantity, issuer address and public key, issue height and time, reissuable, scripted, sponsorship fee and origin transaction. full=true adds scriptDetails.list_asset_detailsList asset detailsGETAgents: ask firstReturns the details of several tokens (id repeatable, up to 100 by default): name, description, decimals, quantity, issuer, issue height and time, flags. An unknown id comes back as {error, message} in its place.
Asset balance, 2 operations
get_asset_balanceGet asset balanceGETAgents: ask firstReturns an address's balance in one token, in the token's smallest unit (divide by 10 to the power of its decimals). Answers 0 for an asset that does not exist, so check the id with get_asset_details.list_asset_balancesList asset balancesGETAgents: ask firstReturns an address's balances in every token it holds except DCC and NFTs: per token its assetId, balance (smallest unit), quantity, reissuable, sponsorship values and the token's issue transaction.
Hash, 2 operations
compute_fast_hashCompute fast hashPOSTAgents: ask firstReturns the BLAKE2b-256 hash (base58) of a text message, computed by the public node. Never send a secret: the message goes to a node you do not run.compute_secure_hashCompute secure hashPOSTAgents: ask firstReturns the secure hash (Keccak-256 of BLAKE2b-256, base58) of a text message, computed by the public node. Never send a secret such as an API key: the node's operator receives the message.
Merkle proof, 2 operations
list_merkle_proofsList merkle proofsGETAgents: ask firstReturns merkle proofs that transactions are in their blocks (id repeatable): per transaction its id, transactionIndex in the block and merkleProof (base58 hashes). Works for blocks of version 5 and later.list_merkle_proofs_bulkList merkle proofs bulkPOSTAgents: ask firstSame as list_merkle_proofs with the transaction ids in the request body, for long lists. Returns per transaction its id, transactionIndex and merkleProof.
Node, 2 operations
get_node_statusGet node statusGETAgents: ask firstReturns the public node's sync state: blockchainHeight, stateHeight and when it last updated (updatedTimestamp in milliseconds, updatedDate in ISO 8601).get_node_versionGet node versionGETAgents: ask firstReturns the software version of the public node ({version}, for example DCC v1.3.5).
Transaction status, 2 operations
list_transaction_statusesList transaction statusesGETAgents: ask firstReturns the status of transactions (id repeatable), in request order: confirmed (with height and confirmations), unconfirmed (still in the pool) or not_found, and applicationStatus once confirmed.list_transaction_statuses_bulkList transaction statuses bulkPOSTAgents: ask firstSame as list_transaction_statuses with the ids in the request body, for long lists (up to 1000 by default). Returns confirmed, unconfirmed or not_found per id, in request order.
Asset distribution, 1 operation
get_asset_distributionGet asset distributionGETAgents: ask firstReturns which addresses held a token at a recent height and how much: items maps each address to its balance (smallest unit). Page with after=lastItem while hasNext is true. limit is at most 1000.
Block delay, 1 operation
get_average_block_delayGet average block delayGETAgents: ask firstReturns the average delay in milliseconds between blocks, over the last blockNum blocks counted back from the given block.
Dapp expression, 1 operation
evaluate_expressionEvaluate expressionPOSTAgents: ask firstEvaluates a Ride expression in the context of the dApp deployed at an address (its functions and data are in scope) without sending a transaction. Returns the result with its Ride type and value.
Feature, 1 operation
get_feature_activation_statusGet feature activation statusGETAgents: ask firstReturns the activation state of every blockchain feature: current height, votingInterval, votingThreshold, nextCheck, and per feature its id, description, blockchainStatus (VOTING, APPROVED or ACTIVATED) and nodeStatus.
Nft, 1 operation
list_nftsList nftsGETAgents: ask firstReturns up to limit NFTs (non-fungible tokens) held by an address, with each token's details. Page with after (the last assetId received) and stop when a page holds fewer than limit. limit is at most 1000.
Node time, 1 operation
get_node_timeGet node timeGETAgents: ask firstReturns the node's clock in milliseconds since the Unix epoch: system (its local clock) and NTP (its corrected time). A transaction timestamp too far from this time is refused (error 303).
Transaction fee, 1 operation
calculate_transaction_feeCalculate transaction feePOSTAgents: ask firstReturns the minimum fee for a transaction before you sign it: feeAmount and feeAssetId (null for DCC). Pass the transaction JSON with its type and senderPublicKey; fee and sender are ignored. Nothing is sent.
Use DecentralChain Node from Claude Code, Cursor or Codex
Connect DecentralChain Node in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its DecentralChain Node operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect DecentralChain Node
- Create your workspace
Sign up free. Nothing to install.
- Connect DecentralChain Node once
DecentralChain Node needs no credential, so its tools work immediately.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
DecentralChain Node integration FAQ
What can you do with the DecentralChain Node integration?
LiveContext exposes 63 operations on DecentralChain Node, covering balance, script, block and transaction.
