Pular para o conteúdo principal

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.

examples/marketplace-mercatto/withdraw.ts
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.