Academy
Live on TestnetReferrals
Academy referrals attribute a wallet to a referrer on a given chain, then share a fixed slice of that wallet’s task points with a two-hop chain: direct (the person you invited) and grand (people your directs invite).
UI states
- Not authenticated — prompt to authenticate to unlock your referral link
- Profile not ready — link appears once the Academy profile / code is ready
- Ready — copyable link plus Direct referrals and Grand referrals counts
Your referral link
After Sign In, Academy ensures an 8-character referral code for your wallet on the active chain and builds a link of the form:
https://www.aurove.xyz/academy?ref=<8-char-code>- Query param:
ref - Code charset: alphanumeric plus
_/-, length 8 - One code per user + chain; codes are unique globally
How someone becomes your referral
- They open your link (or any URL carrying your
refcode). - If they are not signed in yet, the app can store the code in a short-lived pending cookie (
academy_referral, ~7 days) until they authenticate. - On bind (authenticated
POST /api/academy/referral), the system records a relationship: referred user → referrer for that chain.
Binding rules
- One referrer per wallet per chain — once bound, a different code is rejected as already bound.
- No self-referral — you cannot use your own code.
- Chain must match — the code’s chain must match the authenticated session chain.
- Re-binding the same referrer is idempotent (returns the existing relationship).
Direct vs grand referrals
The network is a two-hop tree built only from direct relationships:
| Metric | Meaning | How it is counted |
|---|---|---|
| Direct referrals | Wallets that bound your referral code | Count of relationships where you are the referrer_user_id on this chain |
| Grand referrals | Wallets referred by your directs | Count of relationships one hop below your directs (your direct is their referrer) |
How referral points are earned
Referrals do not pay a one-time signup bonus in the current system. Instead, when a referred user earns task points (for example from a qualifying swap or fee collection), the base award is split across the action user and their referral chain:
| Recipient | Share of base task points | When paid |
|---|---|---|
| Action user (the person who completed the task) | 90% | Always, for the task award |
| Direct referrer of that user | 3% | Only if a direct referrer is bound |
| Grand referrer (referrer of the direct referrer) | 7% | Only if a grand referrer exists on the chain |
Example: Alice is bound to you, and Carol is bound to Alice. When Carol earns 100 base task points:
- Carol receives 90 (user share)
- Alice receives 3 (direct referral reward)
- You receive 7 (grand referral reward)
If Carol has no grand referrer (Alice was not referred by anyone), Alice still gets 3% and Carol 90%; the 7% grand slice is simply not minted to anyone.
Where rewards show up
- Points total / rank — include user and referral award entries for the season
- Activity dialog (leaderboard row) — badges such as Task reward, Direct referral reward, and Grand referral reward
Ledger source types used internally: task_award_user, task_award_referral_direct, task_award_referral_grand.
Qualified referrals (epoch context)
For some epoch / leaderboard helpers, a direct referral may be treated as qualified only when the referred user also has points activity inside that epoch window. The Academy referral card counts (Direct / Grand) are total relationship counts for the chain, not limited to the current epoch.
Quick reference
- Connect wallet, switch network, Sign In on Academy.
- Copy your referral link and share it.
- When friends sign in via your link, your Direct count increases.
- When they refer others, your Grand count increases.
- You earn ongoing points when they complete Academy tasks (3% direct / 7% grand of their base task points).
