Skip to main content

Curated Proof of Stake (Governance-Gated Validator Set)

Intento implements a Curated Proof of Stake model built on top of the standard Cosmos SDK Proof of Stake (PoS) module.

Validator participation is governance-gated. While the network uses standard PoS mechanics for stake bonding, voting power, and consensus, admission to the validator set is controlled via on-chain governance.

This results in a permissioned, economically bonded validator set, combining authority-based admission with PoS security guarantees.

Concept

The validator set is gated by governance:

  • Permissionless validator creation is disabled Standard users cannot submit MsgCreateValidator transactions.

  • Validators are added via governance A dedicated ValidatorAddProposal must be submitted and approved to admit a new validator.

This creates a curated validator set while retaining PoS-based stake weighting, slashing, and consensus behavior.

Mechanics

Gatekeeping

The application uses an AnteHandler (GateCreateValidatorAnteHandler) to intercept and block all MsgCreateValidator transactions from entering the mempool or being executed in a block.

This enforces governance-controlled admission at the protocol level.

Gatekeeping can be disabled for testnet or development environments by setting:

intento.poa.disable_gatekeeping = true

Adding a Validator

Validators are added via a governance proposal (ValidatorAddProposal).

This proposal is handled by ValidatorAdminProposalHandler, which internally executes a privileged MsgCreateValidator, bypassing the AnteHandler gate.

Proposal Fields:

  • Title, Description: Standard proposal metadata
  • Valoper: Operator address of the new validator
  • Moniker: Validator name
  • PubKey: Consensus public key (Ed25519)

Removing a Validator

Validators can be removed via ValidatorRemoveProposal.

This proposal forcibly unbonds the validator’s self-delegation, causing removal from the active validator set after the unbonding period.

Proposal Fields:

  • Valoper: Operator address of the validator to remove

Governance and Validator Set Management

The initial validator set (originating from ICS) forms the initial governance body.

This body controls:

  • Admission of new validators
  • Removal of existing validators
  • Ongoing management of the curated validator set

This ensures validator participation is explicitly approved while remaining economically aligned via stake bonding and slashing.

Configuration

To disable governance gatekeeping and allow permissionless validator creation (for testing or development), set:

--intento.poa.disable_gatekeeping=true

Join the Network

For current validator sets, genesis files, and persistent peers, see the Networks Repository: https://github.com/trstlabs/networks

To apply for validator participation or ask questions, join Discord: https://discord.gg/hsVf9sYyZW