Is there a way to make a crypto-currency stable by design? How? I'm just wondering if there's any way of creating a crypto-currency that is stable by-design.

How would one do so? Can there be something like a "central bank" built in into the currency client?

I know it defeats the purpose of a decentralized currency to have a "central bank". I believe bitcoin can be manipulated by someone with a large enough wallet (very large if you ask me) and it is possible for a single entity to act as a "central bank" of sorts if it has the required funds. Or if the government banned and seized all mining equipment to themselves, which would be very impractical manipulation scenario.

Neither can we think of it as a "currency", since it is currently too volatile to think of it as a viable store of value. However it is great for transactional users, which I think gives it the upper hand over current money transmission methods.

Edit 1: 
My focus is on an built-in algorithmical solution. I've read about the difficulties of pegging the currency, or what a country would have to reinvent if Bitcoin were the official currency. This is not about having a P2P wallet loadable with fiat (as other questions would imply).

Edit 2:
The idea is something more akin "A Third Endgame For Bitcoin or, Creating a Truly Free Coin" by Owen Gunden. He proposes unbounding the coin quantity limit, and giving more coins to miners when the price goes up, increasing the amount and therefore lowering its value.

Can a crypto-currency be designed from the ground-up to be a stable and solid store of value? Zero inflation.
There is a few problems with giving a crypto-currency a stable value algorithmically:

Stability compared to what?

The algorithm would have to be specifically pegged to either an asset, a currency, or some kind of calculated wealth index. But, if it were stable in comparison to e.g. the USD, it would not be stable in comparison to other currencies, or a barrel of oil. There'd always be room for speculation, and it would become completely decoupled when the value it is pegged to ceased to exist.

Stabilizing the value requires control of the money supply

In order to guarantee a certain value, e.g. an exchange rate of 1 SC (StableCoin) = 1 USD, you'd have to create an unlimited offer to buy and sell SC at that price. Both is very hard to integrate into the protocol:


In order to lower the price to 1 USD/SC, you can easily have the algorithm create more SC. However, it is hard to algorithmically accept fiat payments in order to sell them! Essentially your algorithm would need to implement bank contracts, user management and all the other shenanigans exchanges do.
To increase the price to 1 USD/SC, you'd have to be able to buy any amount of SolidCoins at 1 USD/SC. That requires very deep pockets. You also have to provide all the exchange services as before.


Then, if you wanted a proof-of-work validation, you'd also have to be able to buy back any mining rewards.

In short, I don't think that stability can be guaranteed algorithmically. You would need a central entity that guarantees the price by buying and selling at a fixed value, perhaps for a trading commission. This cannot be implemented in the algorithm, as it would require interfacing with the fiat world, which is not completely digital.

Addendum:

After thinking a bit more about it, I realized that when you create a system that is stable compared to another unit of account, essentially you create a debt-based voucher system for that other unit. Unless your currency decouples from the central market maker by being more successful than what it derives from, your currency remains completely dependent on the well-being of the central market maker – it will lose most of its worth should the central market maker default. 

If you follow through on that thought, you essentially arrive at the system that is ripple, where any user can be a "central market maker" and issue his own StableCoins in form of IOUs pegged to any unit of account other people trust him to owe them.