# Ledgers configuration

Use this page to understand the ledger configuration fields used by Ripple Custody. The example shows one possible multi-ledger values-file shape; your enabled networks, node endpoints, credentials, and indexer topology 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

Ledger entries under `harmonize.ledgers` tell Ripple Custody which blockchain networks to use and how to connect to the relevant node or indexer endpoint.

Indexers and blockchain nodes are related to ledger configuration. For node endpoint patterns, see [Blockchain nodes configuration](/products/custody/deployment/reference/blockchain-nodes). For indexer field patterns, see [Indexers configuration](/products/custody/deployment/reference/indexers).

## Ledger groups

### Bitcoin-family ledgers

Bitcoin, Litecoin, Dogecoin, and Dash share the same field pattern.

| Ledger | Networks | Indexer |
|  --- | --- | --- |
| `bitcoin` | `regtest-1`, `testnet`, `mainnet` | NBXplorer |
| `litecoin` | `regtest-1`, `testnet`, `mainnet` | NBXplorer |
| `dogecoin` | `regtest-1`, `testnet`, `mainnet` | NBXplorer |
| `dash` | `regtest-1`, `testnet`, `mainnet` | NBXplorer |


Fields:

| Parameter | Type | Required | Description |
|  --- | --- | --- | --- |
| `enabled` | boolean | Yes | Enables this ledger/network entry. |
| `nodeEndpoint` | string | No | Node endpoint URL for display or reference. |
| `url` | string | Yes | Bitcoin-family RPC URL. |
| `user` | string | Yes | RPC username. |
| `password` | string | Yes | RPC password. |
| `fallbackFeeRate` | integer | No | Fallback fee rate. Existing default: `100`. |


### EVM-compatible ledgers

Ethereum, Polygon, Avalanche C-Chain, and BSC share the same field pattern.

| Ledger | Networks | Indexer |
|  --- | --- | --- |
| `ethereum` | `geth-dev`, `parity-dev`, `testnet-holesky`, `testnet-sepolia`, `mainnet`, `pow-mainnet` | ETH Indexer |
| `polygon` | `testnet-amoy`, `mainnet` | ETH Indexer |
| `avalanche-c-chain` | `testnet-fuji`, `mainnet` | ETH Indexer |
| `bsc` | `testnet`, `mainnet` | ETH Indexer |


Fields:

| Parameter | Type | Required | Description |
|  --- | --- | --- | --- |
| `enabled` | boolean | Yes | Enables this ledger/network entry. |
| `uri` | string | Yes | JSON-RPC endpoint URI. |


### XRP Ledger

Networks: `devnet`, `regtest-1`, `testnet`, `mainnet`

| Parameter | Type | Required | Description |
|  --- | --- | --- | --- |
| `enabled` | boolean | Yes | Enables this ledger/network entry. |
| `uri` | string | Yes | rippled JSON-RPC endpoint URI. |


### Tezos

Networks: `sandbox`, `testnet`, `mainnet`

| Parameter | Type | Required | Description |
|  --- | --- | --- | --- |
| `enabled` | boolean | Yes | Enables this ledger/network entry. |
| `uri` | string | Yes | Tezos node RPC endpoint URI. |


### Substrate

Networks: `dev`, `westend`, `kusama`, `polkadot`

| Parameter | Type | Required | Description |
|  --- | --- | --- | --- |
| `enabled` | boolean | Yes | Enables this ledger/network entry. |
| `ws` | string | Yes | WebSocket endpoint URI. |
| `sidecar` | string | Yes | Substrate Sidecar API URI. |


### Stellar

Networks: `devnet`, `mainnet`

| Parameter | Type | Required | Description |
|  --- | --- | --- | --- |
| `enabled` | boolean | Yes | Enables this ledger/network entry. |
| `url` | string | Yes | Stellar Horizon API URL. |
| `passphrase` | string | Yes | Network passphrase. |


### Solana

Networks: `devnet`, `mainnet`

| Parameter | Type | Required | Description |
|  --- | --- | --- | --- |
| `enabled` | boolean | Yes | Enables this ledger/network entry. |
| `url` | string | Yes | Solana RPC endpoint URL. |
| `passphrase` | string | No | Network passphrase, where applicable. |


### Cardano

Networks: `preview`, `testnet`, `preprod`, `mainnet`

| Parameter | Type | Required | Description |
|  --- | --- | --- | --- |
| `enabled` | boolean | Yes | Enables this ledger/network entry. |
| `http` | string | Yes | Cardano HTTP API endpoint. |
| `ws` | string | Yes | Cardano WebSocket endpoint. |


### Hedera

Networks: `testnet`, `mainnet`

| Parameter | Type | Required | Description |
|  --- | --- | --- | --- |
| `enabled` | boolean | Yes | Enables this ledger/network entry. |
| `http` | string | Yes | Hedera Mirror Node REST API URL. |


### Algorand

Networks: `testnet`, `mainnet`

| Parameter | Type | Required | Description |
|  --- | --- | --- | --- |
| `enabled` | boolean | Yes | Enables this ledger/network entry. |
| `http` | string | Yes | Algorand node API URL. |


## Network names

Network names indicate the target chain environment. The values documented in this section include development, regression, sandbox, test, pre-production, and main network names such as `devnet`, `regtest-1`, `sandbox`, `testnet`, `testnet-sepolia`, `preprod`, `mainnet`, and `pow-mainnet`.

Confirm the exact network names supported by your release before adding new ledger entries.

## Constraints and relationships

- A ledger/network entry must be enabled before it is used.
- Each enabled ledger/network entry needs the endpoint fields required by that ledger family.
- Endpoint credentials should come from your normal secret-management process.
- The indexer used for a ledger depends on the ledger family. See [Indexers configuration](/products/custody/deployment/reference/indexers).
- Node endpoint planning belongs in [Blockchain nodes configuration](/products/custody/deployment/reference/blockchain-nodes) and [Blockchain node planning](/products/custody/deployment/planning/blockchain-nodes).


## Example

This example shows several ledger field patterns in one deployment values file:


```yaml
harmonize:
  ledgers:
    bitcoin:
      mainnet:
        enabled: true
        url: "http://bitcoin-rpc.example.com:8332"
        user: "<rpc-user>"
        password: "<rpc-password>"
        fallbackFeeRate: 100

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

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

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

    stellar:
      mainnet:
        enabled: true
        url: "https://stellar-horizon.example.com"
        passphrase: "<network-passphrase>"
```

## Related topics

- [Blockchain nodes configuration](/products/custody/deployment/reference/blockchain-nodes)
- [Indexers configuration](/products/custody/deployment/reference/indexers)
- [Networking configuration](/products/custody/deployment/reference/networking)