# 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.
The information for the addresses in your wallet is stored in the
$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
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
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
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
wallet import to import an address into a node:
lotus wallet import wallet.private
# Offline nodes
Each node stores its wallet in
~/.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.