Before receiving rewards, a new developer mining participant must meet certain criteria. Meeting this criteria is intended to allow the program to allocate developer mining rewards correctly. This process is separate from initial whitelisting, and should be considered when a developer is ready to launch their contract.
This is the high-level developer mining onboarding process that you will need to follow.
- If you have not done so already, apply to the developer mining whitelist.
- Deploy liquidation and dispute bots.
- Ensure the availability of your synthetic token's price.
- Send deployment information to the UMA core team.
After deploying your contract, you will need to deploy liquidation and dispute bots to ensure the security of that contract. Instructions for bot deployment are here.
Currently supported price feeds for bots include:
If your contract's price identifier is not supported by the existing price feeds above, you will need to write a custom price feed that works within UMA's bot infrastructure. After writing this price feed, please follow the UMA contribution guidelines to submit a pull request here.
To calculate the correct number of rewards, it must be possible to determine the value of each synthetic token in a common base currency. Each synthetic token's value is converted to USD to determine the total value minted (TVM) by each contract. These TVMs are then used to determine how rewards should be allocated.
To perform this process, each synthetic token must have an available price feed in USD. Before receiving rewards, you must ensure that one of the following is available.
- Your synthetic token value in USD on CoinGecko. Here is an example for uUSDrBTC.
- Your synthetic token's price identifier and collateral currency on CryptoWatch. Here is an example for the ETH/BTC price identifier and for the BTC/USD collateral price. This method is usually available when your price identifier is composed of a widely used cryptopair.
The final step required to be added to developer mining rewards is to alert a member of the UMA core team of your successful deployment. After deploying your contract and deploying your liquidation and dispute bots, you will need to provide the following information to start receiving rewards.
- Your deployed contract's address.
- The wallet address that you would like developer mining rewards sent to.
You will also need to send the parameters of your deployed contract. Please note that these parameters must meet certain criteria to make your contract eligible for developer mining rewards. The requirements are as follows.
collateralRequirementmust be above 1.2 for contracts using volatile price identifiers, and 1.05 for less volatile price ids. Determination of volatility is subjective and left up to the UMA core team, but you may be asked to provide your price identifiers realized 30 day volatility to support your chosen
- Your price identifier must have a working price feed that has been added to the UMA price feed directory.
- Your price feed must have a method called
getHistoricalPricePeriodsto calculate historical prices for more than one week of time (example here), or your synthetic token must be listed on CoinGecko.