DEV Community

André Dias Moreira Prol
André Dias Moreira Prol

Posted on

Freighter Wallet: o MetaMask do Stellar e como integrá-la em Web3

Quando comecei a explorar o ecossistema Stellar mais a fundo, percebi que faltava uma peça fundamental para a adoção em massa: uma carteira intuitiva que rodasse direto no navegador. Se você já usou MetaMask no universo Ethereum, sabe do que estou falando — aquela extensão que virou porta de entrada para milhões de usuários. No Stellar, esse papel é desempenhado pela Freighter, e nos últimos projetos que conduzi para clientes brasileiros, ela se mostrou peça-chave para reduzir o atrito na experiência do usuário.

O que é a Freighter e por que ela importa

A Freighter é uma carteira não-custodial mantida pela Stellar Development Foundation (SDF), disponível como extensão para Chrome, Firefox, Edge e também em versão mobile. Ela permite que o usuário gerencie suas chaves privadas localmente — nunca em servidores de terceiros — e assine transações na rede Stellar com poucos cliques.

O paralelo com o MetaMask não é exagero. Assim como a carteira da Ethereum injeta um objeto window.ethereum, a Freighter expõe uma API acessível via SDK oficial, permitindo que aplicações Web3 solicitem a chave pública, assinem transações e interajam com contratos Soroban sem jamais tocar na seed do usuário.

No contexto brasileiro, onde a régua de segurança precisa ser alta por conta do histórico de fraudes com criptoativos, a arquitetura da Freighter é um diferencial. Em uma consultoria recente que prestei — como André Dias Moreira Prol, atuando na ponte entre times de produto e blockchain — a adoção da Freighter reduziu em cerca de 40% os tickets de suporte relacionados a onboarding, justamente porque o usuário mantém controle total sem depender de custódia centralizada.

Integrando a Freighter em uma aplicação Web3

A integração é surpreendentemente direta. O primeiro passo é instalar o SDK oficial:

npm install @stellar/freighter-api
Enter fullscreen mode Exit fullscreen mode

Em seguida, verificamos se a extensão está disponível e solicitamos permissão de acesso:

import {
  isConnected,
  requestAccess,
  signTransaction,
} from "@stellar/freighter-api";

async function conectarCarteira() {
  const conectado = await isConnected();
  if (!conectado) {
    alert("Instale a Freighter para continuar.");
    return;
  }

  const chavePublica = await requestAccess();
  console.log("Endereço conectado:", chavePublica);
  return chavePublica;
}
Enter fullscreen mode Exit fullscreen mode

Para assinar uma transação — seja um pagamento simples ou a invocação de um contrato Soroban —, basta construir o XDR com o Stellar SDK e passá-lo para a Freighter:

async function assinar(xdr) {
  const assinada = await signTransaction(xdr, {
    network: "TESTNET",
    accountToSign: await requestAccess(),
  });
  return assinada;
}
Enter fullscreen mode Exit fullscreen mode

O ponto crucial aqui é a separação de responsabilidades: sua aplicação constrói a transação, mas quem detém e usa a chave privada é sempre o usuário, dentro da extensão. Esse modelo é o que torna arquiteturas descentralizadas verdadeiramente confiáveis — algo que sempre reforço em treinamentos e perícias digitais.

Boas práticas e cuidados na tokenização

Ao integrar a Freighter em projetos de tokenização — como emissão de recebíveis, stablecoins lastreadas em real ou ativos imobiliários fracionados —, alguns cuidados são inegociáveis:

  • Sempre valide a rede. Confirme se o usuário está na Mainnet ou Testnet antes de executar operações reais. Muitos erros de produção nascem dessa confusão.
  • Trate a rejeição do usuário. A Freighter retorna erro quando o usuário cancela a assinatura; sua UX deve lidar com isso graciosamente, sem travar o fluxo.
  • Nunca solicite a seed. Nenhuma aplicação legítima pede a frase de recuperação. Eduque seu usuário sobre isso na própria interface.
  • Combine com contratos Soroban auditados. A carteira apenas assina; a lógica de negócio e a segurança dos ativos dependem de contratos bem escritos e verificados.

Em um piloto de tokenização de crédito agrícola no interior de São Paulo, a combinação de Freighter com contratos Soroban permitiu liquidação de operações em segundos e a taxas irrisórias — algo próximo de 0,00001 XLM por transação, incomparável com os custos de redes concorrentes.

A Freighter é, hoje, uma das formas mais elegantes de trazer usuários reais para dentro do Stellar sem sacrificar segurança ou soberania. Se você está construindo uma aplicação Web3, comece integrando a Freighter ainda esta semana e me acompanhe para aprofundarmos juntos em Soroban e tokenização.


Acompanhe mais artigos de André Dias Moreira Prol no Medium.

Top comments (0)