![]()
MIP#263101
Status:
In voting
Overview
This proposal prepares the Money on Chain Decentralized Oracle protocol (OMOC) for the upcoming migration of RIF on Chain (RoC) and Money on Chain (MoC) to decentralized RIF/USD price provision and protocol task execution.
The proposed changer will:
- Deploy and register the new
RIF/USDcoin pair inOMOC, - Deploy the TasksRunner infrastructure,
- Give
OMOCoracle operators time to review, upgrade, and subscribe to the new services before they are used by RoC and MoC, - Change the conversion route used for
RIFrevenue collected from RoC to use the more liquidUSD₮0/RIF,WBTC/USD₮0, andMOC/WBTCpools, - Incorporate the OMOC circuit-breaker improvements described in MIP#262701, and
- Incorporate the protocol cleanup and fixes described in MIP#262702.
These changes are intended to further decentralize price provision and protocol operations while improving the reliability and efficiency of the revenue used to compensate OMOC operators.
Motivation
Prepare OMOC operators for the RoC and MoC migration
RoC and MoC currently depend on semi-centralized price feeders for the RIF price and on centralized automators for periodic protocol tasks. A separate future governance proposal will migrate those responsibilities to OMOC after the new services are operational and oracle operators have had sufficient time to adopt them.
Before that migration can take place, the RIF/USD coin pair and TasksRunner services must be available in OMOC. Oracle operators also need sufficient time to:
- Review the new components,
- Upgrade their nodes,
- Subscribe to the
RIF/USDcoin pair, - Subscribe to the
TasksRunnerconsensus, and - Verify that their infrastructure is ready to provide these services.
Deploying the facilities first separates operator onboarding from the later protocol migration and reduces operational risk.
Improve the conversion of RoC revenue
Part of the revenue collected from RoC is converted from RIF into MOC tokens and used to compensate OMOC nodes. Because there is no direct MOC/RIF liquidity pool, this conversion requires multiple hops.
The existing route uses the WRBTC/RIF pair for one of those hops. That pair frequently lacks sufficient liquidity, which can delay payments and cause unnecessary value loss during conversion.
This proposal changes the conversion route to RIF → USD₮0 → WBTC → MOC, using the USD₮0/RIF, WBTC/USD₮0, and MOC/WBTC pools. These pools have substantially more liquidity than the WRBTC/RIF pool used by the existing route. The change is expected to:
- Improve the timely payment of
OMOCoracle revenue shares, - Reduce slippage and value lost during conversions, and
- Make the revenue-conversion process more reliable.
Proposed Changes
1. Add the RIF/USD coin pair to OMOC
The changer will deploy and register the contracts and configuration required for RIF/USD price consensus in OMOC.
This proposal only establishes the new coin pair and enables operator subscription. Migrating RoC to consume the resulting RIF/USD price will require a separate future governance proposal.
2. Add TasksRunner to OMOC
The changer will deploy the TasksRunner infrastructure used to coordinate recurring on-chain protocol operations among OMOC operators.
TasksRunner extends the oracle network’s consensus-based operating model beyond price publication. Participating operators will be able to subscribe to task-execution consensus, receive execution turns, and execute registered protocol tasks on-chain.
The initial deployment is intended to give operators time to review and adopt the service. Migrating RoC and MoC tasks from centralized automators to TasksRunner will require a separate future governance proposal.
3. Use RIF/USD₮0 liquidity for RoC revenue conversion
The changer will replace the conversion hop that currently depends on WRBTC/RIF liquidity with the multi-hop route RIF → USD₮0 → WBTC → MOC. This route will use the USD₮0/RIF, WBTC/USD₮0, and MOC/WBTC pools, which have substantially greater available liquidity.
The conversion will remain multi-hop because no direct MOC/RIF pool exists.
4. Incorporate the OMOC circuit-breaker improvements
This proposal incorporates the improvements presented in MIP#262701 — Implementation of an Oracle Circuit Breaker and some other improvements, including:
- The
OMOCoracle circuit breaker, and - Automatic unsubscription of oracle operators whose stake falls below the required participation threshold.
5. Incorporate the protocol cleanup and fixes
This proposal also incorporates the improvements presented in MIP#262702 — Code Cleanup for Deprecated BTCX Leveraged Positions (and Bug Fixes), including:
- Removal of deprecated
BTCXdaily inrate payment logic, and - Validation preventing unsupported pegged-token addresses from being accepted in RoC queue transactions.
Expected Outcome
After this proposal is executed:
RIF/USDprice consensus will be available inOMOC,TasksRunnerconsensus will be available inOMOC,- Operators will be able to upgrade and subscribe before RoC and MoC depend on the new services,
- RoC revenue conversion will use the more liquid
RIF/USD₮0route, OMOCwill include the circuit-breaker and operator-unsubscription improvements from MIP#262701, and- The cleanup and fixes from MIP#262702 will be incorporated.
The migration of RoC and MoC to these OMOC services will remain subject to a separate future governance proposal and vote.
Governance Process
As with all protocol-level changes, this proposal will be submitted to a governance vote.
The upgrade will be executed only after:
- Proposal approval through governance,
- Deployment and verification of the changer contract, and
- Execution of the approved changer.
Technical Procedure
Some technical or coding knowledge is necessary to fully understand this section.
The upgrade will be executed through a changer contract that deploys and configures the RIF/USD coin pair and TasksRunner infrastructure, updates the RoC revenue-conversion route, and incorporates the changes referenced in MIP#262701 and MIP#262702.
The exact contract list, parameters, and verified addresses will be added to this draft before the governance vote.
Changer Contract
The changer contract to vote would be:
| Name | Address (and link to verified code in RSK blockscout explorer) |
|---|---|
PreTasksRunnerChanger |
0x015F2836467Ce43E27D22b0d03929c371Ff1d0f1 |
Existing Contracts to be upgraded
The following contracts are already part of the protocol and will be upgraded as part of this proposal:
| Name | Type | Address |
|---|---|---|
OracleManager |
Proxy | 0x64A5...712C |
OracleManager |
Implementation | 0x2ea6...F6A9 |
OracleManager |
New implementation | 0xDa61...5c54 |
CoinPairBTCUSD |
Proxy | 0xa288...2672 |
CoinPairBTCUSD |
Implementation | 0x37ff...e03F |
CoinPairBTCUSD |
New implementation | 0xb9F7...8b9A |
CoinPairRIFBTC |
Proxy | 0x4D58...98d0 |
CoinPairRIFBTC |
Implementation | 0x37ff...e03F |
CoinPairRIFBTC |
New implementation | 0xb9F7...8b9A |
CoinPairUSDARS |
Proxy | 0x44E1...4393 |
CoinPairUSDARS |
Implementation | 0x37ff...e03F |
CoinPairUSDARS |
New implementation | 0xb9F7...8b9A |
CoinpairUSDCOP |
Proxy | 0xdD71...166b |
CoinpairUSDCOP |
Implementation | 0x37ff...e03F |
CoinpairUSDCOP |
New implementation | 0xb9F7...8b9A |
Existing Contracts to be reconfigured
The following contracts are already part of the protocol and will be reconfigured as part of this proposal:
| Name | Address |
|---|---|
mocSwapper |
0x2412...3C73 |
New Contracts
| Name | Address |
|---|---|
TasksRunnerProxy |
0xD99a...b975 |
TasksRunnerImplementation |
0xA3eA...69D3 |
BasefeeProvider |
0xA9Aa...915C |