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
  • Creating an Incentive Campaign
  • Managing Co-IPs
  • Managing Additional Incentives
  • Claiming Incentives
  • Fees
  1. MORE
  2. Royco V2

Incentive Locker

Overview

The IncentiveLocker holds the incentives paid out by the IP and connects to various ActionVerifiers to set up markets and validate claim requests before paying out incentives

Creating an Incentive Campaign

Creating an Incentive Campaign is done by first choosing an ActionVerifier, the smart contract module that you want to determine user reward payouts, and an actionParams value, which is arbitrary data which is used as initialization params for the ActionVerifier. ActionParams can take any format and are defined by the ActionVerifier. Next call the createIncentiveCampaign function, with the incentive token or points addresses, and the amounts of each reward to be distributed over the campaign.

Managing Co-IPs

The IP who creates an Incentive Campaign can opt to whitelist other addresses to add incentives to the campaign.

Note: Incentives Added by Co-IPs can only be removed by the primary IP

Note: Incentives Added by Co-IPs are subject to the same multipliers that the primary IP fills on the multiplier orderbook. If the Co-IP does not wish for this behavior, they should opt to create their own incentive campaign. Once incentives are added as a Co-IP, they belong to the primary IP to distribute or remove.

Managing Additional Incentives

Increasing incentive amounts, as well as adding new incentive tokens or points programs, can be done by the primary IP, or by any Co-IP which has been whitelisted by the primary IP to do so.

Decreasing incentive amounts, and returning them to an address, can only be done by the primary IP, so if a Co-IP wishes for their funds to be refunded they must request the primary IP to do so.

Increasing or decreasing incentives calls a hook in the Action Verifier. Certain Action Verifiers may disable adding or removing incentives in certain scenarios. For example, in the UMA Merkle Chef Action Verifier

Claiming Incentives

Before paying out rewards from an incentive campaign, the Incentive Locker calls the processClaim function on the ActionVerifier. This processClaim function is responsible for validating the claimant's request and determining the amount of incentives they are owed. Arbitrary ClaimParams are passed to the ActionVerifier when calling processClaim, which

Fees

Different modules can be connected to each campaign on the IncentiveLocker to achieve different fee structures. Campaigns default to whatever the current default module is set to, but can be updated by a permissioned address in the Incentive Locker.

PreviousRoyco V2NextAction Verifiers

Last updated 22 days ago