# Lotus: send and receive FIL

This guide will show you how to create and manage a Lotus wallet and how to use it to send some Filecoin to a different address. Each node can have multiple addresses.

To receive and send FIL with Lotus, you will need to have a Lotus node installed and running.

# Creating a wallet

# Create a BLS wallet

lotus wallet new bls

# Create a secp256k1 wallet

lotus wallet new

# Create a multisig wallet

lotus msig create address1 address2..

This will create a new address and print it. You can distinguish mainnet from testnet addresses because they start with f for mainnet and t for testnets.

WARNING

The information for the addresses in your wallet is stored in the ~/.lotus/keystore (or $LOTUS_PATH/keystore). Removing these folders will also remove the keys, and you will lose control of any funds in those wallets. We recommend backing up your wallets as soon as they have been created or using a hardware wallet.

# Listing addresses

You can create as many addresses as you need. One of them will be the default address.

You can see a list of all addresses for your current node:

lotus wallet list

You can see the default address with:

lotus wallet default

If you wish, you can change the default address to a different one:

lotus wallet set-default <address>

# Obtaining FIL

For non-mainnet networks, FIL can be obtained from a faucet. A list of faucets is available on the networks dashboard (opens new window). For mainnet, the easiest is to buy FIL from an exchange. Not all exchanges support FIL, so do your research before signing up.

Once you have received some FIL, use wallet balance to check your balance:

lotus wallet balance

Remember that you will only see the latest balance when your daemon is fully synced.

# Sending FIL

Use the send command followed by the receiving address and the amount of FIL you want to send

# lotus send <target address> <FIL amount>
lotus send f1zp2... 3

> bafy1...

Lotus will output a transaction hash after a successful transaction. You can view details of this transaction using a Filecoin explorer (opens new window).

Lotus assumes you want to send FIL from the default address. To send FIL from a specific address, use --from followed by the address you want to send FIL from. This address must have been created or imported to your Lotus node.

# lotus send --from=<sender address> <target address> <FIL amount>
lotus send --from f1zp2... f15zt... 3.141

> bafy2...

For advanced sending options:

lotus send --help

# Transaction fees

Every transaction that sends FIL pays an additional fee based on its gas usage. Gas and fees are explained in the How Filecoin Works guide. By default, Lotus automatically sets all the necessary values. However, you may want to use the --gas-feecap flag in the send command to avoid surprises when network congestion is high. For more information about messages and fees, see the Message Pool guide and Gas fees sections.

# Exporting and importing addresses

WARNING

Keep your addresses' private keys safe! Do not share them with anyone! Store them in a secure location!

You can export and re-import a wallet, including a different Lotus node. Use wallet export to export an address from a node:

lotus wallet export <address> > <address>.key

Use wallet import to import an address into a node:

lotus wallet import wallet.private

and:

# Offline nodes

Each node stores its wallet in ~/.lotus/keystore:

~/.lotus/keystore/
├── MF2XI2...
├── MRSWMYLVNR...
├── NRUWE4BSOA...
├── O5QWY3DFOQWWMM3RNZSXI6TKOJYHQYTMMQZHQNDBNRY...
└── O5QWY3DFOQWWMM3VOBZHAZLCOIZGINLDMRZWWNLMNJS...

To export a wallet when a node is offline, copy these files from ~/.lotus/keystore to another location. To import this wallet, copy these files into ~/.lotus/keystore. The Lotus node will automatically use these keys when it next starts.