Skip to main content

Overview

Divvi is an on-chain rewards protocol that connects builders and protocols in a mutually beneficial way.

Protocols launch Divvi Campaigns by funding reward contracts to incentivize usage of their products. Each campaign defines its own reward structure and KPIs, which determine how you earn based on the impact you drive.

By integrating Divvi into your app, you can refer users to participating protocols. When those users interact with the protocols on-chain, Divvi attributes that activity back to you—enabling you to earn rewards based on real user impact.

Divvi manages tracking, attribution, and payouts, so you can focus on creating high-quality user experiences while getting rewarded for the value you generate.

How It Works

Once you’ve integrated Divvi and registered a user, Divvi takes care of the rest:

📝 User registration
Your app appends referral metadata to a transaction. Once the transaction is confirmed and registered, the user is linked to you as their referrer.

📊 Activity tracking
Divvi monitors the user’s on-chain activity with the Campaigns you’ve signed up for.

🧮 Reward calculation
Divvi periodically calculates your rewards based on referred user activity and publishes the results on-chain.

💸 Claiming rewards
You can claim your rewards directly from Divvi’s smart contracts whenever you're ready.

Getting Started

Integrating Divvi is simple. At a high level, here’s what you need to do:

  1. Register yourself in the Divvi ecosystem using a wallet address
  2. Join the Divvi Campaigns you want to participate in
  3. Build user experiences that drive engagement with those campaigns
  4. Append referral metadata to your users' first transaction
  5. Register that transaction hash with Divvi
  6. That’s it! Divvi handles tracking, attribution, and reward calculation. You can claim your rewards periodically from the reward contracts directly.

👉 To make this even easier, use the guided onboarding experience for builders. You’ll be walked through the process step-by-step, with no need to manage raw contract calls manually.

DivviRegistry Contract Details

The DivviRegistry is the on-chain source of truth for all participating builders, campaigns, and referred users. It records which builders are registered, which campaigns you’ve joined, and which users you’ve referred.

The DivviRegistry contract is deployed on the Optimism network at 0xEdb51A8C390fC84B1c2a40e0AE9C9882Fa7b7277.

ABI: You can find the contract ABI here by clicking on the implementation contract address and scrolling down to the "Contract ABI" section.

Check for existing Referrals

You can check the referral status of a particular user for a given campaign by calling the isUserReferredToProvider method on the DivviRegistry contract. This will return true if the user has been referred to the given campaign by any builder.

To determine which builder has referred some user to a given campaign, you can call the getReferringConsumer method on the DivviRegistry contract, which will return the builder address which referred the queried user to the given campaign. If the user has not yet been referred to the campaign, this will return the zero address instead.