Skip to main content
Version: v4 (next)

Slash a Participant Deposit

The Trust Deposit linked to a participant can be slashed (MOD-PP-MSG-12, MsgSlashParticipantTrustDeposit) by:

  • the validator ancestor that onboarded the participant;
  • the Ecosystem controller (owner of the root participant of this credential schema).

A non-empty reason is required (MOD-PP-MSG-12-1). The slashed amount is burned and cannot be recovered.

Prerequisites

This is a delegable transaction executed on behalf of a Corporation. Before running it you need:

  1. A Corporation (policy_address) that controls the validator participant or the schema's Ecosystem — see Create a Corporation.
  2. The policy funded with uvna for fees.
  3. An operator granted authorization for /verana.pp.v1.MsgSlashParticipantTrustDeposit via Grant Operator Authorization.

Sign with --from <operator> and pass the corporation with --corporation <policy_address>.

Message Parameters

NameDescriptionMandatory
idNumeric ID of the participant whose deposit to slash.yes
amountAmount to slash (≤ the participant's current deposit).yes
reasonNon-empty reason string, recorded in the event.yes
--corporationpolicy_address of the slashing Corporation.yes

Post the Message

Usage

veranad tx pp slash-participant-td <id> <amount> <reason> \
--corporation <policy_address> \
--from <operator> --chain-id <chain-id> --keyring-backend test --fees 750000uvna --gas auto --node $NODE_RPC

Example

CORPORATION=verana1n64en27u7qckklkk4twkkun5h6v5dsur7g6l4pfmfhydvfru9upq5w4nlu
OPERATOR=verana1aesnnc4fvar4wyaryvj9y4sty9vsw69hgymw7q

veranad tx pp slash-participant-td 10 10 "journey 308 test slash" \
--corporation $CORPORATION \
--from $OPERATOR --chain-id $CHAIN_ID --keyring-backend test --fees 750000uvna --gas auto --node $NODE_RPC --yes

Real result

Succeeds with code: 0; the slashed amount is burned and the participant's slashed_deposit is recorded (txhash EE3FD47BD8E4824050F70D010849D7A047B63D7E8C4CE4E021C46F3FBAC89B36):

- type: burn
attributes:
- key: amount
value: 10uvna
- type: slash_participant_trust_deposit
attributes:
- key: participant_id
value: "10"
- key: slashed_amount
value: "10"
- key: reason
value: journey 308 test slash
- key: corporation
value: verana1n64en27u7qckklkk4twkkun5h6v5dsur7g6l4pfmfhydvfru9upq5w4nlu

Verify

veranad query pp get-participant 10 --node $NODE_RPC --output json

Real testnet state shows the slash recorded (and later repaid):

{
"participant": {
"id": "10",
"role": "ISSUER",
"deposit": "20000000",
"slashed": "2026-07-10T08:12:16.375173Z",
"slashed_deposit": "10",
"validator_participant_id": "9",
"op_state": "VALIDATED",
"corporation_id": "6"
}
}

A slashed participant cannot be revived. To operate again, the owner must repay the slashed deposit (Repay a Slashed Participant Deposit) and request a new participant.

See also