The quorum list sidecar exposes the local LLMQ list over HTTP for SDKs and functional tests. It mirrors the public quorums.*.networks.dash.org endpoints but runs against your local Core node.
- Optional: disabled by default on all presets.
- Local preset: enabled automatically only on the
local_seednode when you rundashmate setup local, so other local nodes stay unchanged. - Controlled by
platform.quorumList.enabled(profileplatform-quorum).
| Setting | Default | Description |
|---|---|---|
platform.quorumList.enabled |
false |
Enable the quorum list service |
platform.quorumList.docker.image |
dashpay/quorum-list-server:latest |
Docker image to use |
platform.quorumList.api.host |
127.0.0.1 |
Host interface to bind the API |
platform.quorumList.api.port |
2444 (mainnet), 12444 (testnet), 22444 (local) |
Port for the HTTP API |
platform.quorumList.previousBlocksOffset |
8 |
Number of previous blocks to consider for quorum lookups |
platform.quorumList.versionCheckHost |
"" |
Host for version checking (set to host.docker.internal locally) |
platform.quorumList.addressHostOverride |
"" |
Override for address host (set to 127.0.0.1 locally) |
- Image:
dashpay/quorum-list-server:latest - API port:
platform.quorumList.api.port(default2444mainnet,12444testnet,22444local) - Host binding:
platform.quorumList.api.host(default127.0.0.1) - Container bind address is
0.0.0.0inside the compose network.
- Uses the dedicated Core RPC user
quorum_list(added to configs via migration). - RPC URL points to the local Core container (
http://core:${CORE_RPC_PORT}). - Whitelisted RPC commands:
quorum,masternode,getblockcount
dashmate config set platform.quorumList.enabled true
dashmate start --platform # or restart the nodequorum_list (profile platform-quorum). It is only included when the toggle is on or when a command explicitly includes all platform profiles (e.g., platform-only reset/stop).
When running functional tests or developing against a local dashmate network, SDKs need access to quorum public keys to verify proofs. The quorum list service provides this via HTTP.
In the WASM SDK, before building a trusted client for local development:
import { init } from '@dashevo/wasm-sdk';
import * as sdk from '@dashevo/wasm-sdk';
await init();
// Prefetch quorum information from local quorum list service
// Uses http://127.0.0.1:22444 by default (local preset)
await sdk.WasmSdk.prefetchTrustedQuorumsLocal();
// Build a trusted client for local network (verifies proofs)
const builder = sdk.WasmSdkBuilder.localTrusted();
const client = builder.build();When running dashmate setup local, the quorum list service is automatically enabled on the local_seed node with the following configuration:
platform.quorumList.enabled=trueplatform.quorumList.versionCheckHost=host.docker.internalplatform.quorumList.addressHostOverride=127.0.0.1
The versionCheckHost and addressHostOverride settings are specific to local networks where the container needs to communicate with the host machine. For non-local networks, these are left empty.
The service:
- Connects to the local Core node via RPC
- Fetches active quorum information using
quorum listextendedandquorum info - Retrieves masternode list with
masternode list - Exposes this data over HTTP at
http://127.0.0.1:22444(local preset, port varies by network)
# Check if the quorum_list container is running
docker ps | grep quorum_list
# Test the API endpoint
curl http://127.0.0.1:22444/quorums
# View service logs
docker logs <quorum_list_container_id>Service not starting:
- Ensure
platform.quorumList.enabledistrueon the seed node - Check that the Core node is fully synced
- Verify the Core RPC user
quorum_listexists in the config
SDK cannot connect:
- Verify the quorum list port is accessible from the host (22444 for local preset)
- Check that
platform.quorumList.api.hostallows connections from your client - Ensure no firewall is blocking the port
Quorum data not available:
- Wait for the local network to establish quorums (may take a few blocks after initial setup)
- Check Core node logs for quorum-related errors