Crie um token de identidade soulbound

Solana Token-2022 NonTransferable ou Sui Closed-Loop Token — cunhado em carteiras, nunca transferido entre elas. Identidade, atendimento, atestação KYC, reputação.

Tokens soulbound são como a identidade on-chain permanece on-chain. Uma vez cunhado em uma carteira, o token nunca pode se mover — tornando-o útil para credenciais, provas de atendimento, atestações KYC e sistemas de reputação onde a transferibilidade permitiria aos usuários jogar a atribuição. Este preset é o SBT mais simples possível em qualquer uma das cadeias: a extensão Solana Token-2022 NonTransferable ou o Token Closed-Loop do Sui sem regra de transferência registrada na TokenPolicy.

O que está incluído

Por que esta pilha

No Solana, a extensão NonTransferable é um único bit na conta de cunhagem — o programa SPL Token-2022 a aplica no nível do protocolo, sem lógica personalizada para auditar. No Sui, `sui::token::Token<T>` é declarado apenas com a habilidade `key` (sem `store`), então `transfer::public_transfer` é rejeitado em tempo de compilação e cada movimento requer uma regra TokenPolicy — que não registramos. A contornagem é estruturalmente impossível em ambas as cadeias.

Por que não EVM?

EVM não possui uma primitiva não transferível no nível do protocolo — cada implementação substitui o gancho `_update` na base ERC-20 para reverter, o que funciona mas não é tão limpo (o caminho de reversão é código auditável, não aplicação de protocolo). Solana e Sui expõem semântica soulbound de primeira classe, então distribuímos lá primeiro. Uma variante EVM é rastreada para quando o caso de uso justifica uma implementação por cadeia.

O emissor pode queimar um distintivo?

Sim em ambas as cadeias. No Solana, a extensão NonTransferable bloqueia transferências entre carteiras mas não queimaduras — a autoridade de cunhagem pode revogar uma credencial via instrução SPL Token Burn padrão. No Sui, o implementador possui o TreasuryCap e pode queimar via `sui::token::burn` (a política Closed-Loop se aplica a transferências iniciadas pelo usuário, não queimaduras do emissor).

Qual é a diferença entre isto e o preset Loyalty no Sui?

Identity / SBT é a forma maximamente restritiva — sem transferências, nunca, por ninguém. Loyalty (apenas Sui) permite transferências mas apenas para endereços na whitelist gerenciada pelo emissor (seus comerciantes, carteiras parceiras, contas operadoras). Escolha Identity para credenciais e provas de atendimento; escolha Loyalty para programas de pontos em circuito fechado onde os titulares precisam gastar saldos dentro da rede de comerciantes.