Referrals
How referral codes are registered, bound, and rewarded in dfPOINTS.
Share a code, earn a share of what your referrals earn. Both sides are paid in dfPOINTS.
Referrals connect two wallets: the referrer who owns a code, and the referee who binds to it. Once bound, both sides draw from dedicated pools in the weekly points emission: 5% to referrers, 5% to referees.
Referrals pay in points, not fee discounts. There is no trading-fee rebate and no referee fee discount.
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 - Both Earn
Every epoch, the referrer pool and referee pool pay out proportionally.
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
Both sides earn from the weekly dfPOINTS emission. Neither pool changes trading fees.
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.
Stacking
The pools are independent and they stack. A single wallet that LPs, trades, refers others, and was itself referred earns from all four pools in the same epoch:
| You are | Pools you draw from |
|---|---|
| LP only | LP |
| Trader only | Trader |
| LP + trader | LP, trader |
| Referred trader | Trader, referee |
| Referrer who also trades | Trader, referrer |
| Referred trader who refers others | Trader, referee, referrer |