Hoe tokens te distribueren naar actieve leden (NFT's: nog niet)
Zealy kan leden niet filteren op recente activiteit en kan vandaag geen NFT's versturen. Het mechanisme dat werkt is een sprint — met de uitbetalingsberekening uit de code.
Door Mathis Grosjean

Op deze pagina
Kort antwoord: Start een sprint. Op Zealy is een sprint een ranglijst met een startdatum en een einddatum, zodat de XP die erin wordt gerangschikt binnen dat venster wordt verdiend in plaats van voor altijd opgeteld. Dat is het enige mechanisme in het product dat mensen betaalt voor nu actief zijn in plaats van voor ooit eens meedoen. Zealy bepaalt vervolgens wie heeft gewonnen en legt vast welk adres betaald moet worden. Het verplaatst de tokens niet en kan helemaal geen NFT toevoegen — het beloningsveld zegt het zelf: NFT-beloningen zijn nog niet beschikbaar.
Wat dit bericht niet doet: je een filter geven dat niet bestaat. Je kunt Zealy niet vragen om "leden die in de afgelopen 30 dagen iets hebben geclaimd" en een lijst krijgen. En het vertelt je niet hoe je een NFT via Zealy verstuurt, want er is geen NFT-beloning om te versturen. Wat het wel kan doen voor de NFT-helft is je een verdedigbare lijst van ontvangers geven — de sprint bepaalt wie, en het minten en versturen gebeurt in je eigen tooling.
Openbaarmaking: Zealy publiceert dit en Zealy verkoopt het beschreven product. Elk onderstaand Zealy-gedrag is afgelezen uit de Zealy-codebase in plaats van uit Zealy's eigen documentatie, die op meerdere punten onjuist bleek te zijn. Elk extern getal vermeldt zijn bron op de plek waar het verschijnt.
Laatst geverifieerd: 15 augustus 2026.
Waarom "mijn actieve leden belonen" moeilijker is dan het klinkt
De meeste tokendistributies betalen voor een momentopname uit het verleden en kijken vervolgens toe hoe de tokens vertrekken. In een academische studie naar negen airdrops maakte bij de meeste protocollen de mediane ontvanger één tokenoverdracht, en het mediane gat tussen hun eerste en laatste was nul dagen. Activiteit belonen betekent in plaats daarvan betalen voor gedrag binnen een venster dat je zelf bepaalt.
Die studie is "Airdrops: geld weggeven is moeilijker dan het lijkt" door Johnnatan Messias, Aviv Yaish en Benjamin Livshits, over negen protocoldistributies. Eén transfer en geen verstreken tijd is geen lid dat je hebt verworven. Het is een wachtrij waarvoor je hebt betaald om één keer voor je te staan.
De gebruikelijke reactie is harder filteren voordat je verstuurt, wat duur en laat werkt. Die aanpak, en wat Optimism en LayerZero ervoor kregen, is het onderwerp van hoe je een airdrop uitvoert die niet gefarmd wordt.
Er is een goedkopere versie van hetzelfde idee. In plaats van aan iedereen te distribueren en vervolgens de mensen af te trekken die je niet wilde, definieer je een venster, publiceer je wat er binnen dat venster krediet oplevert, en betaal je de ranglijst die daaruit komt. Niemand hoeft te worden verwijderd, want niemand stond ooit gratis op de lijst.
Je kunt Zealy-leden niet filteren op recente activiteit
De ledentabel van Zealy filtert op precies dertien kolommen: id, naam, rol, lidmaatschapsdatum, Discord-handle en -ID, TikTok-gebruikersnaam, X-gebruikersnaam, aantal X-volgers, X-ID, e-mail, land en ETH-adres. Lidmaatschapsdatum is de enige datum. Er is geen filter voor laatst actief, geen filter voor laatste claim en geen filter voor XP in de afgelopen 30 dagen.
Dit verrast mensen, dus het is de moeite waard precies te zijn over hoe ver dit gaat. De ledenpagina geeft je de lijst hierboven. XP staat er niet eens op — XP wordt als kolom getoond, maar berekend nadat de pagina met leden al is opgehaald, waardoor er niet op gefilterd of gesorteerd kan worden. De publieke API is nog beperkter: search, roles, ids, joinedAfter, joinedBefore en een sort. Zealy's analytics brengen actieve gebruikers in de tijd wel in kaart, maar een grafiek is een aggregaat. Zealy vertelt je hoeveel mensen vorige week actief waren en geeft je hun namen niet.
Sorteren op XP redt je ook niet, want de XP van een lid is een totaalstand en niets dat aan een periode is gekoppeld. Een lid dat in maart hard heeft gefarmd en sindsdien je questboard niet heeft geopend, staat nog steeds boven iemand die deze maand elke week iets heeft geclaimd. Je community op XP sorteren is hem op geschiedenis sorteren.
Dus de eerlijke formulering van de beperking: op Zealy is "actief" vandaag geen eigenschap van een lid die je kunt opvragen. Het is een eigenschap van een periode die je zelf definieert.
Het mechanisme dat op Zealy werkt: een sprint
Een Zealy-sprint is een leaderboard met een startdatum en een einddatum, dat XP telt van claims die binnen dat venster zijn gedaan op de quests die de sprint omvat. De ranglijst is een lijst van wie actief was tijdens de periode die je hebt gekozen. Leden met nul sprint-XP worden automatisch uitgesloten van de uitbetaling.
Dat laatste detail doet meer dan het lijkt. Het slapende deel van je community wordt niet weggefilterd door een regel die je hebt geschreven; het ontbreekt in het resultaat omdat het niets heeft gedaan in het venster. Je krijgt het filter dat je wilde als bijeffect van de vorm van het geheel.
Eén voorbehoud, want het bepaalt of je een sprint een zuivere meting kunt noemen: XP die een admin binnen het venster handmatig heeft toegekend, telt ook mee voor de sprint, naast claims. Als je bonus-XP uitdeelt, pas je hetzelfde getal aan waaruit de uitbetaling wordt berekend.
Sprints betalen op een van twee manieren, en beide zijn het begrijpen waard voordat je een getal kiest.
Proportioneel. Elk lid ontvangt floor(pool × their sprint XP ÷ total sprint XP). Neem een pool van 10.000 tokens, 250.000 XP verdeeld over iedereen die in aanmerking komt, en een lid dat daarvan 4.000 heeft verdiend: hun aandeel is 160 tokens. Elk aandeel wordt naar beneden afgerond, dus de uitbetalingen kunnen samen iets minder zijn dan de pool. Let op: als je ook een beloningszone instelt, wordt het totaal in die noemer opnieuw berekend over alleen de mensen binnen de zone — dus een cutoff toevoegen verhoogt ieders aandeel én verkort de lijst.
Gelaagd. Je definieert rangbereiken, elk met een percentage van de pool, gelijk verdeeld binnen het bereik. Rangen 1–10 kunnen samen 40% krijgen en rangen 11–50 nog eens 20%. Je kunt tot 50 lagen definiëren, en ze mogen elkaar niet overlappen en geen gat tussen bereiken laten. Gelaagd betaalt positie in plaats van inspanning, wat je wilt wanneer het doel een zichtbare race is.
Bovenop beide is de beloningszone een harde top-N-cutoff. Stel deze in op 200 en rang 201 krijgt niets, ongeacht hoeveel XP ze hebben verdiend. Een sprint heeft geen raffle-modus — uitbetaling is op rang en XP, dus als je willekeur wilt, kijk je naar een quest-beloningsmethode in plaats van een sprint.
Communities draaien al jaren precies deze vorm. Bandzaï beschreef een sprint met bijna 600.000 $BZAI en Zaï-NFT's voor de top 200 van het leaderboard. CoinW had een Top 50-ranglijst met een hoofdprijs van 100 USDT. Alphaday plaatste de top 10 van zijn ranglijst in de running voor een deel van een prijzenpot van $300 in ETH. ShimmerSea bood 5.500 USDT en 404 speciale Lumi-NFT's aan om mensen elk onderdeel van zijn protocol te laten testen. Alle vier de casestudy's zijn uit 2023, en alle vier zijn het beloningszones met een datum eraan verbonden.
Een van hen maakt het NFT-punt voor mij. De prijs van Bandzaï bestond uit tokens en NFT's voor een top 200-zone. De sprint kiest de 200. De NFT's bij hen afleveren was, en is nog steeds, de taak van het project zelf — wat ons brengt bij wat Zealy wel en niet in iemands handen zal leggen.
Wat Zealy daadwerkelijk verstuurt, per beloningstype
Het datamodel van Zealy bevat zeven beloningstypes en de quest-editor biedt er zes: XP, Discord-rol, Zaps, USDC, token en een aangepaste "overige". USDC is de enige die vanzelf aankomt. Tokenbeloningen worden geregistreerd in plaats van verstuurd, en NFT-beloningen zijn vandaag niet beschikbaar in het product.
| Beloning | In de quest-editor? | Wie het daadwerkelijk verplaatst |
|---|---|---|
| XP | Ja | Zealy, binnen Zealy |
| Zaps | Ja | Zealy, binnen Zealy |
| Discord-rol | Ja | De Zealy-bot, asynchroon; een lid zonder gekoppelde Discord ontvangt er nooit een |
| USDC | Ja | Zealy, automatisch bij een succesvolle claim, uit een saldo dat je vooraf aanvult |
| Token | Ja | Jij. Zealy registreert de winnaar en het adres om te betalen |
| Aangepast "overig" | Ja | Jij, op de manier die je hebt beschreven |
| NFT | Nee | Niemand. Het veld toont NFT-beloningen zijn nog niet beschikbaar |
De NFT-rij moet je twee keer lezen. Het datamodel van Zealy bevat nog steeds een NFT-beloningstype en Zealy heeft ooit NFT's geslagen via een externe dienst op Polygon achter een feature flag. In het product dat je vandaag gebruikt, toont het NFT-beloningsveld één string die zegt dat het niet beschikbaar is, en alles erachter is uitgeschakeld. Elke gids die je laat zien hoe je een NFT-beloning aan een Zealy-quest koppelt, beschrijft iets dat er niet is.
Tokenbeloningen werken, met een taakverdeling die makkelijk verkeerd te lezen is. Zealy bepaalt wie heeft gewonnen en schrijft een openstaande rij met de winnaar en hun geverifieerde adres. Daarna stuur je vanuit je eigen wallet en plak je de transactiehash terug — er is een bulkactie die één hash in één keer op elke openstaande winnaar zet, zo rond je een top-200 sprint af zonder 200 keer te kopiëren en plakken. Zealy ondersteunt hiervoor meer dan twintig netwerkidentifiers, waarvan twee testnets.
Waar Zealy stopt en de community begint, voor een tokenbeloning. USDC is de uitzondering — dat wordt automatisch bijgeschreven.
Twee gevolgen volgen hieruit, en geen van beide staat in de marketingtekst. Zealy heeft geen signer voor tokenbeloningen, dus de community betaalt de gas. En Zealy verifieert momenteel niet on-chain dat het juiste bedrag bij het juiste adres is aangekomen. Het formulier voor één winnaar controleert alleen dat de transactie-ID ten minste een geldige vorm heeft; de bulkactie die één hash op elke openstaande winnaar zet, controleert alleen dat je iets hebt getypt. De hash is een registratie van je claim dat je hebt betaald, geen bewijs van betaling. Als je community groot genoeg is om dat onderscheid relevant te maken, houd dan je eigen reconciliatie bij.
USDC is de uitzondering die zich gedraagt zoals mensen verwachten dat een beloning zich gedraagt. Je vult een saldo aan, elke quest blokkeert fondsen daartegen, en een succesvolle claim schrijft het lid automatisch bij. De USDC wordt opgebouwd als een saldo aan Zealy-zijde en wordt opgenomen naar de gekoppelde Polygon-wallet van het lid. Wijs mensen op het opnamescherm voor de actuele voorwaarden in plaats van een nettobedrag te beloven in je campagnebrief.
Wat ontvangers hierover verschuldigd zijn, is een aparte vraag met echte gevolgen, en crypto verdienen zonder iets te kopen behandelt de kant van de ontvanger.
Zealy vs Galxe over het uitbetalen van de beloning
Galxe levert een NFT-beloningstype en voert tokenraffles on-chain uit. Zealy doet geen van beide: NFT-beloningen zijn uitgeschakeld en tokenbeloningen worden geregistreerd, niet verzonden. Het tegenargument is dat Galxe's on-chain raffle de gebruiker een gasvergoeding rekent, en Galxe's aangepaste beloningen door het project worden verdeeld, net als Zealy's tokens.
| Zealy | Galxe | |
|---|---|---|
| NFT als beloningstype | Niet beschikbaar; het veld zegt NFT-beloningen zijn nog niet beschikbaar | Ondersteund. Galxe vermeldt zijn beloningen als "Points, OAT, NFT, Custom Rewards, Mystery Boxes, Tokens en Discord-rollen" en zegt dat het "NFT-beloningen op elk compatibel blockchainnetwerk ondersteunt" |
| Tokenverdeling | Zealy registreert de winnaar en het adres; het project verstuurt | "Token Raffles" werken on-chain, terwijl "Token FCFS" off-chain blijft zonder een transactie te activeren |
| Wie betaalt gas | Het project, vanuit zijn eigen wallet | Voor tokenbeloningen in raffle-modus, "waarbij gebruikers een gastransactiekosten in G-tokens op het Gravity-netwerk moeten betalen" |
| Aangepaste beloningen | Het project levert, net als tokens | "Het project is verantwoordelijk voor het distribueren van deze beloningen, die buiten Galxe worden afgehandeld" |
Galxe-quotes komen uit de gepubliceerde beloningsdocumentatie, gelinkt in de tabelkop.
Wees eerlijk over de afweging. Als je nodig hebt dat een NFT als direct resultaat van het voltooien van een quest in een wallet belandt, doet Galxe dat en Zealy niet, en geen enkele Zealy-sprintopzet vervangt dat. Als je een distributie nodig hebt waarbij ontvangers niets betalen en geen chain aanraken om te ontvangen, doet het USDC-pad van Zealy dat en een on-chain raffle niet. Beide platforms laten aangepaste beloningen aan het project over, dus niemand heeft het algemene geval opgelost.
Hoe je stap voor stap een sprintuitbetaling op Zealy uitvoert
Stel eerst de sprintdatums in, want het venster is het filter. Kies een proportionele of getrapte uitbetaling en een beloningszone. Wanneer de sprint sluit, exporteer je het leaderboard of de beloningswinnaars om walletadressen te krijgen, stuur je vanaf je eigen wallet en plak je de transactiehash terug in Zealy.
1. Bepaal wat het venster meet. Sprint-XP komt van claims tussen de start- en einddatum, dus de quests die je binnen dat venster publiceert, zijn de definitie van "actief" waarvoor je betaalt. Als je diepgang wilt in plaats van klikken, weeg de XP dan op die manier vóór de sprint begint, niet erna. Een sprint aanmaken behandelt de setup.
2. Kies proportioneel of getrapt. Proportionele beloningen belonen de omvang van de inspanning en zorgen voor een lange staart van kleine uitbetalingen. Getrapt concentreert waarde bovenaan en zorgt voor een race. Een beloningszone van een paar honderd houdt de uitbetalingslijst op een grootte die je daadwerkelijk handmatig kunt afhandelen.
3. Beperk de quests, niet de leden. Er is geen leden-allowlist op Zealy, dus de manier om een sprint eerlijk te houden is met questvoorwaarden. Zealy accepteert zeven soorten voorwaarden — een andere quest voltooien, level, Discord-rol, datum, het bezitten van een NFT, aantal X-volgers en leeftijd van het X-account — gecombineerd met AND of OR. Levelvoorwaarden accepteren alleen "above" en "below", en NFT-gating is alleen op Polygon. De documentatie over voorwaarden somt alle zeven op.
4. Kies de beloningsmethode per beloning. Beloningsmethoden zijn allemaal first-come-first-served, raffle, top en vote, en ze worden per beloning ingesteld in plaats van per quest. First-come-first-served en raffle zijn elk beperkt tot 1.000 winnaars, top is ook beperkt tot 1.000, en vote heeft geen bovengrens. Een raffletrekking is een willekeurige volgorde van geslaagde claims, en vereist een claimlimiet of een sluitingsdatum om geldig te zijn.
5. Exporteer het juiste bestand. De ledenexport geeft je userId, naam, rol, XP, aanmelddatum en banstatus, en geen walletadres. Adressen komen uit de leaderboardexport of de export van beloningswinnaars — hoewel het bestand met beloningswinnaars specifiek een Ethereum-adreskolom bevat, dus een Solana- of TON-community kan beter de leaderboardexport nemen. De ledenlijst ophalen en je afvragen waar de wallets zijn gebleven, is het meest verspilde uur in deze hele workflow.
6. Verstuur en registreer dan. Betaal vanuit je wallet, plak de hash en gebruik de bulkactie als de winnaarslijst lang is. Publiceer de hash ook naar je community — aangezien Zealy deze niet on-chain verifieert, is verificatie door je leden de enige controle die bestaat. Documentatie over beloningen behandelt de beloningsinstelling zelf.
De onderdelen die je gaan bijten
Zealy heeft geen leden-allowlist, geen tokenbalans-drempel en geen on-chain controle dat je uitbetalingstransactie deed wat je zegt dat ze deed. Het leaderboard resetten is destructief en verschuift de startdatum van een lopende sprint. De ledenexport bevat geen walletadres. Elk van deze heeft een workaround, en geen ervan is vanzelfsprekend.
De leaderboard-reset is degene die echt geld kost. Resetten wist handmatige XP-toekenningen, zet de claimteller van elke quest op nul en — als er een sprint loopt — schuift de startdatum van die sprint naar voren naar het moment van je reset. De helft van de geschiedenis van je sprint kan verdwijnen met een knop die klinkt als huishoudelijk onderhoud. Rond sprints af voordat je reset, of reset helemaal niet.
De ontbrekende drempels bepalen wat je kunt beloven. Je kunt geen lijst met adressen uploaden en een quest daartoe beperken, en een tokenbalans-voorwaarde kun je niet instellen, ook al bestaat het concept in de codebase. Dus "alleen holders" is geen Zealy-sprint die je kunt configureren; NFT-bezit op Polygon is de dichtstbijzijnde beschikbare drempel.
Level-gating verdient een eigen waarschuwing. Je gate op level, niet op ruwe XP, en alleen boven of onder een level. Leveldrempels komen uit een vaste globale curve die identiek is in elke Zealy-community, dus een tier "level 5 en hoger" betekent dezelfde hoeveelheid verzamelde XP in jouw community als in die van iedereen. Ontwerp tiers wetende dat je de drempels niet instelt — hoe je een crypto-ambassadeursprogramma runt werkt door benoemde rangen rond die beperking op te bouwen.
Niets hiervan maakt de sprint een slecht antwoord. Het maakt het een specifiek antwoord: Zealy is goed in bepalen wie de beloning verdient en niet romantisch over het overmaken ervan. Als je erin gaat met de verwachting van een distributie-engine, zul je je ergeren. Als je erin gaat met de verwachting van een zeer precies scorebord met een exportknop, krijg je precies dat, en het versturen is dertig minuten van je eigen wallet.