com.r3corda.core.contracts / ContractState / participants

# participants

`abstract val participants: List<PublicKey>`

A participant is any party that is able to consume this state in a valid transaction.

The list of participants is required for certain types of transactions. For example, when changing the notary for this state (TransactionType.NotaryChange), every participant has to be involved and approve the transaction so that they receive the updated state, and dont end up in a situation where they can no longer use a state they possess, since someone consumed that state during the notary change process.

The participants list should normally be derived from the contents of the state. E.g. for Cash the participants list should just contain the owner.