async def METHOD_NAME(wallet) -> Union[bool, Decimal]:
    try:
        coin = await settings.settings.get_coin(
            wallet.currency, {"xpub": wallet.xpub, "contract": wallet.contract, **wallet.additional_xpub_data}
        )
        divisibility = await get_divisibility(wallet, coin)
        return True, divisibility, await coin.balance()
    except Exception as e:
        logger.error(
            f"Error getting wallet balance for wallet {wallet.id} with currency {wallet.currency}:\n{get_exception_message(e)}"
        )
        return False, 8, {attr: Decimal(0) for attr in BTC.BALANCE_ATTRS}