<p>I think I should leave a comment with a small correction to the flow ematiu posted after 1 day trying to figure out why I couldn't sign my transaction.</p>

<p>the actual flow is:
create => publish => get published => sign => broadcast.</p>

<p>this is because, in order to sign a transaction proposal we need a proposalSignature in the txProposal object. We only get this signature by fetching from the bws</p>

<p><a href="https://bitcoin.stackexchange.com/questions/77160/bitcore-wallet-client-server-response-could-not-be-verified/77175#77175">Bitcore-wallet-client &quot;Server response could not be verified&quot;</a></p>

CC BY-SA 4.0
2018-07-16T14:10:45.390Z
2018-07-16T14:10:45.390Z
pmcoelho
<p>Multisig and singlesig wallets use the same flow. A Tx proposal need to be created in singlesig wallets also. Copay syncronize across devices, so you can have a non-signing copayers in a 1-1 wallet that submit proposals, for later approval.</p>

<p>The flow is:</p>

<p>create => publish => sign => broadcast.</p>

<p>You can check the official client <a href="https://github.com/bitpay/bitcore-wallet-client">https://github.com/bitpay/bitcore-wallet-client</a> for details, and also the CLI client should be useful to see examples:
<a href="https://github.com/bitpay/bitcore-wallet">https://github.com/bitpay/bitcore-wallet</a></p>

CC BY-SA 3.0
2016-06-23T17:36:46.253Z
2016-06-23T17:36:46.253Z
ematiu
<p>AFAIU, copay's server implementation is <a href="https://github.com/bitpay/bitcore-wallet-service" rel="nofollow">bitcore-wallet-service</a>.</p>

<p>From its README, I can deduce that a multi-sig wallet will use the <a href="https://github.com/bitpay/bitcore-wallet-service/blob/master/lib/model/txproposal.js" rel="nofollow"><code>/v1/txproposals/</code></a> endpoint to create a new transaction proposal that the other co-signers will receive.</p>

<p>But, if the wallet is not multi-sig, what's the endpoint for broadcasting a transaction?</p>

<api><server><javascript><copay>
What's the POST endpoint to broadcast a transaction in copay's server?
knocte
# What's the POST endpoint to broadcast a transaction in copay's server?

(Asked by: username_0 on 2016-06-22)

AFAIU, copay's server implementation is [bitcore-wallet-service](https://github.com/bitpay/bitcore-wallet-service).

From its README, I can deduce that a multi-sig wallet will use the [`/v1/txproposals/`](https://github.com/bitpay/bitcore-wallet-service/blob/master/lib/model/txproposal.js) endpoint to create a new transaction proposal that the other co-signers will receive.

But, if the wallet is not multi-sig, what's the endpoint for broadcasting a transaction?

**Tags:** api, server, javascript, copay


---

## 2 answers

### Answer by username_2 on 2016-06-23. Score: 6 | Accepted answer

Multisig and singlesig wallets use the same flow. A Tx proposal need to be created in singlesig wallets also. Copay syncronize across devices, so you can have a non-signing copayers in a 1-1 wallet that submit proposals, for later approval.

The flow is:

create => publish => sign => broadcast.

You can check the official client <https://github.com/bitpay/bitcore-wallet-client> for details, and also the CLI client should be useful to see examples:
<https://github.com/bitpay/bitcore-wallet>


---

### Answer by username_1 on 2018-07-16. Score: 1

I think I should leave a comment with a small correction to the flow username_2 posted after 1 day trying to figure out why I couldn't sign my transaction.

the actual flow is:
create => publish => get published => sign => broadcast.

this is because, in order to sign a transaction proposal we need a proposalSignature in the txProposal object. We only get this signature by fetching from the bws

[Bitcore-wallet-client "Server response could not be verified"](https://bitcoin.stackexchange.com/questions/77160/bitcore-wallet-client-server-response-could-not-be-verified/77175#77175)


---

