Como distribuir tokens pelos membros ativos (NFTs: ainda não)
A Zealy não consegue filtrar membros por atividade recente e não consegue enviar NFTs hoje. O mecanismo que funciona é um sprint — com os cálculos do pagamento lidos a partir do código.
Por Mathis Grosjean

Nesta página
Resposta curta: Executa um sprint. Na Zealy, um sprint é uma tabela de classificação com data de início e data de fim, pelo que o XP classificado é ganho dentro desse período em vez de acumulado para sempre. É o único mecanismo do produto que paga às pessoas por estarem ativas agora e não por se terem juntado uma vez. A Zealy decide então quem ganhou e regista o endereço a pagar. Não move os tokens e não consegue anexar um NFT de todo — o próprio campo de recompensa diz isso: As recompensas em NFT ainda não estão disponíveis.
O que este artigo não vai fazer: dar-te um filtro que não existe. Não podes pedir à Zealy por "membros que reclamaram algo nos últimos 30 dias" e obter uma lista. E não te dirá como enviar um NFT através da Zealy, porque não há nenhuma recompensa em NFT para enviar. O que pode fazer pela parte dos NFTs é dar-te uma lista de destinatários defensável — o sprint decide quem, e a criação e o envio acontecem nas tuas próprias ferramentas.
Divulgação: A Zealy publica isto e a Zealy vende o produto descrito. Todos os comportamentos da Zealy abaixo foram extraídos do código-fonte da Zealy e não da documentação da própria Zealy, que se revelou incorreta em vários pontos. Todos os números externos indicam a respetiva fonte no local onde aparecem.
Última verificação: 15 de agosto de 2026.
Porque "recompensar os meus membros ativos" é mais difícil do que parece
A maioria das distribuições de tokens paga por um retrato do passado e depois vê os tokens sair. Num estudo académico de nove airdrops, na maioria dos protocolos o destinatário mediano fez uma única transferência de tokens, e o intervalo mediano entre a primeira e a última foi de zero dias. Recompensar a atividade, em vez disso, significa pagar por comportamento dentro de uma janela que defines.
Esse estudo é "Airdrops: Dar dinheiro é mais difícil do que parece" por Johnnatan Messias, Aviv Yaish e Benjamin Livshits, abrangendo nove distribuições de protocolo. Uma transferência e nenhum tempo decorrido não é um membro que adquiriste. É uma fila em que pagaste para ficar à frente uma vez.
A resposta habitual é filtrar com mais rigor antes de enviar, o que funciona de forma dispendiosa e tardia. Essa abordagem, e o que a Optimism e a LayerZero obtiveram com ela, é o tema de como executar um airdrop que não seja farmado.
Há uma versão mais barata da mesma ideia. Em vez de distribuir a todos e depois subtrair as pessoas que não querias, define uma janela, publica o que dá crédito dentro dela e paga o ranking que daí resulta. Ninguém tem de ser removido, porque ninguém esteve alguma vez na lista de graça.
Não é possível filtrar membros da Zealy por atividade recente
A tabela de membros da Zealy filtra exatamente por treze colunas: id, name, role, join date, Discord handle e ID, TikTok username, X username, X follower count, X ID, email, country e ETH address. Join date é a única data. Não há filtro de última atividade, nem filtro de último claim, nem filtro de XP nos últimos 30 dias.
Isto surpreende as pessoas, por isso vale a pena ser exato sobre até onde vai. A página de membros dá-te a lista acima. O XP nem sequer aparece nela — o XP é mostrado como uma coluna, mas é calculado depois de a página de membros já ter sido obtida, razão pela qual não é possível filtrar nem ordenar por ele. A API pública é ainda mais limitada: pesquisa, funções, ids, joinedAfter, joinedBefore e uma ordenação. As análises do Zealy mostram, de facto, utilizadores ativos ao longo do tempo, mas um gráfico é um agregado. O Zealy dir-te-á quantas pessoas estiveram ativas na semana passada e não te dará os nomes delas.
Ordenar por XP também não te salva, porque o XP de um membro é um total acumulado e não algo limitado a um período. Um membro que fez farming intenso em março e não abre o teu questboard desde então continua à frente de alguém que reclamou algo todas as semanas deste mês. Ordenar a tua comunidade por XP ordena-a por histórico.
Portanto, a afirmação honesta da limitação: no Zealy de hoje, "ativo" não é uma propriedade de um membro que possas consultar. É uma propriedade de um período de tempo que tu defines.
O mecanismo que funciona no Zealy: um sprint
Um sprint do Zealy é uma tabela de classificação com uma data de início e uma data de fim, que conta o XP das reivindicações feitas dentro dessa janela nas quests incluídas no sprint. A classificação é uma lista de quem esteve ativo durante o período que escolheste. Os membros com zero XP de sprint são excluídos automaticamente do pagamento.
Esse último detalhe faz mais do que parece. A metade inativa da tua comunidade não é filtrada por uma regra que escreveste; está ausente do resultado porque não fez nada na janela. Obténs o filtro que querias como efeito secundário da forma da coisa.
Uma ressalva, porque decide se podes chamar a um sprint uma medição limpa: o XP atribuído manualmente por um administrador dentro da janela também conta para o sprint, a par das reivindicações. Se distribuíres XP de bónus, estás a ajustar o mesmo número a partir do qual o pagamento é calculado.
Os sprints pagam de uma de duas formas, e ambas merecem ser compreendidas antes de escolheres um número.
Proporcional. Cada membro recebe floor(pool × their sprint XP ÷ total sprint XP). Considere um pool de 10 000 tokens, 250 000 XP distribuídos por todos os elegíveis, e um membro que ganhou 4 000 desses XP: a sua parte é de 160 tokens. Cada parte é arredondada por defeito, pelo que os pagamentos podem somar ligeiramente menos do que o pool. Note que, se também definir uma zona de recompensa, o total nesse denominador é recalculado apenas sobre as pessoas dentro da zona — por isso, adicionar um limite aumenta a parte de todos e encurta a lista.
Por níveis. Define intervalos de classificação, cada um recebendo uma percentagem do pool, dividida igualmente dentro do intervalo. As classificações 1–10 podem receber 40% entre si e as classificações 11–50 outros 20%. Pode definir até 50 níveis, e estes não podem sobrepor-se nem deixar lacunas entre intervalos. O modo por níveis paga a posição e não o esforço, que é o que quer quando o objetivo é uma corrida visível.
Em qualquer dos casos, a zona de recompensa é um limite rígido de topo N. Defina-o como 200 e a classificação 201 não recebe nada, independentemente dos XP que ganhou. Um sprint não tem modo de sorteio — o pagamento é por classificação e XP, por isso, se quiser aleatoriedade, está a olhar para um método de recompensa de quest e não para um sprint.
As comunidades têm aplicado exatamente este formato há anos. Bandzaï descreveu um sprint com quase 600 000 $BZAI e NFTs Zaï para os 200 melhores jogadores da tabela de classificação. CoinW organizou uma tabela de classificação Top 50 com uma recompensa máxima de 100 USDT. Alphaday colocou os 10 melhores classificados da sua tabela de classificação na linha da frente para uma parte de um prémio de $300 em ETH. ShimmerSea ofereceu 5.500 USDT e 404 NFTs Lumi especiais para levar as pessoas a testar todas as partes do seu protocolo. Todos os quatro estudos de caso são de 2023 e todos os quatro são zonas de recompensas com uma data associada.
Um deles demonstra o ponto dos NFTs para mim. O prémio da Bandzaï era tokens e NFTs para uma zona top-200. O sprint escolhe os 200. Entregar-lhes os NFTs era, e continua a ser, tarefa do próprio projeto — o que nos leva ao que a Zealy vai e não vai colocar nas mãos de alguém.
O que a Zealy envia realmente, tipo de recompensa por tipo de recompensa
O modelo de dados da Zealy tem sete tipos de recompensa e o editor de quests oferece seis: XP, cargo no Discord, Zaps, USDC, token e um "outro" personalizado. O USDC é o único que é entregue automaticamente. As recompensas em token são registadas em vez de enviadas, e as recompensas NFT não estão disponíveis no produto atualmente.
| Recompensa | No editor de quests? | Quem o move realmente |
|---|---|---|
| XP | Sim | Zealy, dentro da Zealy |
| Zaps | Sim | Zealy, dentro do Zealy |
| Cargo do Discord | Sim | O bot do Zealy, de forma assíncrona; um membro sem Discord vinculado nunca recebe um |
| USDC | Sim | Zealy, automaticamente após um claim bem-sucedido, a partir de um saldo que pré-financia |
| Token | Sim | Você. A Zealy registra o vencedor e o endereço de pagamento |
| Personalizado "outro" | Sim | Você, por qualquer meio que tenha descrito |
| NFT | Não | Ninguém. O campo indica As recompensas NFT ainda não estão disponíveis |
A linha NFT é a que deve ser lida duas vezes. O modelo de dados da Zealy ainda inclui um tipo de recompensa NFT e a Zealy chegou a cunhar NFTs através de um serviço externo na Polygon, por trás de uma feature flag. No produto que utiliza hoje, o campo de recompensa NFT apresenta apenas uma string a indicar que não está disponível, e tudo o que está por trás está desativado. Qualquer guia que lhe mostre como associar uma recompensa NFT a uma quest da Zealy está a descrever algo que não existe.
As recompensas em tokens funcionam com uma divisão de tarefas fácil de interpretar mal. A Zealy decide quem ganhou e regista uma linha pendente com o vencedor e o respetivo endereço verificado. Depois, envia da sua própria wallet e cola o hash da transação — existe uma ação em massa que aplica um único hash a todos os vencedores pendentes de uma vez, o que lhe permite liquidar um sprint com os 200 primeiros sem 200 cópias e colagens. A Zealy suporta mais de vinte identificadores de rede para isto, dois dos quais são testnets.
Onde a Zealy termina e a comunidade começa, no caso de uma recompensa em tokens. O USDC é a exceção — é creditado automaticamente.
Daí decorrem duas consequências, e nenhuma delas consta dos textos de marketing. A Zealy não detém nenhum signer para recompensas em tokens, pelo que é a comunidade que paga o gás. E a Zealy não verifica atualmente on-chain se o montante certo chegou ao endereço certo. O formulário de vencedor único verifica apenas que o ID da transação tem, pelo menos, um formato válido; a ação em massa que aplica um único hash a todos os vencedores pendentes verifica apenas que escreveu algo. O hash é um registo da sua declaração de ter pago, não uma prova de pagamento. Se a sua comunidade for suficientemente grande para que essa distinção seja importante, mantenha a sua própria reconciliação.
O USDC é a exceção que se comporta como as pessoas esperam que uma recompensa se comporte. Carregas um saldo, cada quest bloqueia fundos contra esse saldo e um claim bem-sucedido credita o membro automaticamente. O USDC acumula-se como saldo do lado da Zealy e é levantado para a Polygon wallet associada do membro. Indica às pessoas o ecrã de levantamento para os termos atuais, em vez de lhes prometeres um valor líquido no briefing da campanha.
O que os destinatários devem sobre qualquer um destes pontos é uma questão separada com consequências reais, e ganhar cripto sem comprar nenhuma cobre o lado do destinatário.
Zealy vs Galxe na entrega da recompensa
A Galxe disponibiliza um tipo de recompensa NFT e executa sorteios de tokens on-chain. A Zealy não faz nenhum dos dois: as recompensas NFT estão desativadas e as recompensas em tokens são registadas, não enviadas. O contraponto é que o sorteio on-chain da Galxe cobra ao utilizador uma taxa de gas, e as recompensas personalizadas da Galxe são distribuídas pelo projeto, tal como os tokens da Zealy.
| Zealy | Galxe | |
|---|---|---|
| NFT como tipo de recompensa | Não disponível; o campo indica As recompensas NFT ainda não estão disponíveis | Suportado. A Galxe indica as suas recompensas como "Points, OAT, NFT, Custom Rewards, Mystery Boxes, Tokens e Discord Roles" e afirma que "suporta recompensas NFT em qualquer rede blockchain compatível" |
| Distribuição de tokens | A Zealy regista o vencedor e o endereço; o projeto envia | Os "Token Raffles" funcionam on-chain, enquanto os "Token FCFS" permanecem off-chain sem acionar uma transação |
| Quem paga o gas | O projeto, a partir da sua própria carteira | Para recompensas de tokens em modo sorteio, "exigindo que os utilizadores paguem uma taxa de transação de gas em tokens G na rede Gravity" |
| Recompensas personalizadas | O projeto entrega, tal como os tokens | "O projeto é responsável por distribuir estas recompensas, que serão tratadas fora da Galxe" |
As citações da Galxe provêm da sua documentação de recompensas publicada, com link no cabeçalho da tabela.
Avalia a troca com honestidade. Se o que precisas é de um NFT a chegar a uma carteira como resultado direto de concluir uma quest, a Galxe faz isso e a Zealy não, e nenhum design de sprint da Zealy substitui isso. Se o que precisas é de uma distribuição em que os destinatários não pagam nada nem tocam em nenhuma chain para receber, o caminho USDC da Zealy faz isso e um sorteio on-chain não. Ambas as plataformas deixam as recompensas personalizadas ao encargo do projeto, por isso ninguém resolveu o caso geral.
Como executar um pagamento de sprint na Zealy, passo a passo
Define primeiro as datas do sprint, porque a janela é o filtro. Escolhe pagamento proporcional ou por níveis e uma zona de recompensa. Quando o sprint fechar, exporta a tabela de classificação ou os vencedores das recompensas para obter os endereços das carteiras, envia a partir da tua própria carteira e depois cola o hash da transação de volta na Zealy.
1. Decide o que a janela está a medir. O XP do sprint vem das claims feitas entre as datas de início e fim, por isso as quests que publicas dentro dessa janela são a definição de "ativo" pela qual estás a pagar. Se queres profundidade em vez de cliques, pondera o XP dessa forma antes de o sprint abrir, não depois. Criar um sprint abrange a configuração.
2. Escolhe proporcional ou escalonado. As recompensas proporcionais valorizam o volume de esforço e produzem uma longa cauda de pequenos pagamentos. O escalonado concentra o valor no topo e produz uma corrida. Uma zona de recompensa de algumas centenas mantém a lista de pagamentos num tamanho que consegues liquidar manualmente.
3. Restringe as quests, não os membros. Não existe lista de membros permitidos no Zealy, por isso a forma de manter um sprint honesto é com condições nas quests. O Zealy aceita sete tipos de condições — concluir outra quest, nível, cargo no Discord, data, deter um NFT, número de seguidores no X e idade da conta X — combinadas com AND ou OR. As condições de nível aceitam apenas "above" e "below", e a restrição por NFT é exclusiva da Polygon. A documentação de condições lista as sete.
4. Escolhe o método de recompensa por recompensa. Métodos de recompensa são todos, por ordem de chegada, sorteio, top e votação, e são definidos por recompensa e não por quest. Por ordem de chegada e sorteio têm cada um o limite de 1.000 vencedores, o top também tem o limite de 1.000 e a votação não tem limite máximo. Um sorteio é uma ordenação aleatória das participações bem-sucedidas e precisa de um limite de participações ou de uma data de encerramento para ser válido.
5. Exporta o ficheiro certo. A exportação de membros dá-te userId, nome, função, XP, data de adesão e estado de banimento, e nenhum endereço de carteira. Os endereços vêm da exportação da tabela de classificação ou da exportação de vencedores de recompensas — embora o ficheiro de vencedores de recompensas emita especificamente uma coluna de endereço Ethereum, por isso uma comunidade Solana ou TON deve usar antes a exportação da tabela de classificação. Obter a lista de membros e perguntar onde estão as carteiras é a hora mais desperdiçada de todo este fluxo de trabalho.
6. Envia e depois regista. Pague a partir da sua carteira, cole o hash, use a ação em massa se a lista de vencedores for longa. Publique também o hash na sua comunidade — como a Zealy não o verifica on-chain, a verificação pelos seus membros é o único controlo existente. Documentação de recompensas abrange a própria configuração das recompensas.
As partes que o vão apanhar
A Zealy não tem lista de membros autorizados, nem restrição por saldo de tokens, nem verificação on-chain de que a sua transação de pagamento fez o que diz que fez. Repor o leaderboard é destrutivo e altera a data de início de um sprint em curso. A exportação de membros não contém endereço de carteira. Cada um destes pontos tem uma solução alternativa, e nenhuma delas é óbvia.
A reposição do leaderboard é a que custa dinheiro real. Repor apaga atribuições manuais de XP, zera o contador de claims de cada quest e — se houver um sprint a decorrer — antecipa a data de início desse sprint para o momento da reposição. Metade do histórico do seu sprint pode desaparecer com um botão que parece uma simples limpeza. Termine os sprints antes de repor, ou não reponha de todo.
As restrições em falta condicionam o que pode prometer. Não pode carregar uma lista de endereços e restringir uma quest a esses endereços, e uma condição de saldo de tokens não é algo que possa definir, embora o conceito exista no código. Por isso, "apenas holders" não é um sprint da Zealy que possa configurar; deter NFTs na Polygon é a restrição mais próxima disponível.
A restrição por nível merece um aviso próprio. Restringe por nível, não por XP bruto, e apenas acima ou abaixo de um nível. Os limites de nível vêm de uma curva global fixa idêntica em todas as comunidades Zealy, pelo que um escalão "nível 5 ou superior" significa a mesma quantidade de XP acumulado na sua comunidade que na de qualquer outra pessoa. Desenhe os escalões sabendo que não é você que define os limites — como executar um programa de embaixadores cripto funciona através da criação de níveis nomeados em torno dessa restrição.
Nada disto faz do sprint uma má resposta. Faz dele uma resposta específica: a Zealy é boa a decidir quem merece a recompensa e pouco romântica a movê-la. Se entrares à espera de um motor de distribuição, vais ficar irritado. Se entrares à espera de um placar muito preciso com um botão de exportação, é exatamente isso que vais ter, e o envio são trinta minutos da tua própria carteira.