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 | errorLive: 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.