# How does Bitcoin divisibility work?

I come from a programming background and I am trying to figure out how Bitcoin allows for divisibility. An example using high level code would also be nice.

I understand the high level basics of transactions (Bitcoin Transaction Diagram), but I am interested in divisibility specifically.

A bitcoin is divisible to the eighth decimal. The smallest portion of Bitcoin has its own name: satoshi, whereas 1 BTC = 10^8 satoshis = 100,000,000 satoshis

To be completely correct, while in popular conversation the bitcoin is the predominant currency unit, in realitas the protocol uses satoshi. You can see this when looking at raw transactions or the ledger.

Whenever you send a Bitcoin transaction, the inputs are destroyed and new outputs are created. Essentially, what happens with Bitcoin works like this: Imagine you are paying for a \$5 ice cream with a \$10 bill, and the \$10 bill is destroyed and replaced by two \$5 bills, of which you get one \$5 bill and one \$5 bill goes to the ice cream vendor.

I was not able to deduce what you are trying to get code for, but if you want to split up bitcoins for transactions you might be looking for more information on how to create raw transactions, as dannypaz pointed out in the comments, the Bitcoin Wiki's page on transactions may also be illustrative.

• Your answer is great @Murch. I wanted to add to this, that you can see another example here: en.bitcoin.it/wiki/Transaction which also helped me understand the concept – dannypaz Mar 25 '18 at 5:51