Royco
  • Overview
    • Introduction to Royco
    • Key Concepts
    • Applications
  • FOR USERS
    • FAQs
    • How to Use Royco
  • FOR INCENTIVE PROVIDERS
    • Developer Overview
      • Fees on Royco
    • Recipes vs. Vaults IAMs
    • Create an IAM
    • Incentivize IAMs
      • Types of Incentives
      • Place an Incentive Offer
      • Place an Incentive Offer: For Developers
      • Setup a Points Campaign
      • Native Yield
    • Verify a Market
    • Audits
    • Contract Addresses
  • MORE
    • Bug Bounty Program
    • Cross-Chain Deposit Module (CCDM)
      • CCDM Recipe IAMs
      • Deposit Locker
      • Deposit Executor
      • Token Support
      • Audits
      • IP Guide
    • Royco V2
      • Incentive Locker
      • Action Verifiers
      • Multiplier Market Hub
      • Audit
    • Royco SDK
    • Contributing to the Protocol
    • Brand Kit
  • Royco Vaults
    • Royco Vaults: Overview
  • Royco Vaults: Risks
Powered by GitBook
On this page
  • Overview
  • UMA Merkle Chef
  1. MORE
  2. Royco V2

Action Verifiers

Overview

Action Verifiers are modules which define market types on Royco V2. While the IncentiveLocker is very abstract and unopinionated, the Action Verifiers are the opposite, defining the exact behaviors that are expected of a Royco V2 market.

When rewards are added to or claimed from the Incentive Locker, the IncentiveLocker calls hooks on the ActionVerifiers, which are responsible for determining the exact behavior of how to initialize or how verify reward payouts, in other words: how to verify the completion of an incentivized action.

UMA Merkle Chef

While others are in development, the flagship Action Verifier will be the UMA Merkle Chef, which uses UMA’s Optimistic Oracle, the flexibility of which allows incentivization of anything that can be publicly discovered deterministically.

Each Royco incentive campaign using the UMA Merkle Chef will have a written commitment which explains how the rewards will be distributed in fine detail, and a link to a executable script that calculates every depositor’s incentives and puts them in a merkle tree. The merkle root is then proposed via UMA and given time to be contested and corrected before being pushed onchain to allow the depositors to claim. This gives the output an inherent antifragile property. Users can catch potential errors in their earned rewards while the campaign is running, and fixes can be found before the results are proposed on UMA. In the worst case scenario, users can go straight to UMA to debate an incorrect root in a fashion similar to Polymarket.

This design allows any incentive qualifications that the IP desires to be expressed, regardless of complexity, as long as it can be expressed in the script.

UMA Merkle Chef will simply prorate rewards between a start time and an end time at a fixed net rate, similar to the ubiquitous MasterChef style rewards distribution seen throughout DeFi.

PreviousIncentive LockerNextMultiplier Market Hub

Last updated 22 days ago