Skip to content

Use this page to understand how blockchain node endpoints relate to ledger and indexer configuration in Ripple Custody. The example shows one possible node/indexer shape; your node provider, endpoint URLs, credentials, and 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

Blockchain indexers connect to blockchain nodes, index chain data, and expose blockchain state to Ripple Custody. In deployment configuration, node endpoints are usually supplied through harmonize.ledgers.

You can point a ledger at:

  • A self-hosted node endpoint.
  • A managed node provider endpoint.
  • A separately deployed indexer, using network.indexerUrl where supported.

Supported networks

The following network names are documented for this release:

IndexerNetwork nameLedgerDescription
Bitcoin Regression Testing Networkregtest-1BitcoinOften used for local testing.
Bitcoin Testing NetworktestnetBitcoinUsed for testing purposes.
Bitcoin Main NetworkmainnetBitcoinMain network.
Litecoin Regression Testing Networkregtest-1LitecoinOften used for local testing.
Litecoin Testing NetworktestnetLitecoinUsed for testing purposes.
Litecoin Main NetworkmainnetLitecoinMain network.
Dogecoin Regression Testing Networkregtest-1DogecoinOften used for local testing.
Dogecoin Testing NetworktestnetDogecoinUsed for testing purposes.
Dogecoin Main NetworkmainnetDogecoinMain network.
Dash Regression Testing Networkregtest-1DashOften used for local testing.
Dash Testing NetworktestnetDashUsed for testing purposes.
Dash Main NetworkmainnetDashMain network.
Go Ethereum Private Development Networkgeth-devEthereumDevelopment environment.
Ethereum Parity Technologies Development Networkparity-devEthereumDevelopment environment.
Ethereum Holesky Test Networktestnet-holeskyEthereumUsed for testing purposes.
Ethereum Sepolia Test Networktestnet-sepoliaEthereumUsed for testing purposes.
Ethereum Main NetworkmainnetEthereumMain network.
Ethereum PoW Main Networkpow-mainnetEthereumMain network.
Polygon Amoy Test Networktestnet-amoyPolygonUsed for testing purposes.
Polygon Main NetworkmainnetPolygonMain network.
Avalanche C Chain Fuji Test Networktestnet-fujiAvalanche C ChainUsed for testing purposes.
Avalanche C Chain Main NetworkmainnetAvalanche C ChainMain network.
Binance Smart Chain Test NetworktestnetBinance Smart ChainUsed for testing purposes.
Binance Smart Chain Main NetworkmainnetBinance Smart ChainMain network.
XRP Ledger Development NetworkdevnetXRP LedgerDevelopment environment.
XRP Ledger Regression Testing Networkregtest-1XRP LedgerOften used for local testing.
XRP Ledger Testing NetworktestnetXRP LedgerUsed for testing purposes.
XRP Ledger Main NetworkmainnetXRP LedgerMain network.
Tezos Sandbox NetworksandboxTezosOften used for local testing.
Tezos Testing NetworktestnetTezosUsed for testing purposes.
Tezos Main NetworkmainnetTezosMain network.
Substrate Development NetworkdevSubstrateDevelopment environment.
Substrate Testing Network (Westend)westendSubstrateUsed for testing purposes.
Substrate Staging Network (Kusama)kusamaSubstrateStaging network.
Substrate Main Network (Polkadot)polkadotSubstrateMain network.
Stellar Development NetworkdevnetStellarDevelopment environment.
Stellar Main NetworkmainnetStellarMain network.
Solana Development NetworkdevnetSolanaDevelopment environment.
Solana Main NetworkmainnetSolanaMain network.
Cardano Testing NetworktestnetCardanoUsed for testing purposes.
Cardano Preview NetworkpreviewCardanoOften used for local testing.
Cardano Pre-Prod NetworkpreprodCardanoPre-production network.
Cardano Main NetworkmainnetCardanoMain network.
Hedera Testing NetworktestnetHederaUsed for testing purposes.
Hedera Main NetworkmainnetHederaMain network.
Algorand Testing NetworktestnetAlgorandUsed for testing purposes.
Algorand Main NetworkmainnetAlgorandMain network.

Configuration fields

Ledger-specific fields vary by chain, but the common relationship is:

FieldDescription
harmonize.ledgers.<ledger>.<network>.enabledEnables a ledger/network entry.
harmonize.ledgers.<ledger>.<network>.uriNode endpoint URI for ledgers that use a single RPC endpoint field.
harmonize.ledgers.<ledger>.<network>.urlNode endpoint URL for ledgers that use URL plus credential fields.
harmonize.ledgers.<ledger>.<network>.userRPC username, where the ledger integration requires it.
harmonize.ledgers.<ledger>.<network>.passwordRPC password, where the ledger integration requires it.
harmonize.ledgers.<ledger>.<network>.network.indexerUrlURL of a separately deployed indexer, where supported.

For chain-specific ledger fields, see Ledgers configuration. For per-indexer fields, see Indexers configuration.

Constraints and relationships

  • A ledger entry needs a node endpoint or a supported indexer URL pattern.
  • Bitcoin-family chains commonly use url, user, and password.
  • EVM-compatible chains commonly use uri.
  • If you configure network.indexerUrl, the deployment can use an external or shared indexer instead of deploying an indexer for that ledger.
  • NBXplorer can support multiple Bitcoin-family chains; other indexer patterns are generally chain-specific.

Considerations

Node provider selection is an infrastructure decision. Self-hosted nodes, managed providers, shared indexers, and dedicated indexers all have different cost, reliability, latency, and operational trade-offs.

For planning guidance, see Blockchain node planning.

Example

This example shows three ledger endpoint patterns in one deployment values file: a Bitcoin-family node with RPC credentials, an EVM-compatible node with a URI, and a ledger that points to a separately deployed indexer.

harmonize:
  ledgers:
    bitcoin:
      mainnet:
        enabled: true
        url: "http://bitcoin-rpc.internal:8332"
        user: "bitcoinrpc"
        password: "<bitcoin-rpc-password>"

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

    xrpl:
      mainnet:
        enabled: true
        uri: "https://xrpl-node.example.com"
        network:
          indexerUrl: "http://xrplindexer.shared.svc.cluster.local"