# Blockchain nodes configuration

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:

| Indexer | Network name | Ledger | Description |
|  --- | --- | --- | --- |
| Bitcoin Regression Testing Network | `regtest-1` | Bitcoin | Often used for local testing. |
| Bitcoin Testing Network | `testnet` | Bitcoin | Used for testing purposes. |
| Bitcoin Main Network | `mainnet` | Bitcoin | Main network. |
| Litecoin Regression Testing Network | `regtest-1` | Litecoin | Often used for local testing. |
| Litecoin Testing Network | `testnet` | Litecoin | Used for testing purposes. |
| Litecoin Main Network | `mainnet` | Litecoin | Main network. |
| Dogecoin Regression Testing Network | `regtest-1` | Dogecoin | Often used for local testing. |
| Dogecoin Testing Network | `testnet` | Dogecoin | Used for testing purposes. |
| Dogecoin Main Network | `mainnet` | Dogecoin | Main network. |
| Dash Regression Testing Network | `regtest-1` | Dash | Often used for local testing. |
| Dash Testing Network | `testnet` | Dash | Used for testing purposes. |
| Dash Main Network | `mainnet` | Dash | Main network. |
| Go Ethereum Private Development Network | `geth-dev` | Ethereum | Development environment. |
| Ethereum Parity Technologies Development Network | `parity-dev` | Ethereum | Development environment. |
| Ethereum Holesky Test Network | `testnet-holesky` | Ethereum | Used for testing purposes. |
| Ethereum Sepolia Test Network | `testnet-sepolia` | Ethereum | Used for testing purposes. |
| Ethereum Main Network | `mainnet` | Ethereum | Main network. |
| Ethereum PoW Main Network | `pow-mainnet` | Ethereum | Main network. |
| Polygon Amoy Test Network | `testnet-amoy` | Polygon | Used for testing purposes. |
| Polygon Main Network | `mainnet` | Polygon | Main network. |
| Avalanche C Chain Fuji Test Network | `testnet-fuji` | Avalanche C Chain | Used for testing purposes. |
| Avalanche C Chain Main Network | `mainnet` | Avalanche C Chain | Main network. |
| Binance Smart Chain Test Network | `testnet` | Binance Smart Chain | Used for testing purposes. |
| Binance Smart Chain Main Network | `mainnet` | Binance Smart Chain | Main network. |
| XRP Ledger Development Network | `devnet` | XRP Ledger | Development environment. |
| XRP Ledger Regression Testing Network | `regtest-1` | XRP Ledger | Often used for local testing. |
| XRP Ledger Testing Network | `testnet` | XRP Ledger | Used for testing purposes. |
| XRP Ledger Main Network | `mainnet` | XRP Ledger | Main network. |
| Tezos Sandbox Network | `sandbox` | Tezos | Often used for local testing. |
| Tezos Testing Network | `testnet` | Tezos | Used for testing purposes. |
| Tezos Main Network | `mainnet` | Tezos | Main network. |
| Substrate Development Network | `dev` | Substrate | Development environment. |
| Substrate Testing Network (Westend) | `westend` | Substrate | Used for testing purposes. |
| Substrate Staging Network (Kusama) | `kusama` | Substrate | Staging network. |
| Substrate Main Network (Polkadot) | `polkadot` | Substrate | Main network. |
| Stellar Development Network | `devnet` | Stellar | Development environment. |
| Stellar Main Network | `mainnet` | Stellar | Main network. |
| Solana Development Network | `devnet` | Solana | Development environment. |
| Solana Main Network | `mainnet` | Solana | Main network. |
| Cardano Testing Network | `testnet` | Cardano | Used for testing purposes. |
| Cardano Preview Network | `preview` | Cardano | Often used for local testing. |
| Cardano Pre-Prod Network | `preprod` | Cardano | Pre-production network. |
| Cardano Main Network | `mainnet` | Cardano | Main network. |
| Hedera Testing Network | `testnet` | Hedera | Used for testing purposes. |
| Hedera Main Network | `mainnet` | Hedera | Main network. |
| Algorand Testing Network | `testnet` | Algorand | Used for testing purposes. |
| Algorand Main Network | `mainnet` | Algorand | Main network. |


## Configuration fields

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

| Field | Description |
|  --- | --- |
| `harmonize.ledgers.<ledger>.<network>.enabled` | Enables a ledger/network entry. |
| `harmonize.ledgers.<ledger>.<network>.uri` | Node endpoint URI for ledgers that use a single RPC endpoint field. |
| `harmonize.ledgers.<ledger>.<network>.url` | Node endpoint URL for ledgers that use URL plus credential fields. |
| `harmonize.ledgers.<ledger>.<network>.user` | RPC username, where the ledger integration requires it. |
| `harmonize.ledgers.<ledger>.<network>.password` | RPC password, where the ledger integration requires it. |
| `harmonize.ledgers.<ledger>.<network>.network.indexerUrl` | URL of a separately deployed indexer, where supported. |


For chain-specific ledger fields, see [Ledgers configuration](/products/custody/v1.36/deployment/reference/ledgers). For per-indexer fields, see [Indexers configuration](/products/custody/v1.36/deployment/reference/indexers).

## 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](/products/custody/v1.36/deployment/planning/blockchain-nodes).

## 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.


```yaml
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"
```

## Related topics

- [Indexers configuration](/products/custody/v1.36/deployment/reference/indexers)
- [Ledgers configuration](/products/custody/v1.36/deployment/reference/ledgers)
- [Networking configuration](/products/custody/v1.36/deployment/reference/networking)
- [Blockchain node planning](/products/custody/v1.36/deployment/planning/blockchain-nodes)