The documented raw balance is a UInt256String: an unsigned integer string that can reach 78 digits. When you display one in Python, Decimal looks like the obvious tool. The trap is subtle: building a Decimal from a string is exact, but arithmetic on it can round. Where the rounding happens Decimal(raw) keeps every digit, because construction ignores the context precision. Operations such as scaleb , normalize , multiplication, or division round their result to the context...