On-chain transactions occur on a blockchain that are then posted to a distributed, public ledger. For example, all Ethereum on-chain transactions (pending or confirmed) can be viewed on Etherscan. These transactions are only confirmed to be valid once a number of said network’s nodes verify that the transaction is indeed valid and a consensus is reached. After the consensus is reached and validity is confirmed, the transaction is posted on the blockchain in real-time with the goal of being instant, secure, and transparent.
However, if a network is overloaded, it can take longer for the nodes to verify transactions, thus leading to higher transaction fees and slowing of the transaction speed. To combat this issue, third parties (like StarkWare) will verify transactions away from the blockchain — hence the off-chain — using private keys between themselves and the network to ensure validity and security. In short, transaction verifications are performed outside the main blockchain by a third-party, and the result is uploaded back into the blockchain. This way, network users do not worry about high transaction fees and transaction processing time.