Send to Many

Overview

In 1 transaction, you can send assets from 1 wallet to multiple recipients. Sending to many in 1 transaction lowers the aggregate amount of your blockchain fees when compared to creating multiple transactions. Sending to many aligns with the simple transaction flow, where in 1 call you build, sign, and send a half-signed transaction to BitGo. BitGo then uses the BitGo key to create a fully signed send-to-many transaction.

Prerequisites

Steps

  • SDK
  • Express
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 let params = { recipients: [ { amount: 0.01 * 1e8, address: "2NFfxvXpAWjKng7enFougtvtxxCJ2hQEMo4", }, { amount: 0.01 * 1e8, address: "2MsMFw75RKRiMb548q6W4jrJ63jwvvDdR2w", }, ], walletPassphrase: "secretpassphrase1a5df8380e0e30", }; wallet.sendMany(params).then(function (transaction) { // print transaction details console.dir(transaction); });

Step Result

BitGo uses the BitGo key to sign the half-signed transaction in a hardware security module (HSM), creating a fully-signed transaction. Using a BitGo node, Bitgo broadcasts the send-to-many transaction to the network for confirmation.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 { "transfer": { "txid": "b8a828b98dbf32d9fd1875cbace9640ceb8c82626716b4a64203fdc79bb46d26", "height": 0, "heightId": "string", "date": "2019-08-24T14:15:22Z", "type": "send", "value": 0, "valueString": null, "intendedValueString": null, "baseValue": 0, "baseValueString": null, "feeString": "string", "payGoFee": 0, "payGoFeeString": "string", "usd": 0, "usdRate": 0, "state": "confirmed", "tags": [], "history": [ { "date": "2019-08-24T14:15:22Z", "action": "created", "comment": "string" } ], "comment": "string", "vSize": 0, "nSegwitInputs": 0, "coinSpecific": {}, "sequenceId": "string", "entries": [ { "address": "2NAUwNgXaoFj2VVnSEvNLGuez8CfdU2UCMZ", "wallet": null, "value": 0, "valueString": null, "isChange": true, "isPayGo": true, "token": "omg", "label": "string", "failed": true } ], "usersNotified": true, "label": "string" }, "txid": "string", "tx": "string", "status": "signed" }

Next Steps

Await for transaction confirmation on the blockchain.

See Also