The term Smart Contracts refers to a set of technologies that – broadly speaking – enable execution of code on blockchains. Many business processes have already been mapped on such contracts, with Ethereum being a popular platform. But since smart contracts are code, we have to ask ourselves about ensuring code quality. Testing is certainly a useful tool for that, but given that smart contracts handle millions of dollars, is it enough? This talk will give an introduction into formal verification and present an overview over the state of the art in the blockchain space.