Blockchain.info has a PushTX API.

How do I create & sign a raw transaction in Java for use in this API? Should I use bitcoinj?

Are there any code samples?

2 Answers 2


Mike Hearn's WalletTool (included in the bitcoinj library) is a pretty good starting point.

If you have a look at the 'send' method in WalletTool you can see that it:

1) Creates a SendRequest

2) Decrypts the private key if necessary

3) Completes the tx to get the inputs and find the fee

4) Signs the tx

5) Starts up a PeerGroup

6) Broadcasts it

For an offline transaction you can do 1 to 4, serialize the tx and then call the blockchain pushtx.

There is a method on Transaction called bitcoinSerialize to convert it to the bytes that need transmitting. I think you just have to convert the bytes to hex for the blockchain pushtx but you would have to try it out.


Check out https://github.com/ValleZ/Paper-Wallet - it is android lite project what does this task. Start with createTransaction method in https://github.com/ValleZ/Paper-Wallet/blob/master/app/src/main/java/ru/valle/btc/BTCUtils.java

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.