Do you also want to manage your own on-chain decentralized crypto fund? Check out the Melon Olympiad!
###Status of the Bitcoin network as of Sunday, August 12, 2018 at 12:00:03 EST:
**Total bitcoins:** 17,205,696.044999
######Statistics for the past 24 hours:
**Number of blocks mined:** 160
**Total bitcoins output (amount sent):** 665,192.962188
**Total fees:** 13.164217
**Average time until block found:** 9 minutes, 0 seconds
**Estimated hashrate:** 50,818,346,399.482109 gh/s
**Current price:** US$6,315.90
*Data provided by [Smartbit.com.au](https://www.smartbit.com.au). Price data provided by [Coinbase.com](https://www.coinbase.com).*
^^I ^^am ^^a ^^bot. **[^^My ^^commands](https://www.reddit.com/r/Bitcoin/comments/3an2c4/ive_been_working_on_a_bot_for_crypto_subs_like/)** ^^| ^^*/r/crypto_bot* ^^| [^^Message ^^my ^^creator](https://www.reddit.com/message/compose?to=busterroni) ^^| [^^Source ^^code](https://github.com/busterroni/crypto_bot)
For a few days I’ve spent some time trying to learn how to generate usable bitcoin addresses from random numbers. I’ve been trying to follow the explanation [here](https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch04.asciidoc#generating-a-private-key-from-a-random-number) but I’m clearly doing something wrong.
I started with this premise: Public Key = a Private Key multiplied by the Generator Point. I get this from this sentence from the above chapter: “K = k * G, where k is the private key, G is a constant point called the generator point, and K is the resulting public key.” I found out what bitcoin’s generator point was, and multiplied it by 1 in order to get a public key for the simplest possible bitcoin address — a bitcoin address with private key 1.
Now, I’m not the first person to try this — other people have discovered that 1 is indeed a valid private key, and the resulting bitcoin address, once you’ve properly generated it from that private key (i.e. from the number 1), is [1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm](https://blockchain.info/address/1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm).
However, I’m having trouble because, to my own eyes, I seem to be following the steps accurately, but I’m not getting that address as the result. Ergo, I think my eyes are deceiving me.
I started by multiplying 1 times the hexadecimal representation of the generator point. That got me 479BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8 as a result, because that lengthy string I just posted is the generator point, and when you multiply the generator point by 1, you get the generator point. On the assumption that is indeed the K I am looking for, I figured the next step is to run it through the SHA256 algorithm and then take that result and run it through the RIPEMD160 algorthithm. I.e. I decided to use the following instruction, with the above hex code as K: (RIPEMD160(SHA256(K))) I got this from the article I linked to: “Starting with the public key K, we compute the SHA256 hash and then compute the RIPEMD160 hash of the result, producing a 160-bit (20-byte) number: … RIPEMD160(SHA256(K)).”
What I ended up with was 7C61B8748A8E86A9D690B0435B5D5C78682686AB. The next step is to prefix two zeroes to the front — or so I infer from these sentences: “Bitcoin addresses are almost always encoded as ‘Base58Check’… To convert data (a number) into a Base58Check format, we first add a prefix to the data, called the ‘version byte,’ which serves to easily identify the type of data that is encoded. For example, in the case of a bitcoin address the prefix is zero (0x00 in hex)”
So I turned 7C61B8748A8E86A9D690B0435B5D5C78682686AB into 007C61B8748A8E86A9D690B0435B5D5C78682686AB. The next step is to append a checksum, which consists of the first four bytes of a double-sha256 hash of the previous number — so says this sentence: “Next, we compute the “double-SHA” checksum, meaning we apply the SHA256 hash-algorithm twice on the previous result (prefix and data)…[and] take only the first four bytes…[which get] concatenated (appended) to the end.”
I got the SHA256 double-hash and appended the first four bytes, which turned out to be 91EFCDCC. The resulting string, with both prefix and suffix, was 007C61B8748A8E86A9D690B0435B5D5C78682686AB91EFCDCC. That should be all I had to do other than put it in base58 format, so I did that, and got this as the resulting address: 1CLfrXeERGDusnyV6i4ph9DBeVrFXBbWv7 — but that’s not a valid bitcoin address, nor does it match the address I thought I was supposed to get. So what did I do wrong? Any help?
# Bitcoin IRA and Checkbook IRA-LLC Investing
Many people are surprised to learn that they can use an IRA or 401k for Bitcoin HODLing or trading. Even those that are familiar with Self-Directed IRAs (SDIRAs) are unaware of the Checkbook IRA-LLC, which enables you (a) to invest IRA money on the Bitcoin exchange of your choice and (b) to purchase any cryptocurrency. Using a Checkbook IRA-LLC, from the right service provider can save you thousands of dollars (or millions – it’s proportionate to the value of your cryptocurrency assets).
With a Custodial Self-Directed IRA (without a Checkbook IRA-LLC), the custodian holds and controls your cash and assets. The custodian makes money by charging asset-based fees and transaction fees. (I’m told they also earn interest on the cash they hold “for you”.) These fees can add up very quickly and the lack of control holds up your investments. Most importantly, with a custodian holding your assets you’re unable to invest in cryptocurrencies (unless you use overpriced Bitcoin IRA providers that charge a percentage of assets and limit the coins that you can buy).
In contrast, with a Checkbook IRA-LLC you’re in control. Through a special purpose IRA-LLC, you can move your IRA money to a bank account – giving you direct control of your money and marginalizing the custodian. Unfortunately, the custodian can’t be completely eliminated, as the IRS requires that every IRA have a custodian.
# Bitcoin IRA with ReSure Financial: My Experience
My CPA recommended that I use a Checkbook IRA to buy-and-sell Bitcoin and introduced me to ReSure Financial. He explained that the IRS has harsh treatment of crypto trades, expecting to be paid even if I never exchange my crypto for fiat – this could result in large tax liability without having the cash to pay it (unless the IRS starts accepting crypto).
The process of setting up my Self-Directed Roth IRA-LLC took me about a 2 weeks, around $1,000 in fees, and less paperwork than expected. I used a Roth IRA (as opposed to a Traditional IRA) for maximum tax benefit, as with a Traditional IRA I would have to pay taxes on the distributions from the account upon retirement.
(For those with self-employment income, a Self-Directed Solo 401K – with even lower fees – is the best option. The best structure is a Solo 401k-LLC, which provides the greatest current and future flexibility. However, it requires Solo 401k eligibility.)
The process is more straightforward than I would have imagined and a ReSure Financial representative “held my hand” from start to finish. Following are the steps that I took to get my Roth IRA invested in crypto:
1. Navigate to ReSure Financial’s Checkbook IRA/401k website (URL: [https://www.401kcheckbook.com](https://www.401kcheckbook.com/)) and complete a web-based Checkbook IRA application (URL: [https://www.401kcheckbook.com/checkbook-control-retirement-get-started/](https://www.401kcheckbook.com/checkbook-control-retirement-get-started/))
2. ReSure Financial will use your online Checkbook IRA application to create your Self-Directed IRA-LLC, of which you will be the manager. If your web application indicated that you want assistance with completing the form, a ReSure Financial representative will reach out to you and address any questions.
3. ReSure Financial will assist you with opening a low-cost self-directed IRA account with one of their IRA custodian partners. They will assist you with the forms for funding this new IRA, either by transferring money from a pre-existing IRA or by making a new IRA contribution.
4. ReSure Financial will help you open a bank account with the bank of your choice or with bankers with whom they work to open bank accounts for IRA-LLCs, Solo 401(k)s, and Solo 401(k)-LLCs. This is an invaluable service, as most bankers are not familiar with these accounts.
5. Once your new SDIRA is funded, ReSure Financial will help you complete an Investment Direction form for the SDIRA custodian directing them to transfer IRA funds to your IRA-LLC.
6. Once the IRA-LLC bank checking account is funded, it can be used to fund crypto exchange accounts through which to purchase crypto assets.
7. Congrats! You now own tax-free crypto.
Prior to investing with your Checkbook IRA-LLC, you should be aware of the following:
**Your Checkbook IRA’s money should not be mingled with your personal funds. Likewise, crypto that you personally own must be kept separate from Bitcoin owned by your SDIRA-LLC.** The reason for this is to prevent committing a “[crypto IRA-LLC prohibited transaction](https://www.401kcheckbook.com/checkbook-control-retirement-alternative-investments/self-directed-bitcoin-cryptocurrency/)” that could disqualify your IRA.
With this plan you can buy-and-sell your LLC’s cryptocurrency holdings at any point in time in exchange for any other cryptos or fiat currencies. (Just remember that those assets belong to the IRA-LLC and all IRA rules apply to them. Don’t use them to pay your personal expenses.)
If you’re not familiar with the Crypto IRA-LLC structure, it might be costing you a fortune. Using a Bitcoin Checkbook IRA has saved me $10,000s – so far – in SDIRA fees and IRS tax liability.