O que são tokens semifungíveis (SFTs)?
Escrito por Pragat
Tokens semi-fungíveis (SFTs) combinam as características de tokens fungíveis (FTs) e tokens não fungíveis (NFTs), e são uma inovação relativamente recente para a blockchain Solana. Os SFTs estão sendo usados atualmente em aplicações de jogos e metaverso, e devem ter muitos outros usos no futuro.
A ideia de tokens semi-fungíveis foi criada inicialmente na Ethereum com o padrão multi-token ERC1155, e agora existe na Solana como SFTs. Para entender como os SFTs funcionam na Solana é necessário compreender a arquitetura da blockchain, que divide lógica e dados em Data Accounts e Program Accounts, além do programa Token Metadata da Solana.
Em que os SFTs diferem dos tokens fungíveis e não fungíveis?
Os tokens semi-fungíveis exibem as qualidades de tokens fungíveis e tokens não fungíveis em diferentes pontos do seu ciclo de vida. Inicialmente, os SFTs funcionam como tokens fungíveis e podem ser trocados por tokens idênticos sem perda de valor para nenhuma das partes. Uma vez usados, perdem seu valor de troca e ganham os atributos de tokens não fungíveis colecionáveis.
Quais são as principais vantagens de usar SFTs em vez de NFTs?
Os SFTs são preferíveis aos NFTs em certos contextos, pois são mais eficientes, econômicos, flexíveis e envolvem maior segurança nas transações.
1. Transações reversíveis
Talvez a vantagem mais significativa de usar SFTs em vez de NFTs seja que transações de tokens para endereços incorretos são reversíveis e reembolsáveis.
2. Mais eficientes e econômicos
Diferente dos NFTs, que precisam ser transferidos individualmente, os SFTs suportam transferências em lote. Isso significa que múltiplos SFTs podem ser transferidos em uma única chamada de programa, economizando tempo e reduzindo significativamente os custos de transação.
3. Segurança aprimorada
Os SFTs permitem transferências altamente seguras ao aprimorar os padrões existentes para NFTs.
Para que servem os SFTs?
Atualmente, os SFTs são usados principalmente em ambientes de jogos e metaverso, onde a atividade on-chain pode ser vinculada a ativos dentro do jogo. Vejamos dois exemplos: gerenciar várias unidades do mesmo NFT e registrar conquistas em jogos.
1. Exemplo de SFT do Genopets
Genopets é um jogo de NFT na blockchain Solana que utiliza tanto NFTs quanto SFTs. Os jogadores podem comprar um pet único como NFT, e os recursos abundantes que coletam (por exemplo, madeira, água, cristais, metal etc.) estão disponíveis como SFTs.
Os SFTs são preferíveis para jogos com NFT porque permitem que os jogadores comprem e vendam múltiplos ativos (por exemplo, 15 cristais de água) em uma única transação. Os tokens fungíveis podem acomodar múltiplos ativos em um único programa (ou seja, smart contract), o que significa que sua transferência gera menos congestionamento e taxas de transação mais baixas do que os NFTs padrão, que são tratados individualmente.
2. Exemplo de conquistas dentro do jogo
Os SFTs também são úteis para registrar o histórico de um jogo. Por exemplo, uma arma dentro do jogo pode ser criada como um SFT e, à medida que a arma é usada, ela ganha as características de um NFT, tornando-se um item único novo por causa do seu histórico registrado no jogo.
À medida que o item muda de mãos ao longo do tempo, novo histórico pode ser armazenado (por exemplo, quantas vezes a arma foi usada, quantas vezes foi usada para matar outros jogadores etc.), como as características tradicionais de armas em jogos web2.
Como os SFTs funcionam na Solana?
Os SFTs na Solana operam como um tipo único de conta ao qual metadados são anexados a um token para representar características em um ambiente de jogo ou metaverso.
O funcionamento dos SFTs na Solana está relacionado à arquitetura única da blockchain, especificamente, à divisão de lógica e dados em dois componentes distintos chamados programs e data accounts, além do programa Token Metadata.
O que são programs e accounts na Solana?
Diferente da maioria das blockchains, a Solana divide lógica e dados em dois componentes distintos chamados programs e accounts. Em vez de armazenar dados em variáveis como os smart contracts em Solidity, os programs na Solana podem interagir com dados externos armazenados em data accounts, e têm a capacidade de alterá-los.
Essa estrutura única torna os programs na Solana altamente performáticos, ao permitir que eles rodem em paralelo enquanto acessam várias accounts. A separação entre código executável e data accounts torna os programs na Solana mais modulares, já que não estão vinculados inerentemente a nenhum dado individual.
As accounts na Solana são arrays de bytes armazenados em um endereço específico. O endereço de uma account pode ser definido como a chave pública de um par criptográfico. Para acessar uma account, um program também precisa ter acesso à chave privada do par de chaves. Alguns tipos de programs têm a capacidade de alterar os dados dessa account.
Contas recém-criadas geralmente são inicializadas por um program marcado como o proprietário da account. O program define a estrutura dos dados alocados à account e também é responsável por fornecer instruções para a account.
Os tipos de accounts na Solana incluem:
- Mint Accounts - armazenam as informações globais de um token
- Token Accounts - armazenam a relação entre a Wallet Account de um usuário e uma Mint Account.

