Balances
GET https://sol.shrine.trade/api/balances?publicKey=…
SOL plus every token account of the wallet, both token programs, largest first. Frozen accounts carry "frozen": true, which is what a scam token looks like from the holder's side.
{
"publicKey": "…",
"sol": 1.2345,
"lamports": 1234500000,
"tokens": [
{ "mint": "…pump", "account": "…", "amount": 12345.6, "amountRaw": "12345600000", "decimals": 6, "tokenProgram": "spl-token" }
]
}
Example
const bal = await (await fetch(`https://sol.shrine.trade/api/balances?publicKey=${wallet.publicKey.toBase58()}`)).json();
console.log(bal.sol, "SOL,", bal.tokens.length, "tokens");