- a decentralized dapp which is the client
- user performs an action
- txn is created by the dapp and sent to an rpc client
- rpc client
- routes the txn to a validator
- validator executes the instruction for our program
- program modifies the state of the ledger
- leader adds this txn to the actual ledger state