These values are grounded in the current c8ntinuum genesis and node code.

Network constants

FieldValue
Binaryctmd
Home directory~/.ctmd
Cosmos chain IDcontinuum_2184-1
EVM chain ID2184
Account prefixc8
Validator prefixc8valoper
Consensus prefixc8valcons
Staking denomctm
Display symbolCTM
Denom exponent18

Create validator

Generate an operator key. eth_secp256k1 is the default account key algorithm for ctmd.
ctmd keys add validator --algo eth_secp256k1 --keyring-backend file
Get the node consensus public key from the validator home:
ctmd comet show-validator --home ~/.ctmd
Create validator.json. The pubkey must be the /cosmos.crypto.ed25519.PubKey output from ctmd comet show-validator.
{
  "pubkey": {
    "@type": "/cosmos.crypto.ed25519.PubKey",
    "key": "<base64-consensus-pubkey>"
  },
  "amount": "888888000000000000000000ctm",
  "moniker": "<validator-name>",
  "identity": "",
  "website": "",
  "security": "<validator-security-contact>",
  "details": "",
  "commission-rate": "0.10",
  "commission-max-rate": "0.20",
  "commission-max-change-rate": "0.01",
  "min-self-delegation": "888888000000000000000000"
}
Submit the transaction:
ctmd tx staking create-validator validator.json \
  --from validator \
  --chain-id continuum_2184-1 \
  --node <comet-rpc> \
  --fees <fee>ctm \
  --gas auto \
  --gas-adjustment 1.3
c8ntinuum enforces a validator creation floor of 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:
FieldValue
commission-rate0.10
commission-max-rate0.20
commission-max-change-rate0.01
Chain-wide min_commission_rate0
General staking validation still applies: commission values cannot be negative, 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_secp256k1 and secp256k1.
  • Consensus validator keys are CometBFT ed25519 keys exposed through ctmd comet show-validator.
  • The SDK default coin type is 118, with default path m/44'/118'/0'/0/0.
  • Ledger coin type 60 uses the Ethereum app and creates an eth_secp256k1 public key.
  • Ledger coin type 118 uses the Cosmos app and creates a Cosmos secp256k1 public key.
  • ctmd keys add --ledger rejects a custom --hd-path; use --coin-type, --account, and --index.
ctmd keys add validator-eth-ledger \
  --ledger \
  --coin-type 60 \
  --algo eth_secp256k1

ctmd keys add validator-cosmos-ledger \
  --ledger \
  --coin-type 118 \
  --algo secp256k1

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_peers including the validator, and private_peer_ids including the validator node ID.

Ports and services

ServiceDefaultNotes
CometBFT P2Ptcp://0.0.0.0:26656Public on sentries
CometBFT RPCtcp://127.0.0.1:26657Keep private unless intentionally exposed
ABCItcp://0.0.0.0:26658Internal application transport
Cosmos REST APItcp://localhost:1317Disabled by default
Cosmos gRPClocalhost:9090Disabled by c8ntinuum app config default
gRPC-Web flag default0.0.0.0:9900Requires gRPC/gRPC-Web enablement
EVM JSON-RPC HTTP127.0.0.1:8545Disabled by default
EVM JSON-RPC WebSocket127.0.0.1:8546Disabled by default
EVM JSON-RPC metrics127.0.0.1:6065Enabled with JSON-RPC and --metrics
Geth metrics address127.0.0.1:8100Used by telemetry/API metrics plumbing
CometBFT Prometheus:26660Disabled by default
API, gRPC, JSON-RPC, and telemetry are disabled by default unless explicitly enabled in config or via start flags.

Monitoring

Monitor at least:
  • Process health and automatic restart behavior for ctmd.
  • Sync status from ctmd status; alert if catching_up is 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 500 missed blocks in the 1000 block window.
  • JSON-RPC, gRPC, API, and indexer latency only on nodes intentionally serving those surfaces.
Validator incentive state is tracked by 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:
ParamValue
signed_blocks_window1000
min_signed_per_window0.500000000000000000
downtime_jail_duration600s
slash_fraction_downtime0.010000000000000000
slash_fraction_double_sign0.050000000000000000
A validator is jailed for downtime when it misses more than half of the 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.
ctmd query slashing signing-info "$(ctmd comet show-address)"
ctmd query staking validator <c8valoper...>

ctmd tx slashing unjail \
  --from validator \
  --chain-id continuum_2184-1 \
  --node <comet-rpc> \
  --fees <fee>ctm \
  --gas auto \
  --gas-adjustment 1.3

Upgrade flow and emergency contacts

Use Upgrade Instructions as the canonical upgrade runbook. Validators should layer signing-key safety, sentry topology, TMKMS, and double-sign protection checks on top of each release-specific upgrade notice.