# Dogecoin

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

## Dogecoin

Dogecoin (DOGE) forked from Litecoin in 2013, from which it inherited the Scrypt mining algorithm.
The Dogecoin network mines 1 block per minute. Dogecoin creates 10,000 DOGE per block.
This entails that the network creates 14,400,400 new DOGE tokens per day.

Dogecoin can be accessed with the following coin types:

| Environment        | Coin Type | Faucet                                                                                                                     |
| :----------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------- |
| Dogecoin Production | doge       |                                                                                                                            |
| Dogecoin Testnet    | tdoge      | <a href="https://dogecoin-faucet.ruan.dev/" target="_blank" rel="noreferrer">https://dogecoin-faucet.ruan.dev/</a> |

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

### Dust Threshold

A dust threshold is the minimum amount of Dogecoin that you can create in a single output. Dogecoin has a dust threshold of 0.01 DOGE.

### Generating wallets

```javascript
bitgo
  .coin('tdoge')
  .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/tdoge/wallet/generate
```

For Dogecoin, BitGo uses a 2-of-3 multisig P2SH scheme, with the keys in the order of User, Backup, and BitGo
respectively.

You can create wallets with a single line of code using the BitGo SDK.

### Creating addresses

```javascript
bitgo
  .coin('tdoge')
  .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/tdoge/wallet/$WALLET/address
```

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

### Balances

Dogecoin (DOGE) is the native asset of the Dogecoin blockchain. The base unit of Dogecoin is satoshi (or "sat"):

- 1 satoshi is (<code>10<sup>-8</sup></code>) or 0.00000001 Dogecoin.
- 1 Dogecoin is (<code>10<sup>8</sup></code>) or 100000000 satoshis (100 million).

BitGo Dogecoin wallets can support maximum (<code>2<sup>-63</sup></code>`- 1`) DOGE. BitGo supports balances only in string to ensure values do not exceed the
programmable number limit: `balanceString`, `confirmedBalanceString`, and `spendableBalanceString`.
