V1 roadmap · página técnica

Camada Stellar

Como Akrus liquida valor em USDC sem que o produtor brasileiro precise saber o que é uma blockchain, uma wallet, ou um token.

A tese

No Brasil, mexer com cripto é fricção regulatória, fiscal e cognitiva. O produtor quer ver R$ caindo na conta dele e "patrimônio acumulado" subindo ao longo do tempo — não quer pensar em chaves privadas, gas fees ou pegs.

Akrus usa Stellar como rail invisível: cada venda em R$ tem 3% convertido em USDC custodiado pela própria plataforma, contabilizado como "patrimônio Akrus" (no vocabulário do produtor) e "USDC reserve" (no nosso vocabulário interno). O produtor vê isso como uma poupança em dólar sem nunca ter aberto uma conta cripto.

Por que Stellar (e não Ethereum / L2)

  • Custo predictable. Transação a ~0.00001 XLM (< US$ 0.001) viabiliza recompensar 3% em uma venda de R$ 5 sem ser engolido por gas.
  • Anchors são primitiva de rede. SEP-24 padroniza onramp/offramp BR↔USDC; em vez de escrever bridge nós conversamos com um anchor que já entende Pix/TED.
  • Confidentiality não é problema. Não precisamos esconder ledger — o produtor não vai ver nem se importar. A SDF Test Anchor é referência operacional desde 2019.
  • Roadmap SEP-38 (cotação RFQ). Em produção a paridade BRL↔USDC vem de quote anchor, não cotação fixa. (V0 usa cotação hardcoded por simplicidade.)

SEPs implementados em @akrus/stellar

SEP-1

Stellar TOML

Descoberta de endpoints do anchor via /.well-known/stellar.toml.

SEP-10

Web Auth

Challenge XDR + assinatura local → JWT. Akrus autentica como detentor da conta operacional.

SEP-24

Hosted Deposit/Withdraw

Sessão de anchor pra trocar Pix ↔ USDC sem que o produtor saia do Akrus.

Como abriríamos uma sessão de anchor

Em produção, o backend do Akrus chama isto quando o saldo USDC de um produtor cruza o threshold de saque automático. V0 não dispara em runtime — usa apenas como infraestrutura validada.

import { openAnchorSession, initiateDeposit, waitForTerminalStatus } from "@akrus/stellar";

const session = await openAnchorSession({
  homeDomain: "testanchor.stellar.org",
  account: producerKeypair,
  networkPassphrase: Networks.TESTNET,
});

const tx = await initiateDeposit(session, {
  asset_code: "SRT",
  amount: "10",
});

const final = await waitForTerminalStatus(session, tx.id, { timeoutMs: 30_000 });
// → status: completed | refunded | error

Live: criar conta testnet

O botão abaixo chama createFundedTestnetAccount() do @akrus/stellar: gera um keypair Ed25519, dispara o Friendbot do SDF e devolve a conta com 10.000 XLM testnet. A secret key fica server-side; só a public key chega no browser.

Referências