Tutorial · Getting started

Receive your first DIVI

To receive DIVI you give the sender an address. This page explains what an address is, how to make one in each wallet, how to check it before you share it, and how to watch the coins arrive. Every command was run on testnet.

About 10 minutes · Checked 2026-10-22 · Run on testnet

1What an address is

An address is a short public name for one key in your wallet. Anyone can send coins to it. Only the wallet that holds the matching private key can spend them. Your wallet makes the keys from your recovery phrase, so every address it gives you comes back when you restore that phrase.

The first letter tells you which network the address belongs to:

NetworkNormal addresses start withExample from this page
Mainnet (real DIVI)DDLGsf36UGkkwL8gnrAUDjwmxDkiaGRoXsk
Testnet (test coins, no value)x or yyC7cysasfRGSUNtEWtmxbcShpjoPjeaiXK

Those two examples are the same key written for two networks. That matters in the next section.

Make a new address for each payment you expect. It costs nothing, every one of them is covered by the same phrase, and it keeps your payments from being linked together on the public explorer. An old address still works: coins sent to it are never lost.

2Check an address before you share it

A payment sent to a wrong address cannot be pulled back. Three checks take ten seconds:

  1. Copy and paste, never type it. Every wallet below has a copy button. A typed address with one wrong letter is caught by the checksum, but a pasted one has no wrong letters to catch.
  2. Read the first letter yourself. D for real DIVI. If you are asking for real DIVI and the address starts with x or y, you copied a testnet address.
  3. Compare the first four and last four characters with what your wallet shows, after you paste the address into the message to the sender. Some clipboard malware swaps addresses as you paste. See Avoid scams.

Both nodes have a validateaddress command, and it catches typos. We changed the case of the last letter of a real address and both nodes answered "isvalid": false. It does not always catch the wrong network:

Asked on testnet aboutIronDivi 0.2.6C++ Divi 3.0.0
A testnet address with one letter changed"isvalid": false"isvalid": false
The mainnet form DLGsf3…GRoXsk"isvalid": true"isvalid": false
IronDivi does not check the network IronDivi 0.2.6 accepts an address from the other network as valid and will even send to it. On testnet we sent 0.5 tDIVI to DLGsf3…GRoXsk and it arrived at yC7cys…eaiXK in the C++ testnet wallet, because both are the same key. The owner still gets the coins, but only in a wallet on the network the coins were sent on. The C++ node refuses that send with Invalid DIVI address. Do the first-letter check yourself. The web wallet and the browser extension do check it.

3IronDivi node

You need the node from Install IronDivi and a wallet from Create your first wallet. If you followed Encrypt your wallet, IronDivi refuses to make an address while the wallet is locked:

$ irondivi-cli -c ~/divi-test/irondivi.conf getnewaddress
error code: -13: Wallet is locked

Unlock it for a few minutes first. The passphrase goes in on standard input, so it never appears in your shell history:

$ read -s P; printf '%s\n300\n' "$P" | irondivi-cli -c ~/divi-test/irondivi.conf --stdin walletpassphrase; unset P
$ irondivi-cli -c ~/divi-test/irondivi.conf getnewaddress
xvzMd5vNjhdYw3Z42RizxfgD1mr4DbiRyc
Wait for one block before you lock again In our tests, locking IronDivi 0.2.6 before the next block arrived, about one minute on average, made the node forget the new private key. The address then shows as watch-only and coins on it cannot be spent from this wallet. We hit this on testnet. Nothing is lost for good: the key comes from your phrase, and a wallet restored from the phrase spent those coins. To be safe, wait for getblockcount to go up by one before walletlock. We did that after every later address and send, and each key was kept.

Check the address. "ismine": true means this wallet holds its key:

$ irondivi-cli -c ~/divi-test/irondivi.conf validateaddress xvzMd5vNjhdYw3Z42RizxfgD1mr4DbiRyc
{
  "account": "",
  "address": "xvzMd5vNjhdYw3Z42RizxfgD1mr4DbiRyc",
  "iscompressed": true,
  "ismine": true,
  "isscript": false,
  "isvalid": true,
  "iswatchonly": false,
  "pubkey": "031b99cae6202961e724902457245892c2f3010d9256feffda46b7400129f0f1ea",
  "scriptPubKey": "76a9140018d7538c988ab2a268a2697b1fbb7e15943aba88ac"
}

IronDivi 0.2.6 ignores a label: getnewaddress "first-receive" still gives "account": "". Keep a note of what each address is for in your password manager instead.

