Skip to content

Transactional Scripts in Contract Stacks

By Shaanan Cohney and David A. Hoffman. Full Text.

In conventional transactions, written contracts usually memorialize the terms of the commercial exchange. For deals in which some of the goods being transferred and the forum for the trade are digitized—as in the case of cryptocurrencies—parties may use computer code rather than a written contract to record their terms. Such pieces of code are sometimes called “smart contracts” because they perform many of the same functions as contracts but are expressed in a computing language. Coded exchanges embody a potentially revolutionary contracting innovation. But they are difficult to assimilate into traditional contracting terminology, conceptual framing, and doctrine.

This Article begins by distilling the central legally and practically significant type of smart contracts—what we call “transactional scripts.” It then develops an account of how these scripts, which operate on public blockchains, are created, the economic barriers to their adoption, and how they produce errors of legal significance. This account, in turn, allows us to more rigorously and accessibly situate transactional scripts in existing legal doctrine.

Commentators are enthusiastic about scripts in part because, the story goes, they are “self-executing” and require no third-party adjudicators. Yet we show that optimism to be unfounded by documenting how scripts, like ordinary contracts, can result in misunderstanding, frustrated intent, and failure.

When code misdelivers, disappointed parties will seek legal recourse. We argue that jurists should situate scripts within other legally operative statements and disclosures, or contract stacks. Precision about the relationship between script and stack sustains a novel framework, rooted in old doctrines of interpretation, parol evidence and equity, that will help jurists compile answers to the private law problems that digitized exchange entails.