Network constants
| Field | Value |
|---|---|
| Binary | ctmd |
| Home directory | ~/.ctmd |
| Cosmos chain ID | continuum_2184-1 |
| EVM chain ID | 2184 |
| Account prefix | c8 |
| Validator prefix | c8valoper |
| Consensus prefix | c8valcons |
| Staking denom | ctm |
| Display symbol | CTM |
| Denom exponent | 18 |
Create validator
Generate an operator key.eth_secp256k1 is the default account key algorithm for ctmd.
validator.json. The pubkey must be the /cosmos.crypto.ed25519.PubKey output from ctmd comet show-validator.
888888000000000000000000ctm (888888 * 10^18) for both the initial self-delegation amount and min-self-delegation. The current genesis validators use this minimum self-delegation and have 999912000000000000000000ctm self-bonded.
For the module-level policy details and EVM staking precompile coverage, see Minimum Self-Delegation Check.
Commission bounds
Genesis validators use:| Field | Value |
|---|---|
commission-rate | 0.10 |
commission-max-rate | 0.20 |
commission-max-change-rate | 0.01 |
Chain-wide min_commission_rate | 0 |
rate <= max-rate, max-rate <= 1, max-change-rate <= max-rate, and commission can only be increased once per 24 hours by no more than max-change-rate.
Keys and Ledger
- Account/operator keys default to
eth_secp256k1. - Supported account algorithms are
eth_secp256k1andsecp256k1. - Consensus validator keys are CometBFT
ed25519keys exposed throughctmd comet show-validator. - The SDK default coin type is
118, with default pathm/44'/118'/0'/0/0. - Ledger coin type
60uses the Ethereum app and creates aneth_secp256k1public key. - Ledger coin type
118uses the Cosmos app and creates a Cosmossecp256k1public key. ctmd keys add --ledgerrejects a custom--hd-path; use--coin-type,--account, and--index.
KMS and sentry architecture
The repo does not encode a required KMS or sentry topology; use these as operational recommendations.- Lowest-complexity signing uses the local CometBFT file signer under
~/.ctmd/config/priv_validator_key.json, but this has the largest key-exposure risk. - Remote signing can be implemented with TMKMS or Horcrux-compatible CometBFT remote signer setups.
- For threshold signing or high availability, prefer Horcrux-style threshold signing over running duplicate live validator keys.
- Never run the same validator consensus key in two active signers at once.
- Keep the validator node private and connect it only to sentry nodes.
- Public sentries should expose P2P and any intended public RPC surfaces; the validator should use sentries as persistent peers.
- Recommended validator-side settings include
pex = false, no public RPC, and firewall access limited to sentries and the signer. - Recommended sentry-side settings include
pex = true,persistent_peersincluding the validator, andprivate_peer_idsincluding the validator node ID.
Ports and services
| Service | Default | Notes |
|---|---|---|
| CometBFT P2P | tcp://0.0.0.0:26656 | Public on sentries |
| CometBFT RPC | tcp://127.0.0.1:26657 | Keep private unless intentionally exposed |
| ABCI | tcp://0.0.0.0:26658 | Internal application transport |
| Cosmos REST API | tcp://localhost:1317 | Disabled by default |
| Cosmos gRPC | localhost:9090 | Disabled by c8ntinuum app config default |
| gRPC-Web flag default | 0.0.0.0:9900 | Requires gRPC/gRPC-Web enablement |
| EVM JSON-RPC HTTP | 127.0.0.1:8545 | Disabled by default |
| EVM JSON-RPC WebSocket | 127.0.0.1:8546 | Disabled by default |
| EVM JSON-RPC metrics | 127.0.0.1:6065 | Enabled with JSON-RPC and --metrics |
| Geth metrics address | 127.0.0.1:8100 | Used by telemetry/API metrics plumbing |
| CometBFT Prometheus | :26660 | Disabled by default |
Monitoring
Monitor at least:- Process health and automatic restart behavior for
ctmd. - Sync status from
ctmd status; alert ifcatching_upis true on a validator. - Peer count and sentry connectivity from CometBFT RPC.
- Block height progress, block time, disk usage, memory, file descriptors, and database growth.
- Validator signing info from
ctmd query slashing signing-info $(ctmd comet show-address). - Missed blocks well before the downtime threshold; alert before
500missed blocks in the1000block window. - JSON-RPC, gRPC, API, and indexer latency only on nodes intentionally serving those surfaces.
x/valrewards, including epoch reward settings, reward-pool funding, outstanding reward queries, and one-time validator reward claims. See Validator Rewards for CLI and precompile details.
Slashing, jailing, and unjail
Checked-in slashing params:| Param | Value |
|---|---|
signed_blocks_window | 1000 |
min_signed_per_window | 0.500000000000000000 |
downtime_jail_duration | 600s |
slash_fraction_downtime | 0.010000000000000000 |
slash_fraction_double_sign | 0.050000000000000000 |
1000 block signing window after the slashing warm-up period. Downtime burns 1% and jails for 600s. Double-signing burns 5%, jails, and tombstones the validator; tombstoned validators cannot be unjailed.
Unjail only after fixing the signer/node issue, waiting until jailed_until has passed, and confirming self-delegation is at least 888888000000000000000000ctm.