Quoine Pte Ltd v B2C2 Ltd [2020] SGCA(I) 02
Quoine Pte Ltd v B2C2 Ltd [2020] SGCA(I) 02
In the COURT OF APPEAL of the republic of singapore
[2020] SGCA(I) 02
Civil Appeal No 81 of 2019
Between
Quoine Pte Ltd
… Appellant
And
B2C2 Ltd
… Respondent
judgment
[Contract] — [Breach]
[Contract] — [Contractual terms] — [Express terms]
[Contract] — [Contractual terms] — [Implied terms]
[Contract] — [Mistake] — [Mistake of fact]
[Restitution] — [Unjust enrichment]
[Trusts] — [Breach of trust]
[Trusts] — [Express trusts] — [Certainties]
This judgment is subject to final editorial corrections approved by the court and/or redaction pursuant to the publisher’s duty in compliance with the law, for publication in LawNet and/or the Singapore Law Reports.
Quoine Pte Ltd v B2C2 Ltd [2020] SGCA(I) 02
Court of Appeal — Civil Appeal No 81 of 2019
Sundaresh Menon CJ, Andrew Phang Boon Leong JA, Judith Prakash JA, Robert Shenton French IJ and Jonathan Mance IJ
14 October 2019
24 February 2020 Judgment reserved.
Introduction
1 The world of cryptocurrency trading is not for the faint-hearted. It can involve computer-generated, high frequency transactions in digital quasi-currencies (otherwise known and referred to in this judgment as “cryptocurrencies”) which manifest on computer screens or printouts but are not otherwise in a physical form. The transactions which have led to this appeal were conducted by way of algorithms created by the appellant, Quoine Pte Ltd (“Quoine”), and by the respondent, B2C2 Ltd (“B2C2”). Quoine operated a cryptocurrency exchange platform known as QUOINExchange (“the Platform”), and B2C2 traded on the Platform at the material time. Both Quoine and B2C2 were also market-makers on the Platform, which meant that they created liquidity on the Platform by actively placing orders to buy and sell cryptocurrencies, and in so doing, helped to minimise volatility in the market on the Platform. As is typical of algorithmic trading, the buy and sell contracts on the Platform were concluded without any direct human involvement, save that involved in the creation of the algorithmic processes leading to their formation. Algorithmic trading has been described as follows (see Alain Chaboud et al, “Rise of the Machines: Algorithmic Trading in the Foreign Exchange Market”, International Finance Discussion Papers, 29 September 2009 at p 1):
In algorithmic trading … [traders’] computers directly interface with trading platforms, placing orders without immediate human intervention. The computers observe market data and possibly other information at very high frequency, and, based on a built-in algorithm, send back trading instructions, often within milliseconds. …
Sometimes things can go wrong, as they did in the present case.
2 It transpired that Quoine’s failure to make certain necessary changes to several critical operating systems on the Platform set off a chain of events that eventually led to the transactions which are at the heart of this appeal. On 19 April 2017, a total of 13 trades (“the Disputed Trades”) were concluded between B2C2 and two other users of the Platform, namely Pulsar Trading Capital and Mr Yu Tomita (“Pulsar” and “Mr Tomita” respectively, and “the Counterparties” collectively), where B2C2 sold one type of cryptocurrency, Ethereum (“ETH”), for another type, Bitcoin (“BTC”), at a rate of either 9.99999 BTC or 10 BTC for 1 ETH. The rates at which the Disputed Trades were concluded were approximately 250 times the then going rate in the market of around 0.04 BTC for 1 ETH. The Disputed Trades were automatically settled by the Platform, and 3092.517116 BTC was debited from the Counterparties’ accounts and credited into B2C2’s account, while 309.2518 ETH was debited from B2C2’s account and credited into the Counterparties’ accounts. As the Counterparties’ accounts did not have a sufficient BTC balance to meet the amount that was debited, this resulted in a negative BTC balance in the Counterparties’ accounts. When Quoine became aware of the Disputed Trades the next day, it considered the rates at which the trades were concluded to be highly abnormal and unilaterally proceeded to cancel the trades. The debit and credit transactions involving B2C2’s account and the Counterparties’ accounts were also reversed.
3 B2C2 subsequently commenced proceedings against Quoine on the basis that its unilateral cancellation of the Disputed Trades and reversal of the settlement transactions were in breach of contract and/or breach of trust. The International Judge who heard the matter (“the Judge”) rejected all of Quoine’s defences and allowed B2C2’s claims for both breach of contract and breach of trust. The Judge did not address the issue of damages given that the trial was bifurcated (see B2C2 Ltd v Quoine Pte Ltd [2019] 4 SLR 17 (“Judgment”) at [134]).
4 A central plank of Quoine’s defence both at trial and on appeal was the contention that the contracts underlying the Disputed Trades (“the Trading Contracts”) were void or voidable for unilateral mistake. This requires us to consider how the doctrine of unilateral mistake should operate where the contracts in question were entered into by way of the parties’ respective algorithms, as transpired here.
5 So far as the asserted breach of trust is concerned, this raises the complex question of whether the relevant cryptocurrency, BTC, may even be regarded as a species of property capable of attracting trust obligations.
6 Both these questions were the subject of extensive analysis by Prof Goh Yihan (“Prof Goh”), whom we appointed as amicus curiae. We are deeply grateful to Prof Goh for the extensive research he conducted and the excellent assistance he afforded us on both issues. However, the latter question was not explored in detail in the court below, where the parties appeared to have proceeded on the common ground that BTC was a species of property that was capable of being the subject of a trust. Despite Prof Goh’s able assistance, for reasons which we develop later, we think that the question as to whether BTC can be the subject of a trust should not be dealt with here but should be kept open for another day, in a case in which this issue is properly before the court.
7 In our judgment, for the reasons that follow, the Judge was correct to find that there were no terms in the various contractual documents, whether express or implied, which entitled Quoine unilaterally to cancel the Disputed Trades. We also agree with the Judge that there was no operative mistake on the part of the Counterparties that could be relied upon to vitiate the Trading Contracts. Additionally, given that the BTC was credited into B2C2’s account pursuant to valid contracts, B2C2 could not be said to have been unjustly enriched. We therefore dismiss Quoine’s appeal with respect to the breach of contract claim. However, we are satisfied that no trust could have arisen over the BTC in B2C2’s account, even assuming that the BTC could be the subject of a trust. Therefore, we allow Quoine’s appeal with respect to the breach of trust claim and reverse the decision of the Judge in that regard.
The factual background
8 The detailed facts are set out in the Judgment at [14]–[26] and [69]–[105]. It suffices for us to reproduce the salient facts which are relevant to understanding the arguments made in this appeal.
Quoine and the Quoter Program
9 We begin with a brief introduction of Quoine and the program it used for its trades as a market-maker. Quoine is a Singapore incorporated company which operated the Platform at all material times. The Platform allows users to trade cryptocurrencies, like BTC and ETH, for other cryptocurrencies or for fiat currencies. It uses an electronic ledger as an order book for all the orders that are placed by users wishing to buy and sell cryptocurrencies. Real time information on the available buy and sell orders are also displayed on the right panel of what was referred to as the “Trading Dashboard” located on the Platform’s website.
10 As mentioned, apart from being the operator of the Platform, Quoine also functions as a market-maker on the Platform. In actively placing buy and sell orders, Quoine adds depth to the order book and ensures that there is a continuous two-sided market on the Platform, thus creating liquidity on the Platform and helping to minimise volatility in the market (see Judgment at [18]). A market-maker also profits from what is known as the “bid-ask” spread, which is the difference between the price at which the market-maker is willing to buy or bid for a particular currency and the price at which it is willing to sell or ask for that currency. In the material period, Quoine was the principal market-maker on the Platform. Mr Mario Antonio Gomez Lozada (“Mr Lozada”), Quoine’s Chief Technical Officer, estimated that Quoine was responsible for around 98% of the market-making trades on the Platform (Judgment at [73]).
11 Quoine’s market-making trades on the Platform are conducted through its “Quoter Program”. The Quoter Program retrieves external market prices from other cryptocurrency exchanges and uses this data to determine the orders that Quoine will place on the Platform for market-making purposes. Importantly, the Quoter Program is proprietary to Quoine and the information generated by it is not available to other users of the Platform (Judgment at [18] and [72]).
The Counterparties and margin trading
12 We touch on some basic aspects of trading on the Platform as described in Quoine’s Trading Rules dated 17 March 2017. There are two types of trading offered on the Platform which are relevant to the present dispute. The first is spot trading, where trades are settled instantly with payment for a trade being effected as soon as the trade is completed. The second is margin trading, which is a variant where trades are entered into using borrowed funds (including borrowed cryptocurrencies). Margin traders may obtain loans directly from Quoine, or from other users of the Platform willing to offer them. For margin traders with loans from Quoine, the assets in their accounts serve as the collateral for the loans, which has a bearing on how the Platform’s operating system functions. The Platform is designed to close out a margin trader’s open positions when it detects that the margin trader may not be able to repay its loans. In the event that the collateral in the margin trader’s account falls below a pre-determined percentage of the loan, a margin call is triggered against the margin trader and the Platform automatically force-closes its margin positions by placing market orders on the Platform to close out its open positions. This is known as a “margin sell-out position”.
13 The Platform continually monitors a margin trader’s “live profit and loss” in respect of each open position (“live P&L”) for the purposes of determining how much collateral the margin trader has available in its account. The live P&L is calculated by multiplying the quantity of borrowed cryptocurrency by the difference between its open price and its theoretical close price. The theoretical close price is calculated by simulating the closing of the margin trader’s position against the current price ladder on the Platform’s order book. The price ladder refers to the available buy and sell orders with bid and ask prices that are presently on the Platform’s order book. Therefore, abnormally priced orders placed on the order book and/or an abnormally thin order book can affect the calculation of the margin trader’s live P&L, and cause the Platform to detect that the margin trader is in a margin sell-out position and take steps to force-close the margin trader’s positions. In such circumstances, the Platform’s operating system will automatically execute the force-closures as market orders to buy or sell the relevant currency at the best available price on the Platform. Further, the margin trader is not contacted in advance of the force-closures being executed; nor will it know the precise prices at which the force-closures will be executed (Judgment at [17]).
14 At and around the time of the Disputed Trades, the Counterparties were trading in the ETH/BTC market using ETH borrowed from Quoine (Judgment at [25]).
B2C2 and the Trading Software
15 Next, we introduce B2C2 and its trading software. B2C2 is incorporated in England and Wales and amongst its business interests is that of being a market-maker. As with other exchange platforms on which B2C2 conducts market-making, its entire trading process on the Platform is automated using its algorithmic trading software (“the Trading Software”) which was designed to function with minimal human intervention (Judgment at [13]). The Trading Software was designed almost exclusively by Mr Maxime Boonen (“Mr Boonen”), a director of B2C2 and its key witness at the trial. It should be noted that the Trading Software’s algorithm is deterministic (Judgment at [82]), which, as defined by both the Judge and Prof Goh, is one which will always produce precisely the same output given the same input. To put it another way, the Trading Software will do just what it was programmed to do and does not have the capacity to develop its own responses to varying conditions. Hence, faced with any given set of conditions, it will always respond to that in the same way. The fact that the Trading Software’s algorithm is deterministic is significant to our analysis below in relation to Quoine’s defence of unilateral mistake.
16 As explained in the report of Quoine’s expert witness, Mr Vikram Kapoor, the Trading Software’s algorithm for placing buy and sell orders on the Platform comprises different “layers” at which different algorithmic trading “strategies” are applied. The first layer contains 12 different algorithmic trading strategies that are programmed to work in sequence, and such a series of trading strategies is known as a “strategy chain”. The “PureQuote” strategy, which the Judge discussed at [83]–[84] of the Judgment, is the first strategy in the strategy chain of the First Layer. For the relevant sell (or buy) order B2C2 wishes to place on the Platform, the PureQuote strategy first constructs an order book that is internal to the Trading Software based on the 20 best sell (or buy) orders already placed on the Platform’s order book. This information is received from the Platform. In constructing the internal order book, the PureQuote strategy will also disregard any sell (or buy) order that has been placed for less than a certain quantity of the cryptocurrency. The PureQuote strategy then processes the information on the internal order book and produces an “output” price. In other words, based on the parameters that have been pre-programmed into the PureQuote strategy, the PureQuote strategy determines the optimal output price given the information it has received from the Platform. This output price that is produced by the PureQuote strategy, however, is not the price that the Trading


