Comment Reffinity transforme un parrainage en récompense
Chaque règle ci-dessous fonctionne dans la démo.
1. Le registre des parrainages
Accepter une invitation inscrit une seule entrée on-chain : qui a invité qui.
Pas d'auto-parrainage
Un portefeuille ne peut pas utiliser son propre code.
Un parrain, pour toujours
Un portefeuille n'est inscrit qu'une fois.
Pas de boucle
Impossible d'inviter la personne qui vous a invité.
2. Étapes et récompenses
Chaque étape est confirmée par un organisateur ou un autre module Monark.
| Étape | Points pour vous | Récompense pour vous |
|---|---|---|
| 1Inscription | +10 | Aucune |
| 2Premier atelier | +25 | Aucune |
| 3Première prime | +50 | 10,00 tUSDC |
| 430 jours d'activité | +15 | 5,00 tUSDC |
Seul le parrain direct est récompensé : aucun versement à plusieurs niveaux.
3. Le score de confiance
Part de 50. Sous 50, le parrainage est inscrit, mais ses récompenses attendent un examen.
Nouveau portefeuille, financement partagé, rafale : 50 − 12 − 12 − 8 = 18. En attente.
| Signal | Effet |
|---|---|
| Portefeuille actif depuis 6+ mois | +20 |
| Historique on-chain sur 2+ réseaux | +10 |
| Présence à un atelier confirmée par un organisateur | +15 |
| Portefeuille créé il y a < 10 minutes | −12 |
| Financé par la même adresse que 3+ autres nouveaux portefeuilles | −12 |
| 5+ portefeuilles liés ont rejoint en 2 minutes | −8 |
4. Ce qui est on-chain, et ce qui ne l'est pas
On-chain
- Qui a invité qui
- Étapes confirmées et points
- Récompenses débloquées et réclamées
- Tentatives refusées (annulées)
Hors chaîne
- Ouvertures de lien et étiquettes de canal
- Signaux du score de confiance (indexeur)
- Noms et messages
5. Pour les développeurs : les événements du contrat
Le tableau de bord est construit uniquement à partir de ces événements.
Voir les événements du contrat
// Reffinity referral contract (Solidity events, simplified)
event AmbassadorRegistered(address indexed ambassador, bytes8 code, uint256 programId);
event ReferralRecorded(address indexed inviter, address indexed invitee, uint256 programId);
event ReferralRejected(address indexed invitee, bytes32 reason); // SelfReferral | AlreadyReferred | ReferralLoop
event MilestoneReached(address indexed invitee, bytes32 milestone, uint32 points, uint256 reward);
event RewardHeld(address indexed invitee, uint8 trustScore);
event RewardsClaimed(address indexed ambassador, uint256 amount);