Topics like this should be present in Development and Technical Discussion board. The Technical Support board is for answering topics regarding the wallet, transactions etc. Please move it to the respective boards by using the Move Button in bottom left corner of your topic.
Maximum bitcoins that can be transacted through a single transaction is limited to the total bitcoins produced i.e 20999999.9769 bitcoin which is approximately equal to 21 million bitcoin. This value has been hard-coded in the bitcoin code by satoshi in the form of MAX_MONEY variable. MAX_MONEY variable is used by the node to verify that the people are not transacting an amount higher than total value of the btc. If there happens to be a overflow incident like the one which took place in 2010 and produced 182 billion it would be prevented by the code. MAX_MONEY constant was introduced in the code as part of this bug probably. The code itself is present in the
amount.h of the source code :
/** No amount larger than this (in satoshi) is valid */
static const CAmount MAX_MONEY = 21000000 * COIN;
inline bool MoneyRange(const CAmount& nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
2) how much max a Wallet can hold. I have made tests and I could store up to 16 Billion and then it turned to negative. It is an empiric test but in reality what is the maximum limit of Bitcoin that can be holded in a wallet du to storage limitation.
You need to note that a wallet doesn't hold your coins. The coins are present in the blockchain. Your wallet just holds the private keys to spend the coins by signing a transaction. Hence as far as I know there isn't any limit set to the wallet itself.