Quando comecei a integrar sistemas financeiros à blockchain Stellar, percebi que muitos desenvolvedores brasileiros travavam num ponto específico: como extrair dados da rede sem depender de bibliotecas pesadas ou nós próprios. A resposta quase sempre passa pela Horizon API. Ao longo de anos consultando milhões de transações para projetos de tokenização e perícia digital, aprendi que dominar essa interface REST é o que separa uma integração amadora de uma solução robusta. Deixe-me compartilhar o que funciona na prática.
Entendendo a Horizon API e seus endpoints principais
A Horizon é a camada REST oficial da rede Stellar. Ela expõe dados de contas, transações, assets e operações em formato JSON, seguindo o padrão HAL (Hypertext Application Language). Isso significa que cada resposta traz links _links para navegação paginada — algo que economiza muito código.
Os endpoints mais usados são:
-
/accounts/{account_id}— dados e saldos de uma conta -
/transactions/{hash}— detalhes de uma transação específica -
/assets?asset_code=BRL— busca por assets emitidos
Uma dica que passo em consultorias: use sempre a rede pública (https://horizon.stellar.org) para produção e a testnet (https://horizon-testnet.stellar.org) para validação. Em projetos brasileiros de tokenização de recebíveis que acompanhei, o assets endpoint foi essencial para rastrear emissões de stablecoins lastreadas em real.
Consultando dados em Python
O Python é minha escolha para automações de análise e perícia. Com a biblioteca requests, você consulta a Horizon sem overhead:
import requests
HORIZON = "https://horizon.stellar.org"
# Consultar uma conta
account_id = "GABCD..."
resp = requests.get(f"{HORIZON}/accounts/{account_id}")
data = resp.json()
for balance in data["balances"]:
asset = balance.get("asset_code", "XLM")
print(f"{asset}: {balance['balance']}")
# Listar assets com código BRL
assets = requests.get(f"{HORIZON}/assets", params={"asset_code": "BRL"}).json()
for record in assets["_embedded"]["records"]:
print(record["asset_issuer"], record["amount"])
Para volumes grandes, uso a SDK oficial stellar-sdk, que gerencia paginação automaticamente. Numa investigação forense que conduzi, precisei percorrer 40 mil operações de uma conta suspeita — o cursor de paginação da Horizon tornou isso viável sem estourar rate limits.
Consultando dados em JavaScript
No front-end e em back-ends Node.js, a Horizon brilha pela naturalidade com fetch. Veja como recuperar uma transação e as operações de uma conta:
const HORIZON = "https://horizon.stellar.org";
// Detalhes de uma transação
async function getTransaction(hash) {
const res = await fetch(`${HORIZON}/transactions/${hash}`);
const tx = await res.json();
console.log(`Ledger: ${tx.ledger}, Sucesso: ${tx.successful}`);
return tx;
}
// Streaming de pagamentos em tempo real
const es = new EventSource(
`${HORIZON}/accounts/GABCD.../payments`
);
es.onmessage = (msg) => {
const payment = JSON.parse(msg.data);
console.log("Novo pagamento:", payment.amount, payment.asset_code);
};
O recurso de streaming via Server-Sent Events é subestimado. Em uma carteira digital que ajudei a arquitetar, ele permitiu notificações instantâneas de recebimento sem polling constante — reduzindo custos de infraestrutura em cerca de 30%. Como André Dias Moreira Prol, sempre reforço aos times: a Horizon já resolve em tempo real aquilo que muitos tentam reconstruir com filas complexas.
Vale lembrar que a Horizon é uma camada de leitura otimizada. Para escrita (envio de transações), você ainda precisa assinar localmente com a SDK e submeter ao endpoint /transactions. Essa separação entre leitura pública e assinatura local é justamente o que garante segurança em ambientes de tokenização auditáveis — tema que exploro constantemente em meus trabalhos de perícia digital.
Com o avanço do Soroban e dos contratos inteligentes na Stellar, a Horizon continua sendo a porta de entrada para dados históricos, complementada pela RPC do Soroban para estado de contratos. Entender essa divisão de responsabilidades é fundamental para qualquer arquitetura Web3 séria no ecossistema brasileiro.
Domine a Horizon API e você terá controle total sobre a leitura de dados on-chain, seja para dashboards, compliance ou auditoria. Comece agora criando uma conta na testnet e testando os endpoints acima — a prática é o caminho mais rápido para a maestria.
Acompanhe mais artigos de André Dias Moreira Prol no Medium.
Top comments (0)