<p>There is a similar question from 6 years ago with different options and answers <a href="https://bitcoin.stackexchange.com/questions/7697/is-there-a-remote-trustless-bitcoin-api-that-doesnt-require-anything-blockcha">Is there a remote, trustless bitcoin API that doesn&#39;t require anything (blockchain/SPV headers) to be stored locally?</a></p>

<p>Otherwise I suppose the options havent changed much, unless maybe the <a href="https://coinguides.org/bitcoin-blockchain-pruning/" rel="nofollow noreferrer">pruning mod</a> which allow you to run a lightweight bitcoin node (550mb instead of 250giga+)</p>

CC BY-SA 4.0
2019-10-14T22:32:06.757Z
A pruned fully-validating node has exactly the same security as a non-pruned one. The only difference is that a pruned node throws away the parts of the blockchain it has downloaded after processing them. In particular, a pruned node is *not* lightweight; it's just lower storage.
Pieter Wuille
CC BY-SA 4.0
2019-10-14T22:36:02.533Z
@PieterWuille I didnt know that, I fixed it :)
Saxtheowl
CC BY-SA 4.0
2019-10-14T22:27:52.793Z
2019-10-15T08:30:10.360Z
2019-10-15T08:30:10.360Z
Saxtheowl
<p>I'm quite new to Bitcoin development! I've seen the documentation about <code>RPC</code> commands, available when you have a local copy of the blockchain.</p>

<p>But I'd like to know if it's possible to create and broadcast <code>send</code> transactions on the Bitcoin network <em>without a local copy of the blockchain</em>?</p>

<p>I use Java, but I try to avoid using Bitcoinj. Currently, I try to understand how everything works under the hood. I'm able to create new addresses, with their associated private keys (raw and <code>WIF</code>formats). Those work well!</p>

<p>Using the API provided by <a href="https://www.blockchain.com/api" rel="nofollow noreferrer">blockchain.com</a>, I'm able to get info about those addresses and to know if they have received coins.</p>

<p>The only missing part for me is to find a way to programmatically <em>send</em> some coins from those addresses to other addresses, without a local copy of the blockchain (and using RPC calls on it).</p>

<p>I see <em>blockchain.com</em> also provides a <a href="https://www.blockchain.com/api/blockchain_wallet_api" rel="nofollow noreferrer">Wallet API</a> but, correct me if I'm wrong, by using this <em>they</em> control the private keys right? I'd prefere a way to send coins by creating and signing the transactions <em>locally</em> and then broadcasting them, by myself... Without a local blockchain.</p>

<p>Is it possible? What are the options?</p>

<transactions><address><client><development><website-integration>
How to programmatically send Bitcoins without requiring a local copy of the blockchain?
electrotype
# How to programmatically send Bitcoins without requiring a local copy of the blockchain?

(Asked by: username_0 on 2019-10-14)

I'm quite new to Bitcoin development! I've seen the documentation about `RPC` commands, available when you have a local copy of the blockchain.

But I'd like to know if it's possible to create and broadcast `send` transactions on the Bitcoin network *without a local copy of the blockchain*?

I use Java, but I try to avoid using Bitcoinj. Currently, I try to understand how everything works under the hood. I'm able to create new addresses, with their associated private keys (raw and `WIF`formats). Those work well!

Using the API provided by [blockchain.com](https://www.blockchain.com/api), I'm able to get info about those addresses and to know if they have received coins.

The only missing part for me is to find a way to programmatically *send* some coins from those addresses to other addresses, without a local copy of the blockchain (and using RPC calls on it).

I see *blockchain.com* also provides a [Wallet API](https://www.blockchain.com/api/blockchain_wallet_api) but, correct me if I'm wrong, by using this *they* control the private keys right? I'd prefere a way to send coins by creating and signing the transactions *locally* and then broadcasting them, by myself... Without a local blockchain.

Is it possible? What are the options?

**Tags:** transactions, address, client, development, website-integration


---

## 1 answers

### Answer by username_1 on 2019-10-14. Score: 2 | Accepted answer

There is a similar question from 6 years ago with different options and answers [Is there a remote, trustless bitcoin API that doesn't require anything (blockchain/SPV headers) to be stored locally?](https://bitcoin.stackexchange.com/questions/7697/is-there-a-remote-trustless-bitcoin-api-that-doesnt-require-anything-blockcha)

Otherwise I suppose the options havent changed much, unless maybe the [pruning mod](https://coinguides.org/bitcoin-blockchain-pruning/) which allow you to run a lightweight bitcoin node (550mb instead of 250giga+)

> **Comments:**
> **username_2**: A pruned fully-validating node has exactly the same security as a non-pruned one. The only difference is that a pruned node throws away the parts of the blockchain it has downloaded after processing them. In particular, a pruned node is *not* lightweight; it's just lower storage.  
> **username_1**: @PieterWuille I didnt know that, I fixed it :)  

---

