TradeAlmanac
Sign in

Smart contract

A program in a distributed ledger that executes the terms of a deal by itself: when an event recorded in advance occurs, it transfers assets or credits a payment, and this can no longer be undone by hand.

A smart contract is a set of conditions written as program code, stored in an information system built on a distributed ledger and executed automatically, without anyone pressing a "transfer" button. The agreement here is not described in words on paper but defined by an algorithm: if the condition is met, the record in the ledger changes; if it is not met, nothing changes. For the market, this is a way to combine an obligation and its performance in a single accounting object rather than in two separate documents that later have to be reconciled.

How execution works

The code of a smart contract is written to a distributed ledger and from then on is stored identically by all participants in the system. It is triggered not by a decision of the parties but by an external event that the system is able to verify: a payment has arrived, a date has come, a measurement result has been delivered by a data source. Having checked the condition, the contract itself changes the records of rights — it debits one claim and credits another. Hence its main property: execution does not depend on the good faith of the parties, which means that counterparty risk is replaced by the risk of the code itself and the risk of the source that supplies the data about the event. An error in the logic is not disputed through correspondence — it is executed to the letter.

Within the Russian framework a smart contract does not exist on its own: it operates inside an information system for which the information system operator is responsible, and it serves the issuance and circulation of a digital financial asset — for example, the automatic crediting of income to holders on the day set by the decision on the issue.

An example based on the platform's data

The restrictions built into such a program can be not only commercial but also regulatory: the operator is obliged to block a purchase that exceeds the established limit. The platform inserts the current value of the rule: the annual limit on purchases of variable-income DFAs for a non-qualified investor is RUB 600,000. Checking this condition is conveniently described precisely in code rather than through manual control of orders.

Where the term is misunderstood

A common substitution is to treat a smart contract as a legal agreement. It is a mechanism of execution, not a source of rights: the rights arise from the decision on the issue and the rules of the information system, and the code merely puts them into effect. The second mistake is to carry the word over to exchange infrastructure: trades in shares and futures are settled through clearing and a depository, and calling this process a smart contract is incorrect. Finally, automation does not mean freedom from error: if an external data source delivers the wrong event, the contract will execute on it, and a rollback will require a separate procedure provided for by the rules of the system rather than by the program itself.

Related terms