Seller balance
Bob recebeu o pagamento. Mas ele não entra na Ishtaran para conferir — o próprio dashboard de vendedor da Mercatto mostra a ele, usando as próprias credenciais da Mercatto para perguntar.
export async function checkSellerBalance(ctx) {
const balance = await ctx.mercatto.ledger.getBalance(ctx.bobAccountId, ctx.assetNetworkId);
console.log(`Bob available=${balance.available} pending=${balance.pending} reserved=${balance.reserved}`);
return balance;
}
Resultado
{ "available": "178.380000000000000000", "pending": "0", "reserved": "0" }
Bate exatamente com a alocação de Settlement de Bob em Settlement and Split.
O que aconteceu por baixo dos panos
Isso não é uma simplificação — é comportamento real, confirmado ao vivo na plataforma: a própria
sessão de AccountHolder de Bob não consegue chamar o Ledger de jeito nenhum. Toda rota
financeira (Ledger, Transactions, Deposits, Settlement, Withdrawals) exige um Member JWT
ou uma Application API Key — nunca um AccountHolder JWT. O próprio login de Bob, vindo de
Seller onboarding, fica restrito a self-service de identidade apenas (GET /accountholders/me, resgatar mais convites). Então a Mercatto genuinamente precisa ser quem
pergunta — exatamente como o backend de um marketplace de verdade chamando seu provedor de
pagamentos em nome do vendedor, nunca o navegador do vendedor chamando diretamente. Veja
Known Limitations §F.10.