Skip to main content

Referrals

The DeepBook referral system allows users to earn fees by referring traders to the platform. Referrers can mint a DeepBookReferral object and traders can associate their BalanceManager with a referral. When traders with an associated referral execute trades, a portion of their trading fees is allocated to the referrer based on the referral multiplier.

How referrals work​

  1. Mint a referral: Anyone can mint a DeepBookReferral with a specific multiplier.
  2. Set referral: Traders associate their BalanceManager with a referral using a TradeCap.
  3. Earn fees: When trades are executed, referral fees are automatically allocated based on the multiplier.
  4. Claim rewards: Referrers can claim their accumulated fees in base, quote, and DEEP tokens.

API​

The following are the referral-related functions that DeepBook exposes.

Mint a referral​

Mint a new DeepBookReferral object with a specified multiplier. The multiplier determines the additional trading fees allocated to the referrer. The multiplier must be a multiple of the base referral multiplier and cannot exceed the maximum allowed multiplier.

Update referral multiplier​

Update the multiplier for an existing referral. Only the referral owner can update the multiplier. The new multiplier must meet the same requirements as when minting a referral.

Claim referral rewards​

Claim accumulated referral fees. Only the referral owner can claim rewards. Returns three Coin objects representing the accumulated fees in base asset, quote asset, and DEEP tokens.

Get referral balances​

View the current accumulated balances for a referral without claiming them. Returns the amounts in base, quote, and DEEP tokens.

BalanceManager referral functions​

These functions are available on the BalanceManager to associate or disassociate a referral.

Set referral​

Associate a BalanceManager with a referral. Requires a TradeCap to authorize the operation. Once set, all trades executed by this balance manager will generate referral fees according to the referral's multiplier.

Unset referral​

Remove the referral association from a BalanceManager. Requires a TradeCap to authorize the operation. After unsetting, trades will no longer generate referral fees.

Get referral ID​

Retrieve the referral ID currently associated with a BalanceManager, if any. Returns Option<ID> which is none if no referral is set.

Get referral owner​

Get the owner address of a referral object.

Events​

ReferralClaimed​

Emitted when a referral owner claims their accumulated fees.

ReferralFeeEvent​

Emitted when referral fees are allocated during trade execution.

•
DeepBookV3 repository

The DeepBookV3 repository on GitHub.