<p>Not in a user-friendly way, no.</p>
<h3>Simple version</h3>
<p>Your offline Bitcoin client needs more information to identify which coins it is spending, so there needs to be some communication from the online computer to the offline computer. Typically, this is done by preparing most of the transaction on the online computer, then transferring it flash drive to the offline computer to be signed.</p>
<h3>Technical version</h3>
<p>You need the outpoint, scriptPubKey, and amount of each input you want to spend. The outpoint is composed of the 256 bit hash of the transaction that sent you the Bitcoins, and a small integer showing which output of that transaction you're spending. You also need the scriptPubKey to tell you which key you need to use to sign the transaction. You need to know the amount so that you can specify the correct amount of change to send back to yourself. (Otherwise, the unspent money will just go to the miner.) This requires about 61 bytes of space per input. If a single input doesn't have enough to cover the transaction, you'll need to combine multiple inputs.</p>
<p>You could definitely ask the user to manually transcribe/renter this information, but I think that's asking for a mistake.</p>

CC BY-SA 3.0
2017-01-05T04:27:29.217Z
What I do not get is, how do these offline transactions 'settle'? If I have an offline wallet with balance as 10 BTC, then in the offline period both credits and debits would have happened to/from this wallet such that, the credit and debit wallets were offline too. For example, a merchant and a buyer were probably both offline when a sale was made. Then, this transaction needs to be settled on the block-chain *whenever* either/both of the parties come online. Note that, the wallet should maintain the balance w.r.t. unsettled transactions too to avoid double spend.
cogitoergosum
CC BY-SA 3.0
2017-01-05T04:45:48.867Z
@cogitoergosum The online computer creates an unsigned 'debit' referencing the 'credit' transactions that are in the blockchain. The offline computer signs it. The signed transaction goes back to the online computer on a flash drive. If you want to send someone money, they do not need to be online.
Nick ODell
CC BY-SA 3.0
2017-01-05T04:58:02.600Z
@NickODell my question was around the possibility that, the credit transaction may not have made into the block chain either. Let me raise a separate question.
cogitoergosum
CC BY-SA 3.0
2017-01-05T05:38:27.947Z
I created this question to further elaborate: http://bitcoin.stackexchange.com/q/50568/6975
cogitoergosum
CC BY-SA 3.0
2015-11-12T22:43:11.830Z
2017-01-05T04:48:08.650Z
2020-06-16T11:10:03.350Z
Nick ODell
<p>Consider the following scenario:  </p>

<ul>
<li>create an entire bitcoin raw transaction while offline (no access to the blockchain)  </li>
<li>only when you decided to broadcast it that you would need to get online  </li>
</ul>

<p>Is it possible to do such offline transaction? Exactly what fields you need from the blockchain in order to build such raw transaction?</p>

CC BY-SA 3.0
2015-11-12T22:09:07.517Z
relevant : https://en.bitcoin.it/wiki/How_to_set_up_a_secure_offline_savings_wallet
Charles S
CC BY-SA 3.0
2015-11-12T22:10:52.643Z
Charles S, how could you possibly be that fast ???
Mark Messa
CC BY-SA 3.0
2015-11-12T22:12:25.777Z
I'm a robot beep boop. Honestly I just happened to be checking when you posted. I know the link isn't exactly what you were looking to do, but was hoping it might provide some insight into how it might be able to be done. Hopefully someone more knowledgeable will have a direct answer for you.
Charles S
CC BY-SA 3.0
2015-11-12T22:22:43.040Z
possibly also relevant: https://bitcoin.stackexchange.com/questions/8101/how-to-sign-a-transaction-using-only-an-offline-computer
Charles S
CC BY-SA 3.0
2015-11-13T13:08:13.597Z
> "I'm a robot beep boop."  Charles S, it seems that you passed the 'turing test'
Mark Messa
<blockchain><raw-transaction><offline-transactions>
Bitcoin offline transaction
Mark Messa
# Bitcoin offline transaction

(Asked by: username_0 on 2015-11-12)

Consider the following scenario:

* create an entire bitcoin raw transaction while offline (no access to the blockchain)
* only when you decided to broadcast it that you would need to get online

Is it possible to do such offline transaction? Exactly what fields you need from the blockchain in order to build such raw transaction?

**Tags:** blockchain, raw-transaction, offline-transactions

> **Comments:**
> **username_1**: relevant : https://en.bitcoin.it/wiki/How_to_set_up_a_secure_offline_savings_wallet  
> **username_0**: username_1, how could you possibly be that fast ???  
> **username_1**: I'm a robot beep boop. Honestly I just happened to be checking when you posted. I know the link isn't exactly what you were looking to do, but was hoping it might provide some insight into how it might be able to be done. Hopefully someone more knowledgeable will have a direct answer for you.  
> **username_1**: possibly also relevant: https://bitcoin.stackexchange.com/questions/8101/how-to-sign-a-transaction-using-only-an-offline-computer  
> **username_0**: > "I'm a robot beep boop."  username_1, it seems that you passed the 'turing test'  

---

## 1 answers

### Answer by username_2 on 2015-11-12. Score: 1 | Accepted answer

Not in a user-friendly way, no.

### Simple version

Your offline Bitcoin client needs more information to identify which coins it is spending, so there needs to be some communication from the online computer to the offline computer. Typically, this is done by preparing most of the transaction on the online computer, then transferring it flash drive to the offline computer to be signed.

### Technical version

You need the outpoint, scriptPubKey, and amount of each input you want to spend. The outpoint is composed of the 256 bit hash of the transaction that sent you the Bitcoins, and a small integer showing which output of that transaction you're spending. You also need the scriptPubKey to tell you which key you need to use to sign the transaction. You need to know the amount so that you can specify the correct amount of change to send back to yourself. (Otherwise, the unspent money will just go to the miner.) This requires about 61 bytes of space per input. If a single input doesn't have enough to cover the transaction, you'll need to combine multiple inputs.

You could definitely ask the user to manually transcribe/renter this information, but I think that's asking for a mistake.

> **Comments:**
> **username_3**: What I do not get is, how do these offline transactions 'settle'? If I have an offline wallet with balance as 10 BTC, then in the offline period both credits and debits would have happened to/from this wallet such that, the credit and debit wallets were offline too. For example, a merchant and a buyer were probably both offline when a sale was made. Then, this transaction needs to be settled on the block-chain *whenever* either/both of the parties come online. Note that, the wallet should maintain the balance w.r.t. unsettled transactions too to avoid double spend.  
> **username_2**: @username_3 The online computer creates an unsigned 'debit' referencing the 'credit' transactions that are in the blockchain. The offline computer signs it. The signed transaction goes back to the online computer on a flash drive. If you want to send someone money, they do not need to be online.  
> **username_3**: @username_2 my question was around the possibility that, the credit transaction may not have made into the block chain either. Let me raise a separate question.  
> **username_3**: I created this question to further elaborate: http://bitcoin.stackexchange.com/q/50568/6975  

---