Em que os program derived addresses (PDAs) diferem de outras accounts na Solana?
PDAs são endereços de account derivados algoritmicamente da chave pública do program que é o proprietário da account onde residem, em vez de fazerem parte de um par criptográfico.
As accounts localizadas em PDAs são projetadas para serem controladas pelo program específico a partir do qual seu endereço é gerado. Como os Program Derived Addresses são gerados algoritmicamente a partir da chave pública de um program, é impossível que dois programs diferentes gerem o mesmo PDA.
Os PDAs têm alguns usos importantes, como permitir que programs assinem Cross-Program Invocations e possibilitar a criação de múltiplas accounts dentro de um endereço que podem ser derivadas de forma determinística.
O que é o programa Token Metadata na Solana?
O propósito do programa Token Metadata na Solana é permitir a adição de metadados extras a tokens, já que as Mint Accounts têm limitações na quantidade e nos tipos de dados que podem armazenar.
O programa Token Metadata faz parte do protocolo Metaplex, que foi desenvolvido inicialmente para simplificar a criação de NFTs na Solana. No entanto, o programa também funciona com SFTs.
Uma Mint Account armazena apenas alguns atributos de dados sobre um token, como seu suprimento atual e authorities. As Mint Accounts não conseguem armazenar outros dados que apps e marketplaces usam. Para superar essa limitação, o programa Token Metadata oferece uma Metadata Account localizada em um PDA derivado do endereço da Mint Account. A Metadata Account incorpora muitos atributos valiosos, permitindo que tokens on-chain comuns se tornem ativos digitais.

O que é o padrão JSON?
O padrão JSON é uma forma de adicionar dados a tokens armazenados off-chain, a fim de economizar nas taxas envolvidas em armazenar dados adicionais on-chain. O atributo URI nas Metadata Accounts aponta para um arquivo JSON off-chain que armazena informações úteis sobre tokens seguindo um determinado padrão.
Para garantir que o arquivo JSON não possa ser atualizado, ele pode ser armazenado usando uma solução de armazenamento permanente como o Arweave. Além disso, o atributo Is Mutable na Metadata Account pode ser usado para impedir que o atributo URI, e outros atributos, sejam alterados.

Qual é a relevância do programa Token Metadata para os SFTs na Solana?
O token metadata é a forma como os SFTs na Solana se tornam funcionais em jogos ou ambientes de metaverso como objetos ricos em metadados, como armas.
Um Semi-fungible Token na Solana consiste em uma Mint Account com duas propriedades:
- Tem um supply maior ou igual a 0 (por exemplo, mais de 1 token em circulação)
- Não tem casas decimais (por exemplo, apenas números inteiros)
A adição da Metadata Account mantém o controle da fungibilidade de um token por meio do seu atributo Token Standard. O programa atribui esse atributo automaticamente, e ele não pode ser atualizado manualmente. Além disso, o atributo FungibleAsset representa o token standard para SFTs.

A Metadata Account também contém outras informações importantes que especificam o SFT como uma arma específica dentro do jogo, por exemplo. Essas informações incluem a animação ou o logo que, sob o padrão JSON, podem ser armazenados off-chain usando o atributo URI.

Quais são as implicações dos SFTs para o futuro do Web3?
A natureza híbrida dos SFTs abriu novas possibilidades para como os tokens podem ser usados para representar ativos digitais complexos em uma variedade de ambientes de forma econômica e altamente funcional.
Embora os casos de uso em jogos e metaverso sejam os mais populares para os SFTs, eles estão atraindo bastante atenção por sua flexibilidade aprimorada e pela oportunidade de reduzir custos armazenando dados off-chain.
Visões gerais relacionadas
Solana27 de julho de 2026
Nós Solana: validadores, nós RPC e self-hosting
O que são nós Solana, como validadores, nós RPC e sistemas de dados secundários se diferenciam, e quando optar por self-hosting versus usar um provedor.
Solana22 de julho de 2026
Dados de arquivamento do Solana: como consultar o histórico completo de blocos e transações
Dados de arquivamento do Solana explicados: por que os nós fazem prune do histórico, quais métodos RPC exigem acesso a dados de arquivamento e como consultar o histórico completo de blocos e transações em escala.
Solana28 de maio de 2026
Solana Agent Kit vs GOAT vs ElizaOS: qual framework você deve usar?
Comparação entre Solana Agent Kit, GOAT e ElizaOS: profundidade nativa em Solana, abrangência multi-chain ou runtime completo de agentes. Exemplos de código e um framework de decisão.

Construa magia blockchain
A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.