If one is to believe the popular press and many “technical writings,” blockchains create not only a perfect transactional environment but also obviate the need for banks, lawyers and courts. The latter will soon be replaced by smart contracts: unbiased and infallible computer programs that form, perform and enforce agreements. Predictions of future revolutions must, however, be distinguished from the harsh reality of the commercial marketplace and the technical limitations of blockchains. The fact that a technological solution is innovative and elegant need not imply that it is commercially useful or legally viable. Apart from attempting a terminological “clean-up” surrounding the term smart contract, this paper presents some technological and legal constraints on their use. It confronts the popular claims concerning their ability to automate transactions and to ensure perfect performance. It also examines the possibility of reducing contractual relationships to code and the ability to integrate smart contracts with the complexities of the real world. A closer analysis reveals that smart contracts can hardly be regarded as a semi-mythical technology liberating the contracting parties from the shackles of traditional legal and financial institutions.