Handle bigint as string to prevent precision loss