Official Metrics

Github Orgs

Erasure and Numerai code is stored in two Github organizations with public and private repositories.

  • erasure-protocol: erasure monorepo with smart contracts and tooling

  • NMR: NMR token smart contracts and audits

  • docs: erasure gitbook documentation

  • tournament-contracts: numerai smart contracts for performing custody of user funds.

  • numerox: numerai tournament toolbox in python

  • numerai-cli: automated workflow for numerai tournament participants

  • numerapi: numerai tournament submission api and queries

  • docs: numerai gitbook documentation

Usage Statistics

This section highlights key usage statistics of the erasure protocol and applications and how to produce them.

Data Sources

The erasure protocol is built on ethereum and ipfs, thus all its data is publically accessible. Some applications like the Numerai Tournement may operate a backend in order to provide a better product. In those cases, the data will only be public if the application provides an API for queries.

Here are some services for querying the data of the erasure protocol:

Here are some 3rd party dashboards that track key protocol metrics. Note we cannot guarantee the accuracy of the data provided by these providers, some have been found to be consistantly inaccurate.

Relevant Metrics

ESP_1001 ID

The ESP_1001 standard provides a template for the metadata submitted to erasure protocol contracts. The application field is a string identifier of the application to which this contract instance belongs.

ErasureBay

ErasureQuant Application does not currently use ESP_1001

Numerai Application does not currently use ESP_1001

Registry activity

Tracking the number of clones registered in each registry (Erasure_Users, Erasure_Posts, Erasure_Escrows, Erasure_Agreements) provides an estimate of number of users engaging with the protocol across all application.

Erasure Bay is currently operating on v1.3.x of the erasure protocol and makes use of all 4 registries.

Erasure Quant is currently operating on v1.0.x of the protocol and makes use of Erasure_Posts and Erasure_Agreements registies.

Numerai is currently operating on v1.1.x of the protocol and makes use of Erasure_Agreements registry. Note, since numerai performs custody for all tournament participants, all user actions are initiated through this wallet: 0xdc6997b078c709327649443d0765bcaa8e37aa6c

Value at stake

Tracking the total value locked up in the protocol is a sybil resitant way to measure adoption. Since the protocol supports staking with multiple tokens, USD is often used as the base value. See DefiPulse for example.

Erasure Bay currently supports staking with DAI exclusively. DAI is staked when sent to the CountdownGriefingEscrow or CountdownGriefing contract generated for each request.

Erasure Quant currently supports staking with NMR exclusively. NMR is staked when sent to the OneWayGriefing contract generated for each user.

Numerai currently. supports staking in NMR exclusively. NMR. is staked when sent to the SimpleGriefing contract generated for each user. The numerai tournament operates part of their system off-chain which means not all stakes are represented on-chain. They’ve built the numerapi to enable querying off-chain metrics. Some of the key metrics are available at numer.ai/nmr.

Value burned

Burning NMR is the primary mechanism to punish bad actors on the protocol. Healthy applications will see value burned increase proportionally to the value at stake.

Erasure Bay swaps DAI for NMR on uniswap when performing a burn. Every burn triggers the Griefed event on the CountdownGriefing contract.

Erasure Quant burns NMR directly. Every burn triggers the Griefed event on the OneWayGriefing contract.

Numerai burns NMR directly. Every burn triggers the Griefed event on the SimpleGriefing contract. The numerai tournament operates part of their system off-chain which means not all burns are represented on-chain. They’ve built the numerapi to enable querying off-chain metrics. Some of the key metrics are available at numer.ai/nmr.

Value exchanged

This is equivalent to the GDP of the protocol. It is the value which changes hands in exchange for goods and services traded on the protocol.

Erasure Bay uses DAI as the payment currency. Every payment triggers the PaymentDeposited event on CountdownGriefingEscrow contract.

Erasure Quant uses NMR as the payment currency. Every payment calls the reward function on the OneWayGriefing contract

Numerai uses NMR as the payment currency. Every payment calls the reward function on the SimpleGriefing contract. The numerai tournament operates part of their system off-chain which means not all payments are represented on-chain. They’ve built the numerapi to enable querying off-chain metrics. Some of the key metrics are available at numer.ai/nmr.

Uniswap Liquidity and Volume

It is expected that NMR liquidity on uniswap will increase with adoption of the protocol. This is because erasure uses uniswap to burn NMR. This creates an arbitrage opportunity across uniswap and other exchanges which is covered by higher volume and liquidity.

Uniswap volume produced by Erasure Bay is equivalent to the value burned.

Erasure Quant does not directly use uniswap.

Numerai does not directly use uniswap. However, the app has an NMR purchasing program on uniswap in order to pay rewards.

Smart Contracts

Erasure

The Erasure protocol is currently on version v1.3.0 and composed of 4 registry contracts and more than 20 factory contracts. The protocol is deployed on ethereum mainnet, kovan, and rinkeby.

The 4 active registries are Erasure_Users, Erasure_Agreements, Erasure_Posts, and Erasure_Escrows.

The 4 registry contracts remain the same for all major releases of the protocol (v1.x.x). The factory contracts are changed for every minor releases of the protocol (v1.3.x). The contract addresses are unchanged for patch releases (v1.3.1). See wiki for notes on semantic versioning.

List of Erasure registry and factory addresses and ABIs are maintained in this package: @erasure/abis

Note: the factories spawn individual contracts for each user. This means the number of erasure contracts is constantly increasing. You can obtain a list of all contracts of a given type by calling the appropriate registry as such:

let agreements = await Erasure_Agreements.methods.getInstances().call();

Many users connect to the protocol through smart contract wallets. This means usage of the protocol is not correctly displayed by etherscan. A complete usage analysis requires transaction tracing or event scanning.

NMR Token

Source Code Address: 0x1776e1f26f98b1a5df9cd347953a26dd3cb46671

Tournament

All Numerai tournament calls are relayed through the following proxy contracts before reaching NMR / Erasure in order to perform user custody: 0x9DCe896DdC20BA883600176678cbEe2B8BA188A9 0x1B38819bAB08EF176183D937E21ae1262FE7c337

Last updated