diff --git a/modules/common/include/dap_chain_common.h b/modules/common/include/dap_chain_common.h
index 0e6e94f069fe3e6ff301dbbcfaf9b6a84ef715c9..109d128d70d23b859dfcb12825727da124bc410c 100644
--- a/modules/common/include/dap_chain_common.h
+++ b/modules/common/include/dap_chain_common.h
@@ -249,7 +249,7 @@ DAP_STATIC_INLINE uint256_t dap_chain_uint256_from_uint128(uint128_t a_from)
 }
 
 #define dap_chain_balance_print dap_uint256_uninteger_to_char
-#define dap_chain_balance_scan dap_uint256_scan_uninteger
+#define dap_chain_balance_scan(a_balance) (strchr(a_balance, '.') && !strchr(a_balance, '+')) ? dap_uint256_scan_decimal(a_balance) : dap_uint256_scan_uninteger(a_balance)
 #define dap_chain_balance_to_coins dap_uint256_decimal_to_char
 #define dap_chain_coins_to_balance dap_uint256_scan_decimal
 #define dap_chain_uint256_to dap_uint256_to_uint64