4Divi Desktop

We did not run Divi Desktop 2.0.0 for this page, so we do not describe its Receive screen. The open-source Desktop code on GitHub was last updated in 2023 and may not match the current release.

Desktop runs the C++ Divi node inside it, so the commands in section 6 also work in its debug console: getnewaddress "label" and validateaddress <address>.

5BoxWallet

BoxWallet installs and runs the C++ Divi node for you. Its README (v0.8.38, read 2026-10-22) describes a Receive panel with "Your address as text and a QR code, plus a fresh one on demand". Pick Divi in the coin list, open Receive, and copy the address. The node underneath is the same C++ node as section 6, so the same checks apply.

6C++ Divi command line

The C++ node keeps a pool of ready keys, so getnewaddress works even while the wallet is locked, and it keeps the label:

$ divi-cli -testnet getnewaddress "first-receive"
yC7cysasfRGSUNtEWtmxbcShpjoPjeaiXK
$ divi-cli -testnet validateaddress yC7cysasfRGSUNtEWtmxbcShpjoPjeaiXK
{
  "isvalid": true,
  "address": "yC7cysasfRGSUNtEWtmxbcShpjoPjeaiXK",
  "ismine": true,
  "iswatchonly": false,
  "account": "first-receive",
  "hdkeypath": "m/44'/1'/0'/0/3",
  …
}

hdkeypath shows the address was made from your phrase. Asked about the mainnet form of the same key, this node answers "isvalid": false.

7Web wallet, browser extension and Telegram

WalletWhere to find your address
Web walletPress Receive. The panel shows Receive to Address with your first unused address, + New Address, an optional Amount for a payment QR code, Copy Address and Copy Payment URI. The ↗ link opens the address in the explorer.
Browser extensionPress Receive. The Receive screen has Receive to Address, a QR code and Copy Address. On testnet it also offers Request from Faucet.
Telegram wallet/newaddress opens the wallet app to make a new address. /receive <address> [amount] replies with a QR code and payment link for an address you already have.

All three make keys on your own device from your phrase. The Telegram bot never holds your keys.

8Watch the coins arrive

We sent 10 tDIVI from the C++ wallet to the IronDivi address above. A payment goes through two stages:

  1. Unconfirmed. The transaction is in the mempool but not in a block yet. Right after the send, IronDivi already showed it:
    $ irondivi-cli … getunconfirmedbalance
    10.0
    $ irondivi-cli … getreceivedbyaddress xvzMd5vNjhdYw3Z42RizxfgD1mr4DbiRyc 0
    10.0
    $ irondivi-cli … getreceivedbyaddress xvzMd5vNjhdYw3Z42RizxfgD1mr4DbiRyc
    0.0
    The last command counts only coins with at least one confirmation, so it says 0.0 until a block includes the payment.
  2. Confirmed. The next block included it, and the explorer counted up from 1/6 to Confirmed in about four minutes. Read a transaction walks through every stage on the explorer.

The explorer's address page is the easiest place to check from anywhere: open /testnet/explorer2/address/<your address>. For our address it showed:

Balance          10.00 DIVI
Total Received   10.00 DIVI
Transaction History (1)
Confirmed  9b0cdbadb1...1182897ed1
IronDivi's received total drops when you spend In IronDivi 0.2.6, getreceivedbyaddress adds up only the coins still unspent at that address. After we spent the 10 tDIVI it answered 0.0, while the explorer still said Total Received 10.00 DIVI. Use the explorer or listtransactions to prove a payment came in.

Do not ship goods or count a large payment as done at the first confirmation. Wait for the explorer's Confirmed, which means six blocks.

Troubleshooting

error code: -13: Wallet is locked on getnewaddress. That is IronDivi with an encrypted wallet. Unlock it as in section 3. The C++ node does not need this.

The sender says the address is invalid. Check the first letter. A testnet address sent to someone paying real DIVI, or the other way round, is the usual cause. Then copy it again from the wallet.

The payment does not show up. Look the address up on the explorer. If the explorer shows it and your wallet does not, your node is still syncing; wait for getblockcount to match the explorer's latest block.

IronDivi shows my address as watch-only. The wallet was locked before its next block (section 3). Restore the wallet from your phrase in a new folder, as in Create your first wallet. The restored wallet holds the key and can spend the coins.

Still stuck? Ask the Divi chatbot, or see all tutorials.