Quick start

This quick start tutorial will guide you through the first steps of connecting to the Monero wallet. We assume you:

  • have basic knowledge of Monero concepts of the wallet and daemon,
  • know how to use CLI (command line interface),
  • have experience with Python.

Connect to testnet for your own safety

The testnet is another Monero network where worthless coins circulate and where, as the name suggests, all tests are supposed to be run. It’s also a place for early deployment of future features of the currency itself. You may read a brief explanation at stackexchange.


Please run all tests on testnet. The code presented in these docs will perform the requested operations right away, without asking for confirmation. This is live code, not a wallet application that makes sure the user has not made a mistake. Running on the live net, if you make a mistake, you may lose money.

Start the daemon and create a wallet

In order to connect to the testnet network you need to start the daemon:

$ monerod --testnet

If you haven’t used testnet before, it will begin downloading the blockchain, exactly like it does on the live network. In January 2018 the testnet blockchain was slightly over 2 GiB. It may take some time to get it.

You may however create a wallet in the meantime:

$ monero-wallet-cli --testnet --generate-new-wallet testwallet

For now you may leave the password empty (testnet coins are worthless).

Start the RPC server

The RPC server is a small utility that will operate on the wallet, exposing a JSON RPC interface. Start it by typing:

$ monero-wallet-rpc --testnet --wallet-file testwallet --password "" --rpc-bind-port 28088 --disable-rpc-login

Now you’re almost ready to start using Python.

Install Dependencies

Before you can use the library, you first must download the Python library dependencies with pip. It is recommended to use a virtual environment to isolate library versions. Assuming you have virtualenv installed to your system, set up a new env, activate it, and install the dependencies.

$ virtualenv .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt
$ python

Now you can proceed.

Connect to the wallet

In [1]: from monero.wallet import Wallet

In [2]: from monero.backends.jsonrpc import JSONRPCWallet

In [3]: w = Wallet(JSONRPCWallet(port=28088))

In [4]: w.address()
Out[4]: A2GmyHHJ9jtUhPiwoAbR2tXU9LJu2U6fJjcsv3rxgkVRWU6tEYcn6C1NBc7wqCv5V7NW3zeYuzKf6RGGgZTFTpVC4QxAiAX

In [5]: w.balance()
Out[5]: Decimal('0E-12')

Congratulations! You have connected to the wallet. You may now proceed to the next part, which will tell you about interaction with wallet and accounts.