Business & Information Systems Engineering

, Volume 59, Issue 6, pp 457–467 | Cite as

Automated Execution of Financial Contracts on Blockchains

  • Benjamin Egelund-Müller
  • Martin Elsman
  • Fritz Henglein
  • Omri RossEmail author
Research Paper


The paper investigates financial contract management on distributed ledgers and provides a working solution implemented on the Ethereum blockchain. The system is based on a domain-specific language for financial contracts that is capable of expressing complex multi-party derivatives and is conducive to automated execution. The authors propose an architecture for separating contractual terms from contract execution: a contract evaluator encapsulates the syntax and semantics of financial contracts without actively performing contractual actions; such actions are handled by user-definable contract managers that administer strategies for the execution of contracts. Hosting contracts and contract managers on a distributed ledger, side-by-side with digital assets, facilitates automated settlement of commitments without the need for an intermediary. The paper discusses how the proposed technology may change the way financial institutions, regulators, and individuals interact in a financial system based on distributed ledgers.


Blockchain Domain specific language Financial services Distributed ledger 



We thank Sofus Mortensen for suggesting the topic of financial contracts on distributed ledgers.


  1. Andersen J, Elsborg E, Henglein F, Simonsen JG, Stefansen C (2006) Compositional specification of commercial contracts. Int J Softw Tools Technol Transf 8(6):485–516CrossRefGoogle Scholar
  2. Andersen J, Bahr P, Henglein F, Hvitved T (2014) Domain-specific languages for enterprise systems. In: Margaria T, Steffen B (eds) Leveraging applications of formal methods, verification and validation. Technologies for mastering change, vol 8802. LNCS. Springer, Berlin, pp 73–95Google Scholar
  3. Arnold B, Van Deursen A, Res M (1995) An algebraic specification of a language for describing financial products. In: ICSE-17 workshop on formal methods application in software engineering. pp 6–13Google Scholar
  4. Bahr P, Berthold J, Elsman M (2015) Certified symbolic management of financial multi-party contracts. In: Proceedings of the 20th ACM SIGPLAN international conference on functional programming, ACM. pp 315–327Google Scholar
  5. Bank of England (2015) Digital currencies. Accessed 5 Nov 2017
  6. Buterin V (2014) SchellingCoin: a minimal-trust universal data feed. Accessed 5 Nov 2017
  7. Buterin V (2016) Critical update re: DAO vulnerability. Accessed 5 Nov 2017
  8. Clack CD, Bakshi VA, Braine L (2016) Smart contract templates: foundations, design landscape and research directions. arXiv:1608.00771
  9. European Commission (2016) Financial stability: new EU rules on central clearing for certain credit derivative contracts. Accessed 5 Nov 2017
  10. Frankau S, Spinellis D, Nassuphis N, Burgard C (2009) Commercial uses: going functional on exotic trades. J Funct Program 19(1):27–45CrossRefGoogle Scholar
  11. Hearn M (2016) Corda: a distributed ledger. Accessed 5 Nov 2017
  12. Henglein F, Stefansen C, Simonsen J, Larsen K (2009) Poets: process-oriented enterprise transaction systems. J Logic Algebraic Program 78(5):381–401CrossRefGoogle Scholar
  13. Hvitved T (2010) A survey of formal languages for contracts. In: Fourth workshop on formal languages and analysis of contract–oriented software. pp 29–32Google Scholar
  14. Hvitved T, Bahr P, Andersen J (2011) Domain-specific languages for enterprise systems. Department of Computer Science, University of Copenhagen, Tech. repGoogle Scholar
  15. Hvitved T, Klaedtke F, Zalinescu E (2012) A trace-based model for multiparty contracts. J Logic Algebraic Program 81(2):72–98CrossRefGoogle Scholar
  16. Hyperledger Project (2016) Hyperledger fabric: protocol specification. Accessed 5 Nov 2017
  17. Jensen MV, Pedersen LH (2016) Early option exercise: never say never. J Financ Econ 121(2):278–299CrossRefGoogle Scholar
  18. Jones SP, Eber JM (2003) How to write a financial contract. In: Gibbons J, de Moor O (eds) The fun of programming. Palgrave MacmillanGoogle Scholar
  19. Jones SP, Eber JM, Seward J (2000) Composing contracts: an adventure in financial engineering (functional pearl). In: Proceedings of the 20th ACM SIGPLAN international conference on functional programming, ACM. pp 280–292Google Scholar
  20. Luu L, Chu DH, Olickel H, Saxena P, Hobor A (2016) Making smart contracts smarter. In: Proceedings of the 2016 ACM SIGSAC conference on computer and communications security, ACM, New York, NY, USA, CCS ’16. pp 254–269.
  21. Merton RC (1973) Theory of rational option pricing. Bell J Econ Manag Sci 4(1):141–183CrossRefGoogle Scholar
  22. Mortensen S (2016) Universal contracts. Accessed 5 Nov 2017
  23. Moyano JP, Ross O (2017) KYC optimization using distributed ledger technology. Bus Inf Syst Eng. Google Scholar
  24. Nakamoto S (2009) Bitcoin: a peer-to-peer electronic cash system. Accessed 5 Nov 2017
  25. R3 (2016) IRS demo. Accessed 5 Nov 2017
  26. Rice HG (1953) Classes of recursively enumerable sets and their decision problems. Trans Am Math Soc 74:358–366CrossRefGoogle Scholar
  27. Santander Innoventures, Oliver Wyman (2015) The fintech 2.0 paper: rebooting financial services. Accessed 5 Nov 2017
  28. Schneider J, Blostein A, Lee B, Kent S, Groer I, Beardsley E (2016) Blockchain-putting theory into practice. Accessed 25 Nov 2017
  29. Schuldenzucker S (2014) Decomposing contracts. Master’s thesis, University of BonnGoogle Scholar
  30. Wood G (2016) Ethereum: a secure decentralised generalised transaction ledger., accessed 5 November 2017

Copyright information

© Springer Fachmedien Wiesbaden GmbH, part of Springer Nature 2017

Authors and Affiliations

  • Benjamin Egelund-Müller
    • 1
  • Martin Elsman
    • 1
  • Fritz Henglein
    • 1
  • Omri Ross
    • 1
    Email author
  1. 1.Department of Computer ScienceUniversity of CopenhagenCopenhagenDenmark

Personalised recommendations