Referrals
How referral codes are registered, bound, and rewarded: 10% of protocol fees in USDC, plus dfPOINTS.
Share a code and earn from everyone who uses it. Referrers earn 10% of the protocol fees their referred traders generate, paid in USDC, and both sides draw from dedicated dfPOINTS pools.
Referrals connect two wallets: the referrer who owns a code, and the referee who binds to it. Once bound, the referrer earns a share of the protocol fees on that trader's activity, and both wallets draw from the referrer and referee pools in the weekly points emission, 5% each.
The fee share does not change what anyone pays to trade. It is paid out of the protocol's own half of each fee, so binding to a code never increases what you pay.
How It Works
01 - Register a Code
Sign a message with your wallet to claim a code. No transaction, no gas.
02 - Share It
Anyone who has not already bound a code can use yours.
03 - They Bind
The referee's code travels with their first trade or vault deposit. Nothing separate to sign.
04 - The Referrer Earns
Protocol fees from that trader accrue to you in USDC, claimable in the app, and both wallets earn dfPOINTS every epoch.
Registering a Code
Claiming a code is a signature, not a transaction. You sign a message with your connected wallet; the code is recorded against your address. No gas, no confirmation wait, nothing on-chain.
Codes are first-come, first-served. One code per address.
Binding to a Code
A referee binds by carrying the code on their first qualifying action: opening a trade, or depositing into the vault. The code ID rides along as a suffix on the transaction data the trader already sends. There is no separate binding transaction and nothing extra to approve.
Actions that bind a code:
| Action | Binds |
|---|---|
| Open a trade (market or limit) | Yes |
| Deposit into the dfUSDC vault | Yes |
| Locked vault deposit | Yes |
| Close, modify TP/SL, add or remove collateral | No |
| Withdraw from the vault | No |
Binding is permanent. Once your address is bound to a code, it cannot be changed or transferred. This stops referral-hopping between codes chasing incentives, and it means a referrer's history cannot be taken from them after the fact.
Before you bind, the app checks the code and reports one of:
| Status | Meaning |
|---|---|
| Usable | The code exists and you are free to bind to it |
| Code not found | No code registered under that string |
| Invalid code | The string is not a well-formed code |
| Already bound | Your address is already bound to a code permanently |
| Self-referral | The code is your own. You cannot refer yourself |
What You Earn
Referrers earn two ways: a USDC share of protocol fees, and dfPOINTS. Referees earn dfPOINTS. Nothing here changes what a trader pays.
Fee Share - 10% of protocol fees, in USDC
Every trade your referees open and close pays a maker or taker fee, and half of that fee goes to the protocol. You earn 10% of the protocol's half.
referrerFeeShare = 10% x (protocol share of your referees' trading fees)The rate is 10%. The app shows it as Your fee share on your referrals page, and every row of your earnings history records the rate that row settled at.
Worked example. A referee trades $10,000 of BTCDOM at the taker rate:
| Leg | Rate | Fee paid | Protocol half | Your 10% |
|---|---|---|---|---|
| Open | 0.06% | $6.00 | $3.00 | $0.30 |
| Close | 0.015% | $1.50 | $0.75 | $0.075 |
| Round trip | $7.50 | $3.75 | $0.375 |
What counts
| Source | Earns you a fee share |
|---|---|
| Referee opens a trade | Yes |
| Referee closes a trade | Yes |
| Referee is liquidated | No |
| Referee's funding payments | No |
| Referee's oracle fees (0.10 USDC per action) | No |
| Referee deposits into or withdraws from the dfUSDC vault | No |
| Your own trading | No |
Only fees from after a referee bound to your code count. Activity before that earns nothing, in line with how binding works everywhere else on this page.
A referee who only ever provides liquidity earns you nothing here. Vault deposits bind a code, but they generate no protocol fee, so that wallet shows in your referred count while contributing $0 to your fee share. It still earns you dfPOINTS through the referrer pool.
Tracking what you have earned. Your referrals page in the app settles earnings one period at a time and keeps the full record. The header shows Unclaimed USDC, Your fee share, Claimed, and Earned, and the Earnings history table below it carries one row per settlement period:
| Column | What it shows |
|---|---|
| Period (UTC) | The settlement period the row covers |
| Referred fees | Protocol fees generated by your referred traders in that period |
| Rate | The fee-share rate applied to that period |
| Earned | Your USDC for that period |
| Status | Pending, Claimable, or Claimed |
Claiming. Claiming happens in the app, and it does not happen on its own. Head back to the DomFi UI, open your referrals page, connect the wallet that owns the code, and hit Claim; everything unclaimed comes across in one transaction. You pay the gas, which on Base is cents.
Your balance accumulates until you go and get it. Nothing expires and an unclaimed balance is never lost, so waiting and claiming several periods at once works exactly as well as claiming each one, and costs less gas.
Referrer Pool - 5% of weekly emission
Your score is the sum of all points your referees earned that epoch, across both the LP and trader pools. Your payout is your share of that total against every referrer:
referrerScore = sum(LP points + trader points earned by each of your referees)
referrerPoints = (yourReferrerScore / allReferrerScores) x referrerPoolYou earn on your referees' activity, not on your own. A referrer with no active referees in an epoch earns nothing from this pool that epoch.
Referee Pool - 5% of weekly emission
Bind to a code and you draw from the referee pool on top of everything you already earn:
refereePoints = (yourPoints / allReferredUsersPoints) x refereePoolOnly activity after binding counts.
This pool is a variable-rate bonus. The fewer referred users active in an epoch, the larger each one's share, which rewards binding early rather than late.
Referees earn points, not a discount. Binding to a code does not increase your trading fees, and your referrer's share is paid out of the protocol's own half, never added to your cost.
Stacking
The rewards are independent and they stack. A single wallet that LPs, trades, refers others, and was itself referred draws from all four points pools in the same epoch, and collects its USDC fee share on top:
| You are | You earn |
|---|---|
| LP only | LP pool |
| Trader only | Trader pool |
| LP + trader | LP pool, trader pool |
| Referred trader | Trader pool, referee pool |
| Referrer who also trades | Trader pool, referrer pool, USDC fee share |
| Referred trader who refers others | Trader pool, referee pool, referrer pool, USDC fee share |