An on-chain analysis of Ripple’s escrow system

Coin Metrics recently released version 3.0 of our CM Network Data Pro product. This release includes many new assets, including XRP. When Coin Metrics adds support for any new asset, we do a deep dive into its digital ledger to gain a full comprehension of the ledger and identify any unique behaviors that may affect the creation of our data. For XRP, that meant evaluating its supply schedule and escrow system.

In doing so, Coin Metrics found several important discrepancies between what was publicly reported by Ripple and what was visible on the XRP ledger:

  • Two quarterly markets reports under-reported the number of XRP released from escrow by a total of 200 million XRP ($84 million at current prices)
  • The “escrow queue” is implemented differently than announced, leading to a faster future release of escrowed funds compared to the announced schedule
  • Other party/parties, potentially associated with Ripple, have released 55 million XRP from an unknown escrow address not connected to the main Ripple escrow account

In trying to determine whether these findings were accurate or could be explained, Coin Metrics contacted Ripple through a number of different channels but did not receive a reply.

The following article details our findings.

In March 2017, Ripple announced the following new feature:

Escrow allows XRP Ledger and ILP [Interledger Protocol] to communicate to secure XRP for an allotted amount of time or until certain conditions are met. This can be used to hold funds until a service is completed, or until a moment in time such as a birthday.

A few weeks later, the escrowing of 55 billion XRP owned by Ripple (out of the 100 billion XRP total current supply), was announced:

Today we are permanently removing that uncertainty by committing to place 55 billion XRP into a cryptographically-secured escrow account by the end of 2017. By securing the lion’s share of our XRP, investors can now mathematically verify the maximum supply of XRP that can enter the market.

They further added that whatever they didn’t use of the 1 billion XRP unlocked per month would be escrowed again:

We’ll use Escrow to establish 55 contracts of 1 billion XRP each that will expire on the first day of every month from months 0 to 54. […] We’ll then return whatever is unused at the end of each month to the back of the escrow queue. For example, if 500M XRP remain unspent at the end of the first month, those 500M XRP will be placed into a new escrow account set to expire in month 55.

By locking the majority of the supply, Ripple ensured that they wouldn’t be able to sell more than 1 billion XRP per month for at least the next four and a half years.

On-chain data shows that 55 billion XRP were escrowed on December 16th, 2017. While the announcement article mentioned “55 contracts of 1 billion XRP”, the actual implementation was 25 contracts of 1 billion XRP, expiring monthly from January 2018 to January 2020 and another 60 contracts of 500 million XRP each with two expiring at the beginning of each month from February 2020 to July 2022. While the spirit of the announcement was respected, the implementation differed slightly.

ExpiryEscrow(s)
January 2018 to January 2020 includedSingle 1 billion XRP escrow
February 2020 to July 2027 includedTwo 500 million XRP escrows

At the time of this article, 17 escrow contracts have been redeemed and another 43 have been created, for a total of 17 billion XRP released from escrow and 13.2 billion XRP returned to escrow for a net release of 3.8 billion XRP.

Discrepancies in quarterly reports

Every quarter, Ripple publishes a market report detailing their escrow activity among other updates. The figures published detail how much XRP was released from escrow and returned to escrow that quarter. Using ledger information obtained from Ripple’s Data API, we matched the published figures in those reports to the on-chain activity.

QuarterXRP released – returned (reported)XRP released – returned (on-chain)
Q1 20183.0B – 2.7B = 0.3B3.0B – 2.7B = 0.3B
Q2 20183.0B – 2.7B = 0.3B3.0B – 2.7B = 0.3B
Q3 20183.0B – 2.6B = 0.4B3.0B – 2.5B = 0.5B
Q4 20183.0B – 2.4B = 0.6B3.0B – 2.4B = 0.6B
Q1 20193.0B – 2.3B = 0.7B3.0B – 2.2B = 0.8B

We find that in 2 reports (Q3 2018 and Q1 2019), Ripple misreported the amount of XRP it returned to its escrow scheme, both times over-reporting the amount returned by 100 million XRP (and therefore under-reporting the number of XRP released). Further evidence of this over-reporting is presented in Appendix A.

Discrepancy in the escrow queue implementation

One of our assumptions when reviewing the escrow data was that any XRP unlocked but unused at the end of month n would end up being escrowed until month n + 55 — i.e., unused XRP would move to the back of the escrow queue.

This assumption is based on Ripple’s description of the escrow mechanism:

We’ll then return whatever is unused at the end of each month to the back of the escrow queue.

The Coindesk article published the same day of the announcement of the supply escrow scheme supported this assumption:

Then, at the end of the month whatever XRP is unused will be added to the end of the escrow queue in the form of an additional month-long contract, starting the process all over.

A technical article published the day before the setup of the escrow scheme also confirms this assumption:

Any additional XRP leftover each month will be placed into a new escrow to release in the first month in which no escrow currently releases.

On-chain data however tells a different story. It seems that instead of locking unused funds into the first slot (i.e., the first month) with no existing escrow, they were locked in such a way to maintain the fixed amount of 1 billion XRP in escrow per month.

On January 6th, 2018, the beginning of month 0, Ripple unlocked the first escrow of 1 billion XRP and then, at the end of the month, locked back 900 million XRP for month 55, as expected.

