Skip to content

Use this page to understand the ledger fields used by blockchain indexers in Ripple Custody. The example shows one possible configuration shape; node endpoints, credentials, providers, and indexer resource values depend on your deployment.

This page applies to on-premise deployments only. For current defaults and the full supported schema, use the configuration packaged with your release.

What this config controls

Indexers connect to blockchain nodes, index on-chain data, and expose APIs used by Ripple Custody to query transaction history, balances, and blockchain state.

Ledger connection fields are configured under harmonize.ledgers. Indexer deployment settings, where exposed, are configured under indexers. Internal image references, ports, and environment variables are managed by the release package unless explicitly exposed in your values.

Common ledger fields

FieldTypeDefaultDescription
enabledbooleanfalseEnables the ledger/network entry.
uristring""Node or indexer URI for integrations that use one endpoint field.
urlstring""Node or indexer URL for integrations that use URL plus optional credential fields.
nodeEndpointstring""Node endpoint used by Bitcoin-family indexer configuration.
userstring""Username for endpoint authentication.
passwordstring""Password for endpoint authentication.
fallbackFeeRateinteger100Bitcoin-family fallback fee rate in satoshi/vByte.
wsstring""WebSocket endpoint.
sidecarstring""Substrate sidecar URL. Also accepts ws_sidecar_url or ws_sidecar where supported.
passphrasestring""Network passphrase for ledgers that require one.
httpstring""HTTP endpoint.

Indexer field patterns

IndexerConfiguration locationLedger/network entriesLedger fields
NBXplorerindexers.nbxplorerbitcoin, litecoin, dogecoin, dash; regtest-1, testnet, mainnetenabled, nodeEndpoint, url, user, password, fallbackFeeRate
ETH Indexerindexers.ethindexerethereum, polygon, avalanche-c-chain, bsc; see Blockchain nodes configuration for network namesenabled, uri
XRP Indexerindexers.xrplindexerxrpl; regtest-1, devnet, testnet, mainnetenabled, uri
Tezos Indexerindexers.xtzindexertezos; sandbox, testnet, mainnetenabled, uri
Substrate Indexerindexers.substrate-indexersubstrate; dev, polkadot, kusama, westendenabled, ws, sidecar
Stellar Indexerindexers.stellar-indexerstellar; devnet, mainnetenabled, url, passphrase
Solana Indexerindexers.solana-indexersolana; devnet, mainnetenabled, url, passphrase
Cardano Indexerindexers.cardanocardano; preprod, preview, testnet, mainnetenabled, http, ws
Hedera Indexerindexers.hederaindexerhedera; testnet, mainnetenabled, http
Algorand Indexerindexers.algorandindexeralgorand; testnet, mainnetenabled, http

Constraints and relationships

  • Enabled ledger entries need the endpoint fields required by that ledger/indexer pattern.
  • Bitcoin-family ledgers can use NBXplorer.
  • EVM-compatible ledgers use the ETH Indexer pattern.
  • Substrate ledgers require both WebSocket and sidecar-style connectivity.
  • If a ledger supports network.indexerUrl, you can point it at a separately deployed indexer. See Blockchain nodes configuration.

Example

This example shows a deployment values file with several indexer field patterns:

harmonize:
  ledgers:
    bitcoin:
      mainnet:
        enabled: true
        nodeEndpoint: "bitcoin-rpc.internal:8332"
        url: "https://bitcoin-indexer.example.com"
        user: "<rpc-user>"
        password: "<rpc-password>"
        fallbackFeeRate: 100

    ethereum:
      mainnet:
        enabled: true
        uri: "https://ethereum-node.example.com"

    substrate:
      polkadot:
        enabled: true
        ws: "wss://substrate-ws.example.com"
        sidecar: "https://substrate-sidecar.example.com"

    cardano:
      mainnet:
        enabled: true
        http: "https://cardano-node.example.com"
        ws: "wss://cardano-ws.example.com"