<p>got this from the appendix in Andreas' book "Mastering Bitcoin": </p>

<blockquote>
  <p>The Python library pycoin, ... is a Python-based library that supports
  manipulation of bitcoin keys and transactions, even supporting the
  scripting language enough to properly deal with nonstandard
  transactions. The pycoin library supports both Python 2 (2.7.x) and
  Python 3 (after 3.3) and comes with some handy command-line utilities,
  ku and tx.</p>
</blockquote>

<p>and next chapter:</p>

<blockquote>
  <p>Bitcoin Explorer (bx) is a command-line tool that offers a variety of
  commands for key management and transaction construction. It is part
  of the libbitcoin bitcoin library.</p>
</blockquote>

<p>There are a plethora of tools on the market, which allow to create the keys, the tx and even send the tx to the network.
Using these tools without a wallet application, from the command line, you can create a bitcoin address, you can send transactions, and you can see amounts on you address. However you cannot "receive" bitcoins, there is not directly  such concept. You would present your public key to someone, who then sends you some Satoshis might be a better description. </p>

<p>I have created my own set of shell scripts, which allow to do the same (for learning purposes). Shamelessly selfmarketing :-)  <a href="https://github.com/pebwindkraft/trx_cl_suite" rel="nofollow noreferrer">https://github.com/pebwindkraft/trx_cl_suite</a>. </p>

<p>I highly recommend Andreas' book, it is online and in many languages available, and provides a proper overview of the underlyings of bitcoin. </p>

CC BY-SA 3.0
2018-01-19T16:40:07.953Z
2018-01-19T16:40:07.953Z
pebwindkraft
<p>It would not be possible to do a transaction just with the help of public and private keys without making use of any wallets or Simple Payment Verification (SPV) node.</p>

<p>Basically public and private keys could be generated yourself easily. But bitcoin network needs something more than a public key to represent it as bitcoin node address.</p>

<p>Once you create a random 256 bit (64 digit hexa characters) private key, public key could be computed by using <a href="https://en.bitcoin.it/wiki/Elliptic_Curve_Digital_Signature_Algorithm" rel="nofollow noreferrer">Eliptical Curve Cryptography</a>. 
Once you have the private key (PK), you have to hash it using SHA and RIPEMD to get a 160 bit payload.
SHA-256( RIPEMD-160(PK)). This payload is combined with version code and checksum. Finally, they are Base-58 encoded to get the bitcoin address which is the identity of your node.</p>

<p>If you do not wish to use any available wallets, you can create your own bitcoin SPV node where you can have control over your own private key and create a new key whenever you like.</p>

<p>Here are some reference links:</p>

<p><a href="https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses" rel="nofollow noreferrer">Create a bitcoin address</a></p>

<p><a href="https://bitcoin.org/en/glossary/simplified-payment-verification" rel="nofollow noreferrer">Bitcoin SPV</a></p>

CC BY-SA 3.0
2018-01-19T13:48:58.830Z
2018-01-19T13:48:58.830Z
Koshik Raj
<p>If you just want to receive and send bitcoin without using any wallet you could generate public/private key using this open source website: bitaddress.org</p>

<hr>

<p>Just send some bitcoins to generated public key and share the private key with the person who going to spend this bitcoins.</p>

<p>they can spend the bitcoins using bitcoin-core application, electrum or blockchian.info</p>

CC BY-SA 3.0
2018-01-19T21:43:09.333Z
2018-01-19T21:43:09.333Z
Tailer
<p>How to generate public and private keys? And how to use that keys to send and receive bitcoins without using any wallet? </p>

CC BY-SA 3.0
2018-01-19T08:53:58.690Z
do you want a technical explanation (algorithms etc) or do you just want to know a tool which generates you keypairs?
anion
<address>
Public and private keys
Curious man
# Public and private keys

(Asked by: username_0 on 2018-01-19)

How to generate public and private keys? And how to use that keys to send and receive bitcoins without using any wallet?

**Tags:** address

> **Comments:**
> **username_1**: do you want a technical explanation (algorithms etc) or do you just want to know a tool which generates you keypairs?  

---

## 3 answers

### Answer by username_2 on 2018-01-19. Score: 2

got this from the appendix in Andreas' book "Mastering Bitcoin":

> The Python library pycoin, ... is a Python-based library that supports
> manipulation of bitcoin keys and transactions, even supporting the
> scripting language enough to properly deal with nonstandard
> transactions. The pycoin library supports both Python 2 (2.7.x) and
> Python 3 (after 3.3) and comes with some handy command-line utilities,
> ku and tx.

and next chapter:

> Bitcoin Explorer (bx) is a command-line tool that offers a variety of
> commands for key management and transaction construction. It is part
> of the libbitcoin bitcoin library.

There are a plethora of tools on the market, which allow to create the keys, the tx and even send the tx to the network.
Using these tools without a wallet application, from the command line, you can create a bitcoin address, you can send transactions, and you can see amounts on you address. However you cannot "receive" bitcoins, there is not directly such concept. You would present your public key to someone, who then sends you some Satoshis might be a better description.

I have created my own set of shell scripts, which allow to do the same (for learning purposes). Shamelessly selfmarketing :-) <https://github.com/username_2/trx_cl_suite>.

I highly recommend Andreas' book, it is online and in many languages available, and provides a proper overview of the underlyings of bitcoin.


---

### Answer by username_3 on 2018-01-19. Score: 1

It would not be possible to do a transaction just with the help of public and private keys without making use of any wallets or Simple Payment Verification (SPV) node.

Basically public and private keys could be generated yourself easily. But bitcoin network needs something more than a public key to represent it as bitcoin node address.

Once you create a random 256 bit (64 digit hexa characters) private key, public key could be computed by using [Eliptical Curve Cryptography](https://en.bitcoin.it/wiki/Elliptic_Curve_Digital_Signature_Algorithm).
Once you have the private key (PK), you have to hash it using SHA and RIPEMD to get a 160 bit payload.
SHA-256( RIPEMD-160(PK)). This payload is combined with version code and checksum. Finally, they are Base-58 encoded to get the bitcoin address which is the identity of your node.

If you do not wish to use any available wallets, you can create your own bitcoin SPV node where you can have control over your own private key and create a new key whenever you like.

Here are some reference links:

[Create a bitcoin address](https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses)

[Bitcoin SPV](https://bitcoin.org/en/glossary/simplified-payment-verification)


---

### Answer by username_4 on 2018-01-19. Score: 0

If you just want to receive and send bitcoin without using any wallet you could generate public/private key using this open source website: bitaddress.org

---

Just send some bitcoins to generated public key and share the private key with the person who going to spend this bitcoins.

they can spend the bitcoins using bitcoin-core application, electrum or blockchian.info


---

