<!--
order: 0
title: Solo Machine Client
parent:
  title: "solomachine"
-->

# `solomachine`

## Abstract

This paper defines the implementation of the ICS06 protocol on the Cosmos SDK. For the general
specification please refer to the [ICS06 Specification](https://github.com/cosmos/ics/tree/master/spec/ics-006-solo-machine-client).

This implementation of a solo machine light client supports single and multi-signature public
keys. The client is capable of handling public key updates by header and governance proposals.
The light client is capable of processing client misbehaviour. Proofs of the counterparty state
are generated by the solo machine client by signing over the desired state with a certain sequence,
diversifier, and timestamp. 

## Contents

1. **[Concepts](01_concepts.md)**
2. **[State](02_state.md)**
3. **[State Transitions](03_state_transitions.md)**
4. **[Messages](04_messages.md)**
