# Dash

Source: https://developers.bitgo.com/docs/dash

## Dash

<a href="https://docs.dash.org/en/stable/introduction/information.html" target="_blank" rel="noreferrer">Dash</a> can be accessed with the following coin types:

| Environment     | Coin Type | Faucet                                                                                                             |
| :-------------- | :-------- | :----------------------------------------------------------------------------------------------------------------- |
| Dash Production | dash      |                                                                                                                    |
| Dash Testnet    | tdash     | <a href="https://faucet.testnet.networks.dash.org/" target="_blank" rel="noreferrer">https://faucet.testnet.networks.dash.org/</a> |

### Explorer
<a href="https://chainz.cryptoid.info/dash/" target="_blank" rel="noreferrer">https://chainz.cryptoid.info/dash/</a>


### Generating wallets

```javascript
bitgo
  .coin('tdash')
  .wallets()
  .generateWallet({
    label: 'My Test Wallet',
    passphrase: 'secretpassphrase1a5df8380e0e30',
  })
  .then(function (wallet) {
    // print the new wallet
    console.dir(wallet);
  });
```
```shell
LABEL="My Test Wallet"
PASSPHRASE="secretpassphrase1a5df8380e0e30"

curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d "{ \"label\": \"$LABEL\", \"passphrase\": \"$PASSPHRASE\" }" \
http://$BITGO_EXPRESS_HOST/api/v2/tdash/wallet/generate
```

For Dash, BitGo uses the same 2-of-3 multisig P2SH scheme as for Bitcoin, with the keys in the order of User, Backup, and
BitGo respectively.

### Creating addresses

```javascript
bitgo
  .coin('tdash')
  .wallets()
  .getWallet({ id: '585c51a5df8380e0e3082e46' })
  .then(function (wallet) {
    return wallet.createAddress();
  })
  .then(function (newAddress) {
    // print new address details
    console.dir(newAddress);
  });
```
```shell
WALLET=585c51a5df8380e0e3082e46

curl -X POST \
-H "Authorization: Bearer $ACCESS_TOKEN" \
https://app.bitgo-test.com/api/v2/tdash/wallet/$WALLET/address
```

> 📘 **Note:** To view all supported address types and chain codes, see [UTXO Address Types](/docs/utxo-address-types). Dash defaults to chain code 0 and doesn't support SegWit address types.

### Balances

Dash (DASH) is the native asset of the Dash blockchain. The base unit of Dash is duff:

- 1 duff is (<code>10<sup>-8</sup></code>) or 0.00000001 Dash.
- 1 Dash is (<code>10<sup>8</sup></code>) or 100000000 duffs (100 million).

BitGo supports balances in string and number format but recommends string to ensure values do not exceed the
programmable number limit: `balanceString`, `confirmedBalanceString`, and `spendableBalanceString`.

### Dash InstantSend

Dash <a href="https://docs.dash.org/en/stable/developers/integration.html#integration-instantsend" target="_blank" rel="noreferrer">InstantSend</a> is a extension
allowing instant on-chain Dash payments.

Dash masternodes provide near instant certainty (before an on-chain confirmation) that a transaction inputs cannot be
respent, and that the network includes the transaction in a following block instead of a conflicting transaction.

Dash InstantSend exposes receiving and sending support through the `instant` flag on Transfer objects and sending
APIs.

Dash InstantSend transactions require higher than normal fees. When the `instant` flag is set to true, the system automatically calculates these fees when building a transaction and enforces them when sending.
