Portal Community

Shared Input Pattern

Every operation takes resource and operation, plus its own operation-specific fields. Unlike some other chain nodes, network is not a blanket third key here — whether it's needed (and which field plays its role) depends on the operation:

OperationNetwork-ish FieldRequired?
account.getBalancenetwork✓ Yes — calls the chain
utility.chainInfonetwork✓ Yes — calls the chain
utility.validateAddress— noneNot used — local only
utility.convertAddresstargetNetwork (a distinct field)✓ Yes — but it's a re-encoding target, not an RPC target
utility.convertUnits— noneNot used — local only
utility.convertRate— noneNot used — local only
No default network. Where network is required, there is no DefaultNetwork-style fallback to fall back to — omitting it returns CFG_MISSING_NETWORK rather than silently picking mainnet. See Networks.

All Config Keys

KeyUsed By
resourceEvery operation — account or utility
operationEvery operation — the operation name within that resource
networkaccount.getBalance, utility.chainInfo
addressaccount.getBalance, utility.validateAddress, utility.convertAddress
targetNetworkutility.convertAddress
amountutility.convertUnits
fromUnit / toUnitutility.convertUnits
decimalsutility.convertUnits
rateutility.convertRate
directionutility.convertRate

Shared Output Shape

A successful call returns a JSON object whose fields are documented on each operation's page, plus a status: "success" field. There's no additional wrapper envelope — the fields listed on each operation page are the output.

How Errors Surface

Every error, regardless of cause, surfaces via the node's error output port with the same structured shape:

{
  "errorCode": "CFG_CHAIN_UNAVAILABLE",
  "message": "...",
  "status": "error"
}
SituationWhat happens
Missing required fieldA CFG_MISSING_* code, checked before any network call is attempted.
Unknown/unconfigured network or targetNetworkCFG_INVALID_NETWORK, before any HTTP call is made.
Malformed SS58 addressVAL_INVALID_SS58_ADDRESS.
Address prefix doesn't match the selected networkVAL_NETWORK_MISMATCH.
Substrate RPC endpoint unreachable or times outCHAIN_RPC_UNAVAILABLE / CHAIN_TIMEOUT — see Troubleshooting.
Attempting a write (e.g. account.transfer)CHAIN_SIGNING_NOT_AVAILABLE — see Roadmap.
Idempotent by nature. Every operation shipped today is either a read or a pure local conversion, so calling the same operation twice with the same input is always safe — there's no risk of double-submitting an extrinsic. That changes once signed writes ship; see Roadmap.