Month (index)Escrowed (expected)Escrowed (actual)
August 2022 (55)900M XRP900M XRP from Jan

In February (month 1) they unlocked another 1 billion XRP and used 100 million of it. Instead of locking another 900 million XRP in month 56 (September 2022), the first month in which no escrow was scheduled to release, the remaining 900 million were escrowed in two different contracts: one of 100 million XRP expiring on month 55, putting the XRP escrowed for that month at 1 billion XRP, and another one of 800 million XRP expiring on month 56.

Of particular importance is that month 55 had already previously been designated as a month in which an escrow would be released. According to Ripple’s original description of the escrow mechanism, all of the unused funds in month 1 of the scheme should have been scheduled to release in month 56:

Month (index)Escrowed (expected)Escrowed (actual)
August 2022 (55)900M XRP1B XRP (900M from Jan, 100M from Feb)
September 2022 (56)900M XRP800M XRP (800M from Feb)

This pattern has been repeated since. While it may make sense to aggregate leftover funds in this way, this modified scheme has in effect accelerated the release schedule of XRP, compared to the strict escrow scheme as was understood by the majority of news outlets and analysts at the time it was reported and as illustrated in Ripple’s examples of how the scheme works.

In the escrow scheme’s introductory article, Ripple published an example of how the distribution of the XRP escrowed would look like, using the announced escrow queue mechanism (locking unused funds 55 months in the future). We reproduced this curve, in blue, and superimposed what would happen using the actual escrow queue mechanism (locking funds such that each month in the queue has 1 billion XRP escrowed) in red. Under the assumption used in the original article that 50 percent of funds would be used per month, the difference between announced and actual queuing would accelerate the distribution timespan by more than 21 years.

If instead of assuming a fixed percentage of funds gets used per month, we assume Ripple takes out of escrow a fixed notional amount per month, like 300 million XRP as has been the case in recent months, the actual scheme is still more advantageous than the announced one:

The announced scheme is 20 percent slower than the implemented one using the assumption that Ripple would take out of escrow 300 million XRP per month.

Other unknown escrowing

While the main use of the escrow feature of the XRP ledger is to manage the release of the 55 billion XRP owned by Ripple, another escrow release scheme is also being used to dispose of 200 million XRP (even other escrows exist, but for much smaller amounts).

On November 16th, 2018, 200 million XRP owned by rNfwFmsgBRrtqQDcWtFAJMzK2P1yCs7XPy (who had received the XRP from an address known to be associated with Ripple) was escrowed into 40 contracts of 5 million XRP each, expiring semi-monthly on the 1st and 15th of each month between December 1st, 2018 included to July 15th, 2020 included.

So far, 55 million XRP have been released from this scheme and after a quick look at the post-release activity of the funds, most of them were moved to Bitstamp.

We do not consider that this is part of the original escrow plan owned by Ripple as per their reported release mechanism and schedule.

Conclusion

Compared to traditional assets and currencies, most crypto currencies’ supplies and behaviours can be audited to a much greater degree of precision. One of the intended goals of the Ripple escrow system was to enable such auditing, which is precisely what this article reflects, using the on-chain data as the ultimate arbiter of how the escrow system was actually being implemented. By auditing the XRP ledger, we found discrepancies in how the escrow was reported to be managed by Ripple and how the escrow’s management was actually implemented. Coin Metrics welcomes any feedback or comment. Please forward any requests or comments to [email protected].

Appendix A

Q3 2018 escrow movements

MonthReleased from escrowReturned to escrow
July 20181B XRP900M XRP on Aug 8th
August 20181B XRP800M XRP on Sept 4th
September 20181B XRP800M XRP on Oct 1st
On-chain total3B XRP2.5B XRP
Oct 25th report’s total3B XRP2.6B XRP

Q1 2019 Escrow movements

MonthReleased from escrowReturned to escrow
January 20191B XRP800M XRP on Feb 5th
February 20191B XRP700M XRP on March 5th, 8th
March 20191B XRP700M XRP on April 3rd
On-chain total3B XRP2.2B XRP
Apr 24th report’s total3B XRP2.3B XRP

More corroborating evidence for the misreporting is present in the running sums of funds released and returned to escrows since the beginning of the scheme (December 16th, 2017) to the last published quarterly report (April 24th, 2019) from the point of view of the XRP ledger and the Ripple quarterly reports.

Dec 16th 2017 to Apr 24th 2019Total released from escrowTotal returned to escrow
On-chain data17B XRP12.5B XRP
Ripple quarterly reports17B XRP12.7B XRP

Disclosure

This analysis was shared before public release with Ripple as well as Coin Metrics’ clients for review and feedback. CM employees and contractors, under our code of conduct, are prohibited in taking a position in covered assets around the time of publication or in relation to its findings.

The Data and Analytics are provided for information purposes only. Coin Metrics is not a financial advisor. You should consult your financial advisor before you make financial decisions based upon the Data or Analytics. Your use of Data and Analytics is at your own risk. If you choose to use Data and/or Analytics for any purpose, you do so voluntarily and you assume all risks associated with such activities.

An earlier version of this article stated ” … 60 contracts of 500 million XRP each with two expiring at the beginning of each month from February 2020 to July 2027″. This latter date was revised to July 2022.

Ripple’s CTO commented on this piece on Twitter here.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

shares