Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This document will tell you exactly how to set up and operate the Oxen GUI wallet. You can download the appropriate GUI Wallet for your desktop operating system here.
Mac and Linux users skip to Step 1.
Open the executable file we downloaded from the Oxen Github Oxen.Electron.Wallet.Setup.X.X.X-windows.exe
to start installion.
When installing the wallet the Windows Defender SmartScreen will prevent you from opening it unless you give the file permission.
Click Run anyway
to give the executable permission.
Now run through the installation prompts and then click install.
Once the installation has finalised open the Oxen Wallet by clicking your "Windows" key or the start menu and searching for oxen electron wallet
.
Once the installation has finalised open the Oxen Wallet by clicking your "Windows" key or the start menu and searching for oxen electron wallet
.
Once opened the wallet will need to be configured.
Default settings are fine to use.
This is not required but if you would like to run your own node and broadcast your own transactions check the
Local + Remote Daemon
or theLocal Daemon Only
option.
Click Next
when ready.
Once your settings have been configured if you do not already have a wallet generated yet then your screen will look like the following:
To create a new wallet click the Create new wallet
button.
Next fill in the input fields that are required. It is recommended that you should consider encrypting your key with an optional password.
Once input boxes are filled in click CREATE WALLET
button.
To import a wallet from seed click the Restore wallet from seed
button.
Next fill in the following input fields:
Wallet Name: Enter a name for your wallet.
Mnemonic Seed: Enter the seed phrase that was generated when intially creating your wallet.
Restore from Date: Enter the date or blockheight in which you want to restore your wallet from.
It is quicker to restore from the date in which you generated the wallet.
Password: Enter an optional password.
Confirm Password: Enter the same password to confirm spelling.
Once input boxes are filled in click RESTORE WALLET
button.
When installing the Oxen Wallet, overzealous antivirus software can sometimes block the wallet or some of its components from functioning, or even delete them entirely. To avoid these issues on Windows, follow the below steps.
Note: when you reach Step 6 (downloading the Oxen Wallet), ensure you are downloading the Wallet directly from an official source: either here on the Oxen Docs, or on the official Oxen Github releases page.
For the purposes of this example, our images show how to do this on Windows Defender
Create a folder called “Wallet” at the root of your C: drive (or another convenient location)
Open your antivirus program and go to “Manage Exceptions”, “Exceptions”, "Exclusions", or similar:
Click “Add an exception”, "Add an exclusion", or similar:
Select your Wallet folder as the location for the exception:
Disable protection features for this folder:
Download the latest version of the Oxen Wallet directly into the Wallet folder:
Run the Oxen Wallet installer and select the Wallet folder as the install location:
Check your antivirus program’s firewall and ensure all executables named “Oxen xxx” are permitted through the firewall:
Congratulations! You can now proceed to our GUI Wallet setup guide as normal.
Note: If you’re using Bitdefender specifically, and your wallet still does not function after following the above steps exactly, disable Advanced Threat Detection under Features
This guide will walk you through using the GUI wallet for the first time. It assumes you already have the GUI wallet installed and running. If this is not the case you can download the wallet from our downloads page. Some overzealous antivirus software may take issue with the Oxen wallet, if this happens we walk you what to do about that HERE.
We will discuss in detail the process of creating & using the wallet later in this guide. But a quick overview of the GUI wallet is as follows. The wallet begins by displaying a list of your wallets and looks like this:
In this above image you can see 5 different wallets. Each wallet has a different address and holds a different amount of Oxen. Clicking on a wallet will ask you for a password which is used to decrypt the wallet file and brings you to the following page:
This is the main wallet page which contains all of the basic information about the wallet.
1. The “Total Balance” of the wallet is shown just above the centre of the screen (16,475.448 Oxen). It also lists the 'unlocked' balance directly below. If you have staked to an Oxen service node, the amount of Oxen you have staked will be unavailable to send.
2. A list of sent and received transactions can be seen at the bottom. (Showing where you have previously received funds, and also previously spent funds)
3. The long alphanumeric text in the center is the wallet address (T6SYH3Lh…). In this image the wallet operates on the Oxen testnet (A network built to practice without risking real funds), this can be identified by the address beginning with the letter “T” and the address being 98 characters long. When interacting with the Oxen mainnet (The real network) the wallet address will begin with the letter “L” and will be 95 characters long.
4. The wallet name at the top left. This name is decided by you and matches with the names on the first page. This name is simply to help you identify which wallet you are using, if you have multiple wallets.
5. Action Buttons for wallet usage. These include sending funds, receiving funds, interacting with service nodes and purchasing and managing Oxen Name Service records (ONS Records). We will go into sending and receiving in detail later.
When you first open up the GUI wallet you will need to create a wallet and setup some default settings. You will first be greeted with a language selection page. We will be walking through the English version here. Click your native language to continue to the next page:
The next page of the wallet is where you configure the network settings.
Basic Network Settings
To get started quickly and easily the following settings are recommended:
Type: Remote Daemon Only
Remote Node Host: public.loki.foundation
Remote Node Port: 22023
Additional Network Configuration Details The three radio buttons at the top of this page determine how the wallet connects to your daemon (which manages the blockchain). Remote means there is an external daemon that the wallet communicates with. Local Daemon means the wallet will spin up a subprocess for the daemon and interact with it directly.
Running a local daemon will require syncing the Oxen blockchain before you are able to interact with the wallet, which will take time. So for an immediate start, connecting to a remote daemon that the Oxen Foundation is running is the easiest option.
The downside to using a third party for your remote daemon is that it is privacy reducing (That third party will see your requests to the network). So for ultimate security one should run their own daemon, but as that is a more advanced topic we won't get into it here. If you wish to follow this route it is recommended you run the oxend daemon software separately, wait for the blockchain to sync, and from the wallet select “Remote Daemon Only” and point it at your own local daemon (Remote Node Host: Localhost). This means you do not need to keep the wallet open while syncing and have greater control over the daemon rather than letting the wallet manage the daemon. If this sounds like mumbo jumbo to you, don't stress, just choose the basic network settings above and continue.
The next page will present 3 options to decide how to create/load/import/open a wallet into the application. If you have not used the GUI wallet before will want to choose “Create new wallet”
When creating a new wallet you will need to choose the following:
Wallet Name: represents the name of the datafile and is used throughout the application to identify the wallet. Choose something that is memorable because your wallet list can become unwieldy rather quickly when creating multiple wallets. For this reason using names such as: Wallet1, Wallet2, Wallet3 etc are not recommended.
Seed language: The most important part of the wallet creation process is the creation of your “Seed Phrase”. This is shown in the next step. Select your native language here to make the recording of your seed phrase easier.
Password: Your wallet file will be encrypted by this password to prevent malicious persons from accessing your wallet if they get control of the wallet file. Please note that you can still access your wallet if you forget the password but still have the seed phrase. A password is not necessary (resulting in an unencrypted wallet save file) but it is highly recommended.
After filling in the appropriate fields click “Create Wallet”
On this page you are shown the details of your newly created wallet. At the top you can see your new wallet address which is used by other persons to send funds to you. Beneath this you can see your seed words.
Important!
Please note that these 25 seed words are by far the most important part of the wallet creation process. Write these somewhere safe! Don't lose them. If a malicious person gets access to these words they will be able to spend your funds. The Oxen team will NEVER ask you for your seed phrase and a person requesting them from you is likely a scammer trying to steal your funds.
You won’t need to regularly use these seed words. But if/when you need to recover your wallet or move the wallet to a different computer then everything can be rebuilt using these 25 words.
Click “OPEN WALLET” and you will be brought to the main wallet page discussed earlier.
When purchasing oxen from an exchange or requesting funds from another person you will need to provide your wallet address. From the main page your wallet address is the 95 character text starting with “L”. This is shown in the red box below:
If you click the “Copy Address” button to the right of the address (Shown in the green box) your wallet address will be copied to the clipboard and you can simply paste it using Ctrl-V.
When receiving funds from an exchange there will generally be some processing time from the exchange (This time varies depending on the exchange) then a transfer will occur on the blockchain which your wallet will recognise.
The wallet scans the blockchain to find transfers that belong to you, when it finds one it will be added to the transaction list at the bottom and your balance will be updated. If the wallet is not detecting your transfers the most common reason is due to the wallet not being fully synced yet.
Down the bottom of the application there is a status bar. This should be green and say Status: READY
Remote: 946353 refers to the height of the blockchain on the remote daemon. Wallet: 946353 / 946353 (100.0%) refers to how much of the blockchain the wallet has processed when looking for your transactions. The wallet has to scan all transactions on the blockchain when searching for your transactions, so this process does take some time. If the wallet is still syncing the status bar will look like this:
While Status: SYNCING is in the status bar it is normal and expected that your transactions are not processed and therefore won't be shown in the application. Please wait until the wallet show Status: READY
Both the Remote Daemon and the Wallet need to be fully synced for your wallet to work correctly.
From the main page in the application click on the “Send” button
From here you will be greeted with the page to enter in your recipients address and the amount you wish to transfer. Key things to not note this page:
Amount: This is the amount of Oxen you wish to transfer, 1 means 1 full oxen transferred
Priority: Blink is our instant transfer technology which is selected by default. Selecting slow will mean the recipient has to wait until the transfer has been confirmed in a block before seeing the payment. Choosing Blink is recommended wherever possible.
Address: The address of the recipient.
Notes: This is an optional field for noting details about the transaction such as: why are you sending it, who are you sending it to etc. This is completely optional.
Click “Send” and you will be prompted for the wallet password and then a screen will confirm the transaction details.
Click Send to broadcast the transaction to the network. Shortly afterwards the bottom of the application will display a green banner saying Transaction Successfully Sent
After this point the transaction will show up in your transaction list and your balance will be reduced by the sent amount.
This guide explains how to stake to an Oxen Service Node via the Oxen Mobile Wallet
The latest versions of the Oxen Mobile Wallet can be found on our downloads page.
Open the Oxen Mobile Wallet, enter your password/pin, and let it fully sync to the latest blockheight.
Press the icon in the top right of the screen to open the menu.
From there, press "Stakes" to navigate to the staking section.
Next, press "Start Staking" to begin the staking process
Search for nodes that are awaiting contribution on https://oxensn.com.
Copy the service node public key into the box at the top of the screen labelled 'Service Node Key'
Enter the amount of Oxen you wish to stake in the other box. The minimum stake amount will be listed on https://oxensn.com, but to work it out yourself you can simply divide the amount of Oxen available to stake by the number of slots left for that Service Node.
For example, if a node had 2 slots remaining and 7500 Oxen available for stake, the minimum contribution would be 7500/2 = 3750 Oxen.
Once you have entered the Service Node public key and the amount you wish to stake, simply swipe 'Stake Oxen' to contribute to the Service Node.
Congratulations! You're all staked up, and you'll receive your Service Node rewards directly to your wallet.
To unlock your stake from a Service Node, navigate to the stakes section of the wallet your contributions will be listed. You can unstake a contribution by swiping left and confirming. Your Oxen will be unlocked after 15 days.
If something in this guide doesn't make sense, or if you’re running into issues that you can’t identify on your own, the first place to go would be the Oxen Telegram Group. Alternatively, you can find help on our other communication channels: Twitter, or Reddit.
If you've sought help through our communication channels but have not arrived at a solution for your issue, we recommend opening an issue ticket on the Session public server GitHub repository.
Oxen allows users to stake their oxen by running service nodes which support the Oxen Network. To run a service node an operator is required to stake 15,000 oxen which they can either contribute the full amount or share the burden between multiple contributors to reduce the amount required individually. This guide does not explain how to set up a service node, instead it explains for non-technical users how they can contribute to a service node which is run by a separate operator, allowing them to share in the rewards earned by that service node.
The first step is to find out if there are any service nodes which are "Awaiting Contribution", this occurs when a service node requires additional contributors to make up the 15,000 oxen requirement.
If you navigate to oxen.observer you can see on the front page a section titled "Service Nodes Awaiting Contributions" (Highlighted in Orange Below).
We are going to stake to the service node highlighted in green (a321e...)
Throughout this guide we will be using the Oxen "testnet" for demonstration purposes. This differs slightly to our mainnet in that you only need to contribute 100 oxen to set up a service node. Aside from this, the process is identical.
This section will explain some of the technical details contained in the above image and is optional, please feel free to skip to the next section which explains the GUI wallet usage if you please. In the above image there are 2 Service nodes that are awaiting contribution, the columns in the table are as follows:
Public Key: Service nodes are identified by a unique public key, this will be used later in the staking process and for finding the node at later dates. So you will need to write this down
Contributors: A maximum of 4 contributors are allowed to stake to a single service node. For the identified service node there is a single contributor so far (The operator who set up the node)
Operator Fee: The operator is allowed to charge a "fee" which is used to cover their server expenses. In this case the operator is looking to charge a 10% fee for running the node. This fee is market driven and we see a range of fees depending on the token price, hosting fees etc. For a ballpark figure the range is usually between 5%-15%. The calculation for how the fee affects contributors is as follows:
Each block that the service node creates will earn all contributors 16.5 oxen
The operator will take their fee of 10% = 1.65 oxen
The remaining balance 16.5 - 1.65 = 14.85 oxen will be distributed pro rata amongst all the contributors.
In this guide we will be contributing 75% of the total staked amount. This means we will be receiving 11.1375 oxen per block the node creates.
The operator who contributed 25% of the total staked amount will also receive 3.7125 oxen for their share. This is in addition to their fee so the operator will receive 5.3625 oxen in total.
Contributed: This keeps track of the total oxen staked so far by contributors. When this amount reaches 15,000 oxen the node will be considered fully staked and becomes an active service node that can earn rewards.
Open for Contribution: The remaining amount needed before the node is fully staked.
Min Contribution: As there is a maximum of 4 contributors to a service node there is a minimum amount to contribute enforced on the stakers. This formula is: Remaining Amount Open for Contribution / Slots left for stakers
In this case there is only 1 contribution so far, 3 slots out of 4 remaining. 75 oxen open for contribution divided by 3 = 25 oxen
This usually results in a minimum of about 25% of the total requirement (25% of 15,000 = 3,750). However if a person contributes over the minimum amount it means that later contributors have a lower minimum. So infrequently we see a minimum required amount of a few hundred oxen.
Expiry Date: Historically service nodes had an expiry date and operators were required to restake/restart the node. This has changed and now it is usual to run nodes infinitely with no expiry date.
Open up the GUI wallet and click on "Service Nodes"
When on the service nodes page, you will see the following:
There is a fair amount going on in this page. The areas identified by the green numbers above are:
Buttons to navigate the service nodes page (You will want to stay on the "Staking" tab for now).
My Stakes: Keeps track of nodes you have staked to and will be discussed below
Staking: Current page and what we are using to stake to another persons node
Registration: Used to set up a service node and is outside of the scope of this guide
Service Node Key: Here we enter in the the public key we identified from the oxen.observer page. We chose the key a321e... and have entered it in.
Amount: This needs to be above the minimum contribution and a maximum that will completely fill the service node. There are buttons on the right that conveniently calculate this for you
A list identical to the oxen.observer page is shown here. Clicking on the stake button on the right of the items will prefill the Service Node Key and Amount will be set to the minimum
We are deciding to fully stake the remaining amount to this service node, so have entered in 75 oxen (75+25 = 100 oxen required for testnet nodes, on mainnet this is 15,000).
When the fields are correct click on "Stake" (Highlighted with a green box above). You will be prompted with a confirmation.
After clicking Stake your wallet will send a transaction to the network. You should see a green notification that the staking transaction was sent successfully. This transaction will lock that amount so that you are unable to spend, but the funds still belong to you and are available to unlock (Which will be shown shortly). Navigating to the main page of the wallet will show the pending stake transaction.
The pending transaction once confirmed on the blockchain will transform into a "Stake Transaction"
Once the transaction has been confirmed you will be able to check the oxen.observer website for the service node and it will confirm that the service node is active. You can find this page by searching the Service Node Public Key in the search box at the top of the page.
Back in the wallet you will also be able to navigate to the "My Stakes" tab which will show the staked service node. Please note that this page is updated on wallet startup, so you will need to restart the wallet to see the changes after staking.
On this page you will see a complete list of staked nodes and how much you have contributed. On the right of each node you will see the option to unlock (Highlighted in red). When you wish to stop staking you will need to begin the unlock process, this takes 15 days on the mainnet so careful planning needs to be done to ensure you unlock early enough if you need access to the funds. Clicking unlock will prompt you with with a confirmation popup.
Please note that when you contribute to a node other users also have a vested interest in the node. Unlocking will force the other users to also unlock and the operator will need to restart the node staking process which many operators find frustrating. Frequent unlocking is rude. When unlocking the node will continue earning rewards until the point it is unlocked (15 days). Funds will also remain locked during this time. Once the 15 days have elapsed the funds will be unlocked and available to spend and the node will cease to earn rewards.
The My Stakes page will also show the node as unlocking and when visiting the oxen.observer website the service node page will also show the node as unlocking.
At this point you have all the skills that are necessary to stake to a service node and to unlock the stake when you wish to exit. Visit https://oxen.observer/ and start exploring the nodes that are awaiting contribution today!
Just looking for the latest Oxen Wallet releases? .
The Oxen Wallet is your gateway to private decentralised transactions and communications. It allows you to hold and secure your $OXEN, stake into Oxen Service Nodes, and transact with $OXEN.
The Oxen wallet stores a collection of public and private keys which can be used to receive, view, or spend $OXEN.
The wallet uses these private keys through a daemon which synchronises with the Oxen network to scan for incoming transactions and send outgoing transactions.
The Oxen GUI Wallet, also referred to as the Oxen Electron Wallet, is the most user-friendly Oxen wallet. It has a graphical interface (like most PC applications), which is perfect for beginners or those just looking to store and send their Oxen. The GUI Wallet is available for Windows, macOS, and Linux.
To download the latest release of the Oxen GUI Wallet, head to our .
Guide | Description |
---|
The Oxen CLI Wallet is for more advanced users, and offers additional tools to interact with the Oxen blockchain.
To download the latest release of the Oxen CLI Wallet, head to our .
Guide | Description |
---|
The Oxen mobile wallet allows users to access and manage their Oxen without having access to a PC. The mobile wallet is available for both iOS and Android.
The Oxen Wallet allows you to export a CSV of transactions that have occurred in the wallet. The process for both the GUI wallet and the CLI wallet are as follows:
The Oxen GUI wallet as of v1.6.0 supports the exporting of your transactions. After logging into your wallet:
Click on SETTINGS at the top right of the app
Click on Export Transfers
The wallet will then prompt you for a folder to save the CSV to. This defaults to a CSV directory within the Oxen folder (Same directory your wallet keys are stored) but you can edit this to any location.
Click Export and you will be prompted for your wallet password
You will then see a green notification at the bottom of the window if the export is successful. For example: “Transfers exported to /home/sean/Desktop/transfers.csv”
Note you will either need to be running a local daemon (oxend) or have a remote node that the CLI wallet can communicate with.
Navigate to the directory that the oxen-wallet-cli executable is stored in:
Run the oxen-wallet-cli:
If you are using a remote node instead of a local daemon you will need to add additional command line arguments here:
The wallet will ask you to enter the name of your wallet file. If you are coming from the GUI wallet these are stored in the following locations
Linux: ~/Oxen/wallets/MyWallet.keys
Windows: C:\Users<username>\Documents\Oxen\wallets
Mac: ~/Oxen/wallets/MyWallet.keys
These can alternatively be included as command line flags
Once the wallet has synced you will be able to call `export_transfers` which saves the CSV to the same location as where you ran the oxen-wallet-cli (Most likely the same location as the executable).
Background Information
The Ledger hardware wallet stores your private keys on-device so as to isolate your private keys from your PC (which can be at risk of viruses and other attacks). The use of a hardware wallet changes the way you interact with your software slightly.
The oxen-wallet-cli software usually creates 2 files which it uses for processing transactions. The files are named after your wallet name which you specify during startup.
After this initial step you will see the two files:
1) MyWallet – Large File ~15Mb
2) MyWallet.keys – Small File ~ 1.4Kb
The first file contains the saved state of the Oxen wallet. The wallet processes encrypted transactions on the blockchain and then records your unspent transactions here.
The second file contains your encrypted private keys.
When using the Ledger hardware wallet, the oxen-wallet-cli software will still create the first file to save the wallet state but the second file no longer contains your private keys. Instead, they will be saved securely on the hardware device (note: public keys and view keys, if exported, will still be saved here). This changes the process that oxen-wallet-cli will follow in order to sign a transaction.
Without a hardware wallet: oxen-wallet-cli will craft an unsigned transaction, then will reference the MyWallet.keys file to prepare a signed transaction which it will submit to the mempool and broadcast out to the Oxen network.
With a hardware wallet: oxen-wallet-cli will craft an unsigned transaction then submit it to the Ledger hardware wallet for signing. The Ledger hardware wallet will return a signed transaction to oxen-wallet-cli which the software will then submit to the network.
Before being able to generate an Oxen wallet on the ledger you will need to have initialized your Ledger and should have your 24 word mnemonic seed previously generated.
You will also need to have the Oxen App installed on your Ledger.
The first step is to connect the Ledger to your PC via the microUSB cable and run the Oxen Ledger App.
Next, ensure that your daemon (oxend
) is running with a fully synced blockchain (alternatively, you can connect oxen-wallet-cli to a remote node)
Navigate to the directory where oxen-wallet-cli is located (the following commands assume oxen-wallet-cli is located in the home directory and under a folder called oxen) and call the software using the “generate-from-device” flag
cd ~/oxen
./oxen-wallet-cli --generate-from-device <NEW_WALLET_NAME>
Replace <NEW_WALLET_NAME> with your desired wallet name. For instance if you want to name your wallet MyLedgerWallet you would use the following command:
./oxen-wallet-cli –generate-from-device MyLedgerWallet
The CLI will execute the command, then prompt you for a password to encrypt the wallet state information file mentioned above.
The Ledger device will ask you to confirm whether you want to export the private view key. This view key is used to search and decrypt the transactions in blockchain. Exporting this key to the software will enable oxen-wallet-cli to search the blockchain (rather than the Ledger device itself). The oxen-wallet-cli client will be able to search the blockchain significantly faster if you export the private view key. It should be noted that your funds cannot be compromised by this view key, but if an attacker was to obtain this key they could scan and identify your incoming transactions, which would be detrimental to your privacy.
Navigate using the left and right buttons on the Ledger to either the accept or reject screen and press both buttons simultaneously to confirm your choice. After confirming, the Ledger will then generate your wallet. Note this may take 5-10 minutes and the Ledger will not provide immediate feedback while doing so.
Next you will be prompted to enter the wallet restore height. This lets the wallet know that it can stop searching the blockchain for transactions prior to this block. If this is a new wallet then you can safely use the default [curr] by pressing Enter; if this is a wallet that has previously received transactions, then enter an appropriate restore height, or 0 to restore from the very start of the blockchain (a much slower process).
After the wallet has been generated, oxen-wallet-cli will start refreshing (scanning the blockchain for transactions). Wait until it has fully refreshed.
Congratulations, you can now use your Ledger wallet in conjunction with the Oxen CLI wallet!CLI
You only use the --generate-from-device on the single occasion when creating the wallet. Going forward, you use the CLI wallet as usual but select the wallet file corresponding to the Ledger wallet.
Steps to use:
Make sure your Ledger is plugged in and the Oxen app is running.
Open oxen-wallet-cli
Enter the wallet name of your Ledger Oxen wallet. This is the same as the name of the wallet state file mentioned above.
Enter the password to open the wallet.
Call oxen-wallet-cli from the same directory as the wallet file created above using the generate-from-device-flag
./oxen-wallet-cli
You will then be prompted to specify the wallet file name and enter the password. If you didn’t instruct your Ledger to always provide the view key, then your wallet will prompt you again for permission to provide it (you can change this setting later in the Settings within the Ledger app).
Afterwards, you will be able to enter commands into the wallet. This process is the same for both Ledger wallets and non-Ledger wallets, except that there will be an extra confirmation step on the Ledger before transactions can be submitted to the blockchain.
Enter the following command to transfer to another address:
transfer <DESTINATION_ADDRESS> <AMOUNT>
For example, transferring 50 Oxen to the following testnet address can be done via:
transfer T6SjALssDNvPZnTnV7vr459SX632c4X5qjLKfHfzvS32RPuhH3vnJmP9fyiD6ZiMu4XPk8ofH95mNRDg5bUPWkmq1LGAnyP3B 50
You will then be prompted to enter your password, and the Ledger device will start to process the transaction.
During this process, the Ledger will prompt you to confirm the following details of the transaction:
Fee
Recipient Address and Amount
After confirming the transaction on the Ledger wallet, the oxen-wallet-cli will also prompt you to confirm the transaction details. Typing ‘Yes’ to confirm will submit the transaction to the blockchain network
Congratulations, you have successfully transferred funds using the private keys saved securely on your Ledger.
Care should be taken when closing the wallet. If the Ledger is powered off incorrectly, there is a risk of data corruption. Follow these steps to close the app safely:
1) Shut down oxen-wallet-cli by typing “exit” and hitting Enter. The wallet will take a few moments to update the wallet cache file on disk.
2) Close the Oxen Ledger App
3) Unplug the Ledger device
To download the latest release of the Oxen mobile wallet, head to our .
Guide | Description |
---|
The Oxen CLI wallet is based on wallet first developed by Monero. The Oxen wallet includes additional commands on top of the standard monero-wallet-cli
commands, and this document goes through all the Oxen and Monero CLI commands available within oxen-wallet-cli
.
The oxen-wallet-cli
has multiple commands to conduct different operations on the Oxen Blockchain. Typing help
and pressing Enter after loading your wallet will bring up the commands that can be used.
When a wallet is generated, it will automatically have an account labelled Primary account
with index 0
. If at any time you wish to create an additional account use the command:
This command will create a subaddress which is labelled with a tag and index number. This subaddress will share the same seed as your Primary address. To ensure this new account is displayed you must type exit
to save your session.
You will note that there is now an asterisk to the left of index 1. The asterisks show us the account in which the commands we run will apply to.
Note: Restoring your wallet from your seed will not restore your accounts as the index of your subaddress data is stored on your computer within your wallet file. All the funds stored in your additional accounts will be shown in your Primary account if you need to restore your wallet from scratch.
When transferring out or receiving to a specific account we need to make sure that the account we are performing the action is the one the CLI is currently connected to. An asterisk will show which account we are connected to. In the below example the asterisk is shown to the left of Secondary account so any operations will be associated with that account.
Each of the accounts connected to your Primary address will have an index associated with them. The index number will be shown to the left of the Account column. By default, index “0” is your Primary account.
To switch between the accounts you have created run the command:
After running the command a similar output shown below will be on your terminal.
To change the label name connected to a specific Oxen Primary or Sub-address use the command:
Replacing <index>
with the index number associated with the account you wish to relabel, and replacing <label text with white spaces allowed>
with the new label you would like to name the specified account.
Below shows the current accounts and labels for a specific wallet.
Using the command account label 0 My Account
we have changed the label connected to our Primary address from “Primary account” to “My Account”.
The oxen-wallet-cli
allows you to group accounts by tagging or untagging them.
Below shows a wallet with 4 accounts, Dog, Kid 1 and Kid 2.
We can tag a single account with the following command:
When needing to perform multiple tags we can do it through one command:
Similarly we can untag accounts by running the following command:
Using the above exampled wallet we will remove our “Dog” account from “Pets”.
If you require additional information attached to a specific tag you can add a description with the following command:
For example:
To check the balance of your wallet you can run one of two commands:
balance
or balance detail
Running the command balance
will generated a simple output showing your balance and unlocked balance of the specific account you are in. For example:
While running the command balance detail
will generate a more detailed output, showing the account number, first few characters of the address, balance, unlocked balance, Outputs and the Label of the account. For example:
There are other commands that will also output the balance which have been covered by this guide, such as the account
command.
To show the blockchain height run the command:
Blackballing transactions allows you to ignore others' outputs (containers of money) that are known to be spent in a certain transaction.
For example let’s imagine that txid: 4f4b371a0da8858bbeab8a40ff37de1f6ff33e64a616e5ced8239062570b7542
is known to be fake and if this txid is seen within a RingCT transaction the network can assume it is fake, therefore an actor has a better chance of deducing the real transaction within the RingCT.
By blackballing the above txid we remove the chance of it being used within our RingCT.
To do this we will use the following command:
For example:
To check if the txid was added to our list of txids not to use we can use the following command:
If the txid is on our list the following will output:
Alternatively if the txid is not on our list the following will output:
To unblackball a txid use the following command:
For example:
Reserve Proofs are used to generate a signature proving that you own an amount of $OXEN, with the option to sign the reserve proof with a key.
For example let’s imagine you see a car for sale but they will accept $OXEN as payment, however they have advised in their online listing that they are only interested in serious buyers and require you to prove you have the $OXEN. Luckily we can use Reserve Proof commands for this proof.
To begin we will need to run the get_reserve_proof
command to generate our proof.
If the individual you are sending this proof to requires you to prove you have 1000 $OXEN you will need to replace the section (all|<amount>)
with a 1000, otherwise replace it with the amount you need to prove you have reserved. If you want to put an extra layer of encryption over the file replace [<message>]
with a password.
Your command will similar to the below command:
The CLI will request your wallet password and once your password is entered it will tell you it generated a signature file.
This signature file oxen_reserve_proof
will be saved in your Oxen folder, where your daemon and wallet keys are. Keep in mind every time you run the get_reserve_proof
command it will overwrite youroxen_reserve_proof
file.
You will want to send this file to the person who requires the proof. You can upload the oxen_reserve_proof
file through https://transfer.sh/ by running the command within the folder of your signature file:
The terminal will then print out a link to your signature file which you can then provide to the individual performing the check.
Make sure you provide the following to the individual who will be checking your reserve proof:
The oxen_reserve_proof file through the transfer.sh link.
The Oxen address you are proving has $OXEN in it.
The <message>
if you encrypted the file.
To check a reserve proof we need to first have the oxen_reserve_proof
file in our Oxen folder.
If you do not have the oxen_reserve_proof
file in your Oxen folder request the individual sending the file to you to use https://transfer.sh/, once they send you the link to their oxen_reserve_proof
you can use the following command to download it.
Replacing <link>
with the link to download the oxen_reserve_proof
.
Now that the oxen_reserve_proof
is in our folder we can run the following command:
Where <address>
is the address of the wallet where the command get_reserve_proof was ran. <signature_file>
is the file that was received from the individual sending you the reserve proof, normally generated as oxen_reserve_proof
and <message>
is the key set by the individual who sent you the reserve proof.
Therefor for the previous example where we created a reserve proof for 1000 $OXEN and signed with “car”, we would run the command:
If all goes well, the terminal will output the following:
You may note that it shows a reserve proof which is greater than 1000, this is because the command is adding up all the transactions into the address specified until it is greater than the reserve proof set.
Spend Proofs are used to generate a signature proving that you generated a TXID, with the option to sign the spend proof with a key.
For example let’s imagine you have bought a car from a dealership with $OXEN and have sent 1000 $OXEN to the seller. Unfortunately the dealer does not know which transaction is yours as he has received 5 transactions of 1000 $OXEN in the same block for 5 different cars. He knows the txid’s but wants you to prove that you have generate one of the txid’s in his list. Luckily we can prove we generated the txid by using the get_spend_proof
command.
To begin we will first need to find the txid associated with our transaction. To do this run the following command in our wallet:
The terminal will output a list of transactions in and out of your address. You should have a transaction in your list with the amount you spent to the dealership. Copy the txid(by highlighting) associated with this transaction and save it in a notepad for later.
We can now run the get_spend_proof
command to generate our proof.
Replacing <txid>
with the txid of our transfer out and replacing <message>
if we want to add a password to the proof. If all went well the terminal will output the following text:
This signature file oxen_spend_proof
will be saved in your Oxen folder, where your daemon and wallet keys are. Keep in mind every time you run the get_spend_proof
command it will overwrite your oxen_spend_proof file
.
You will want to send this file to the person who requires the proof. You can upload the oxen_spend_proof file through https://transfer.sh/ by running the command within the folder of your signature file:
The terminal will then print out a link to your signature file which you can then provide to the individual performing the check. For example:
Make sure you provide the following to the individual who will be checking your reserve proof:
The oxen_spend_proof
file through the transfer.sh link.
The $OXEN transaction txid associated with the transaction you are proving you generated.
The <message>
if you encrypted the file.
To check a spend proof we need to first have the oxen_spend_proof
file in our Oxen folder and the txid associated with the transaction being proved.
If you do not have the oxen_spend_proof
file in your Oxen folder request the individual sending the file to you to use https://transfer.sh/, once they send you the link to their oxen_spend_proof
you can use the following command to download it.
Replacing <link>
with the link to download the oxen_spend_proof
.
Now that the oxen_spend_proof
is in our folder we can run the following command:
Where <txid>
is the txid associated with the transaction that is being proved. <signature_file>
is the file that was received from the individual sending you the spend proof, normally generated as oxen_spend_proof
and <message>
is the key set by the individual who sent you the spend proof.
An example would look like the following command
If all goes well, the terminal will output the following:
If you receive a Good signature
message that should be a good proof that the txid you are checking was generated from the sender. Keep in mind however that this can potentially not always be the case, considering someone could get access to someone else's computer thus having access to this file.
TX Proofs are used to generate a signature file proving that you generated a TXID, with the option to sign the spend proof with a key. TX proofs work similar to Reserve Proof’s and Spend Proofs however they show more detailed information.
For example let’s imagine you have bought a car from a dealership with $OXEN and have sent 1000 $OXEN to the seller. Unfortunately the dealer does not know which transaction is yours as he has received 5 transactions of 1000 $OXEN in the same block for 5 different cars. He knows the txid’s but wants you to prove that you have generate one of the txid’s in his list. Luckily we can prove we generated the txid by using the get_tx_proof command.
To begin we will first need to find the txid associated with our transaction. To do this run the following command in our wallet:
The terminal will output a list of transactions in and out of your address. You should have a transaction in your list with the amount you spent to the dealership. Copy the txid(by highlighting) associated with this transaction and save it in a notepad for later.
We can now run the get_tx_proof
command to generate our proof.
Replacing <txid>
with the txid of our transfer out, <address>
with the receiver's address, and replacing <message>
if we want to add a password to the proof. If all went well the terminal will output the following text:
This signature file oxen_tx_proof
will be saved in your Oxen folder, where your daemon and wallet keys are. Keep in mind every time you run the get_tx_proof
command it will overwrite your oxen_tx_proof
file.
You will want to send this file to the person who requires the proof. You can upload the oxen_tx_proof
file through https://transfer.sh/ by running the command within the folder of your signature file:
The terminal will then print out a link to your signature file which you can then provide to the individual performing the check. For example:
Make sure you provide the following to the individual who will be checking your reserve proof:
The oxen_tx_proof
file through the transfer.sh link.
The $OXEN transaction txid associated with the transaction you are proving you generated.
The receiver's Oxen address.
The <message>
if you encrypted the file.
To check a tx proof we need to first have the oxen_tx_proof
file in our Oxen folder, the receiver's address and the txid associated with the transaction being proved.
If you do not have the oxen_tx_proof
file in your Oxen folder request the individual sending the file to you to use https://transfer.sh/, once they send you the link to their oxen_tx_proof
you can use the following command to download it.
Replacing <link>
with the link to download the oxen_tx_proof
.
Now that the oxen_tx_proof
is in our folder we can run the following command:
Where <txid>
is the txid associated with the transaction that is being proved, <address>
is the receiver’s address and <signature_file>
is the file that was received from the individual sending you the tx proof, normally generated as oxen_tx_proof
and <message>
is the key set by the individual who sent you the tx proof.
An example would look like the following command:
If all goes well, the terminal will output the following:
If you receive a Good signature
message that should be a good proof that the txid you are checking was generated from the sender. Keep in mind however that this can potentially not always be the case, considering someone could get access to someone else's computer thus having access to this file.
A TX key is a private key associated with a TXid. Only the wallet that has sent the transaction can generate a TX key from the TXID that both parties can see. A TX key can be used to validate a transaction on a case by case basis. In essence, you can provide the tx key, txid and the receiver address to someone to prove you had generate that transaction.
To view the TX key of a specific transaction you have generate you will need to run the command:
Where <txid>
is the transaction id associated with the transfer out you are proving is yours.
The terminal will prompt the user for the wallet's password and then print out the tx key, which will look similar to:
Provide the <tx key>
with the <txid>
and <receiving address>
to the individual who will run the validation, thus this will prove you generated the transaction.
Once we have a <tx key>
, <txid>
and <receiving address>
from a specific transaction we can use the following command to prove they are all associated:
For the previous example we would run the following command from any Oxen wallet:
The terminal will show text of how much $OXEN the address received. It will also show how many confirmations the transaction has received from the blockchain. For example:
The oxen-wallet-cli
allows you to add notes to specific txid’s, however this note does not get stored on the blockchain, rather it is stored on client side, on the device that generates the tx_note
.
To set a tx note we will need a the <txid>
and the <message>
you want to add to the txid. For instance, if you want to add a note to a txid that is connected to your wallet run the following command to show your transactions in/out with their <txid>
’s:
To set the note to the <txid>
run the following command:
Where <txid>
is the transaction id associated to the transaction you are adding the [free text note]
too. Your command will look similar to the following example:
To view a note connected to a txid run the following command:
Where <txid>
is the transaction id that has the note connected to it. For example, if we run the command on the previous <txid>
mentioned, the terminal will display the following text:
You can also view a tx note by running the show_transfers
command, each transaction that has a note connected to it will display the text to the right of each transfer.
Changing the wallet password is only client side(locally), and if the password is forgotten the wallet can always be restored with the mnemonic seed. If you know the password to the wallet and want to change it you can run the following command:
Once the command has been run the terminal will prompt you for the current password and the new password twice. If entered correctly the terminal will go back to receiving inputs, otherwise the terminal will output an error such as Passwords do not match! Please try again
or Error: invalid password
.
Your seed passphrase is a 25 word phrase which is used to recover access to your wallet on a client or gui and is. The command encrypted_seed
allows your to add an additional password, or encryption layer, to your 25 word mnemonic seed. Encrypting your seed will stop others from recovering access to your wallet if they somehow gain access to your 25 word mnemonic seed as they will not have the passphrase that decrypts them. This means, your passphrase should not be written or saved in the same location as your encrypted 25 word mnemonic seed phrase.
To encrypt your seed run the following command:
Initially the CLI wallet will prompt you to enter your wallet password. Next it will request for your seed encryption passphrase, enter in your desired password/passphrase once, click enter, then type the passphrase in again.
The wallet will output your mnemonic seed which is a 25 word passphrase. It is generally best practice to write these 25 words down and store them somewhere safe and securely, write your passphrase down(which is the phrase you used to encrypt the 25 words) and store this somewhere else. Storing the 25 words with the passphrase in a file on your computer that is not encrypted is giving others easier access to your mnemonic seed.
This guide covers installing and configuring the Oxen CLI (Command Line Interface) Wallet on macOS.
If you are new to console or terminal commands and/or would prefer a wallet with buttons and Oxen branding, we suggest you download the GUI Wallet.
Before following the guide below, you'll need to download the CLI Wallet for macOS. This guide assumes you are running the latest version of macOS and have Xcode installed.
To use the oxen-wallet-cli
we must first have the daemon, oxend
, up and running. The oxend
is your node which the oxen-wallet-cli
broadcasts through. Without the node running the oxen-wallet-cli
will not be able to operate.
Open up the oxend
file in the folder you extracted the release from. In most cases you will have the following security dialog box pop up.
If the dialog box opens up you will need to allow the oxend
to open by moving your cursor to the top-left of your screen, clicking the apple logo, and then clicking on system preferences.
Once in System Preferences, click on the Security & Privacy
button, check in this new screen that the oxend
file was blocked, if it was you should be confident to click “Open Anyway”.
Keep clicking open
and allow
to give the software permission to run.
Once the software has permission a terminal window should pop up and say the following text:
Let the daemon run until the node is completely synced, you will know the node is synced once the terminal outputs the following text:
Now the daemon is synced we can run the oxen-wallet-cli
file.
If this is your first time opening the oxen-wallet-cli
it will request for you to specify a wallet name. For the purposes of this user guide we will use the example name MyWallet
Because this is the first time we have used the name MyWallet
the following text will appear in our terminal. Type in Y
or Yes
to confirm your wallet name.
The oxen-wallet-cli
has now generated us a wallet called MyWallet
and is now prompting us for a password for our generated wallet.
Please note:
When typing the password, the characters will not appear. It will seem as if you are typing and no text is appearing however the terminal is logging every character your clicking including if it is capitalised or lowercase.
Write down your wallet name and password on a piece of paper as this information will be required every time we want to enter our wallet.
Use a password with uppercase letters, lowercase letters, numbers, symbols and make the password at least 9 characters long.
Now once we have chosen our password for the wallet we must choose our language. For the purposes of this user guide I suggest you use English by typing 1
and clicking enter.
The oxen-wallet-cli
will generate and spit out several lines of text. Some of the information that was outputted will only ever show once, therefore it is very important to do this next section properly otherwise we may lose access to our account, thus losing access to our funds.
Let’s take a close look at each section of the newly generated wallet:
The text after Generated new wallet
shows your public address. This address can be shared and will be used to receive $OXEN to your wallet. All Oxen public addresses start with an L....
and are followed with a string of characters. The public address shown will be your primary address however multiple public addresses can be generated from this primary address.
You do not need to write down the public address, the command address
will re-display it whenever required.
The View key address is not to be shared unless you want to show the transactions received to the public address connected to this wallet. You do not need to write down the view key as it can be re-displayed with the command viewkey
.
The next few lines of text show how to navigate the oxen-wallet-client
.
The next section with the random 25 words is your mnemonic seed. The seed is used to easily back-up and restore your wallet without needing any other information. At this stage, grab a pen and paper and write down your 25 words in order (having these words out of order will not restore your wallet) and store the piece of paper in a safe and secure place. If your words are stored in a text file on your computer or stored online, you increase your risk of someone else getting control of your account.
The last of the outputs are the account balance, because your wallet does not have any $OXEN in it currently the balance is showing 0.
Once we receive a transaction of $OXEN into our wallet the balance will appear as soon as the transaction is confirmed in one block (usually less than 2 minutes). Once the transaction has been confirmed over 10 blocks the balance will show in unlocked balance.
The unlocked balance is the $OXEN available to be spent/sent to other addresses.
If you have a Mnemonic Seed Phrase, restoring your wallet from it would probably be a good option. Otherwise, you can restore your wallet from private keys. You will need to have the following keys to proceed:
Wallet public address
Spend Key
View Key
Download the latest release of wallet CLI software for your desired operating system
Unzip oxen-[operating-system]-[platform]-[version].zip
file
Open a Command Prompt (Windows) or Terminal (Linux / OSX) and navigate to the wallet folder
Run wallet with --generate-from-keys
argument:
./oxen-wallet-cli --generate-from-keys [New Wallet Name]
Where [New Wallet Name]
is a new wallet name. You can enter any name here, use something memorable and meaningful.
On the next step, specify all 3 wallet keys, one by one:
Enter Standard address and press [Enter]
Enter Secret spend key and press [Enter]
Enter Secret view key and press [Enter]
You will be prompted for a password. Enter a new password that follows the Password Policy and press [Enter].
Confirm password and press [Enter].
If you know the block height at which wallet was created or a first transaction was made, you can enter it here. Specifying a blockchain height will help to scan the wallet faster.
If you don't know a specific blockchain height, press [Enter] for scanning from block height 0.
For refresh process to start, you need to have your daemon running. Another option would be to use a remote node. For that, use the following command, replacing and with the host and port number of the remote node you are connecting to:
Once refresh is done, you can use your full functioning restored wallet. Your public wallet address will remain the same.
To fully restore your wallet and be able to view balance and make transactions, having your seed stored will be enough. You don't need your wallet password or other keys to restore the wallet once you have a seed phrase.
Download the latest release of wallet CLI software for your desired operating system
Unzip oxen-[operating-system]-[platform]-[version].zip
file
Open a Command Prompt (Windows) or Terminal (Linux / OSX) and navigate to the wallet folder
Run wallet with --restore-deterministic-wallet
argument: ./oxen-wallet-cli --restore-deterministic-wallet
You will be prompted to enter a wallet name and click [Enter]. You can enter any name here, use something memorable and meaningful.
You will be prompted to enter 25 word mnemonic seed you have stored. Paste it and press [Enter].
If you have a seed encryption passphrase, enter it on the next step. Otherwise, press [Enter].
You will be prompted for a password. Enter a new password that follows the Password Policy and press [Enter].
Confirm password and press [Enter].
If you know the block height at which wallet was created or a first transaction was made, you can enter it here. Specifying a blockchain height will help to scan the wallet faster.
If you don't know a specific blockchain height, press [Enter] for scanning from block height 0.
For refresh process to start, you need to have your daemon running. Another option would be to use a remote node. For that, use the following command, replacing and with the host and port number of the remote node you are connecting to:
Once refresh is done, you can use your full functioning restored wallet. Your public wallet address will remain the same.
How to prepare for setting up the Oxen GUI Wallet on Windows. |
How to set up the Oxen GUI Wallet for the first time. |
A brief walkthrough on how to use the GUI wallet. |
How to export your Oxen wallet's transaction history as a CSV file. |
How to restore your wallet from spend and view keys. |
How to restore your wallet using its 25-word mnemonic seed phrase. |
A list and explanation of the different commands available within |
How to configure |
How to setup the Oxen CLI Wallet on the Ledger Hardware Wallet. |
How to export your Oxen wallet's transaction history as a CSV file. |
How to use the Oxen Mobile wallet for the first time. |
How to stake to an Oxen Service Node via the Oxen Mobile Wallet |
This guide will walk you through using the Oxen Mobile wallet for the first time. This guide was created on an Android phone but the user experience of the Mobile wallet on iOS is identical.
We will discuss in detail the process of creating & using the wallet later in this guide. But a quick overview of the GUI wallet is as follows. The main wallet page looks like this:
This page displays:
1) Your wallet's available balance is shown front and centre in large text
2) Buttons in the middle for sending and receiving transactions
3) A list of historical transactions at the bottom
4) At the top we have the name of the wallet "TepidFlavor" which you will create when making the wallet
5) Your wallets synchronization status, in this photo the wallet is "Synchronized" which tells you how much of the blockchain your wallet has analysed
6) On the top right is a profile icon which allows you to configure the wallet, access settings, generate new wallets and stake to Oxen Service Nodes
7) The refresh icon on the right allows you to force refresh the blockchain and reconnect to the remote node if the wallet has synced incorrectly
The mobile wallet can be downloaded from Google Play Store under Oxen Wallet.
You can find this app via this link:
https://play.google.com/store/apps/details?id=io.oxen.wallet Please be mindful when downloading as the play store has been know to allow copycat apps designed to steal your crypto. The app developer is "Oxen Project" which is the same author as "Session" and "Loki Wallet" (Our old wallet app).
The iOS app can be found via this link: https://apps.apple.com/us/app/oxen-wallet-rangeproof/id1547745078
Congratulations on downloading the mobile wallet. The first time you open the app you will need to create your wallet, do this by clicking "Create new" to continue.
Your wallet is protected by a 4 or 6 digit PIN number. You will be required to enter this pin whenever you open the app and also when sending transactions. Enter a PIN you will remember.
The first thing the app asks is for a name of the new wallet. These are simply used to give a distinguishable name to identify the wallet. Choose something that is memorable because your wallet list can become unwieldy rather quickly when creating multiple wallets. For this reason using names such as: Wallet1, Wallet2, Wallet3 etc are not recommended. The app also provides a random default name (In this case "TepidFlavor").
In addition you will need to choose a language for the seed phrase generated in the next step. The most important part of the wallet creation process is the creation of your “Seed Phrase”. This is shown in the next step. Select your native language here to make the recording of your seed phrase easier.
Below you can see the app has now generated 25 words that are used to generate the private keys of your wallet.
Please note that these 25 seed words are by far the most important part of the wallet creation process. Write these somewhere safe! Don't lose them. If a malicious person gets access to these words they will be able to spend your funds. The Oxen team will NEVER ask you for your seed phrase and a person requesting them from you is likely a scammer trying to steal your funds.
You won’t need to regularly use these seed words. But if/when you need to recover your wallet or move the wallet to a different device then everything can be rebuilt using these 25 words.
After you have saved your seed phrase click "Next" to proceed.
At this point you now are brought to the wallet main page. When you first open the wallet the software needs to process blocks on the blockchain to check for transactions that belong to you. While the wallet is doing this you will see the status bar at the top stating how many blocks are remaining.
When the wallet is synchronising it is normal and expected that your transactions are not processed and therefore won't be shown in the app. Please wait until the wallet shows "SYNCHRONIZED" to continue.
When purchasing Oxen from an exchange or requesting funds from another person you will need to provide your wallet address. Your wallet address is a 95 character text starting with “L”. This is shown by clicking on the "Receive" button:
A QR code is also provided that can be read by other users mobile wallets. If you enter a number into the "Amount" input box this will modify the QR code so the mobile wallet reading the QR code knows how much should be paid in the transaction.
Clicking on the address string ("L8jFZ...VhS9o) will copy the address to your phones clipboard.
When receiving funds from an exchange there will generally be some processing time from the exchange (This time varies depending on the exchange) then a transfer will occur on the blockchain which your wallet will recognise.
The wallet scans the blockchain to find transfers that belong to you, when it finds one it will be added to the transaction list at the bottom. If the wallet is not detecting your transfers the most common reason that the wallet is not yet fully synced.
You can also click into the transaction to show more details.
Please note that your "Available Balance" will not update immediately. This is normal so don't worry, this is because the wallet enforces a 10 block (20 minute) waiting time before allowing you to spend recently received funds. The reasons for this are interesting and complicated but the TLDR is that as a privacy coin the wallet needs to be mindful of statistical attacks, and spend transactions that occur immediately after receiving funds are easily traceable, which reduces the privacy of all the transactions the blockchain (not just your own transactions).
After 10 blocks your available balance will update and you can then spend/stake your coins:
From the main app display click "Send" to bring up the following page:
To send funds you will need to obtain the address of the recipient. This will be a 95 character text string provided by the recipient. Usually you will copy and paste this address into the "Oxen address" text box, however you can also click on the QR code button to scan the address through the mobile phones camera.
You will also need to enter in the amount that is to be transferred. This can be specified in the "Oxen" text box which represents number of whole oxen to be transferred.
Alternatively you can enter the amount value in USD, which will automatically calculate the correct amount of oxen to transfer using current market rates. You only need to enter the amount into one field.
When sending transactions on the blockchain there is always a small fee charged to the sender. The wallet shows an estimate on this page (but will confirm the exact amount at a later point).
To proceed with the transaction slide the "Send Oxen" slider to the right. You will be asked to enter your PIN and the final details of the transaction will be displayed.
The final amounts will be shown and the exact fee displayed. To confirm the transaction and send to the network click "OK". After this point the app should display "Transaction Sent"
After this point your transaction will have been sent to the network. After the nodes confirm this transaction into the blockchain your transaction will then appear in the transaction list on the main display screen.
And that's it! You have successfully used the wallet to send and receive a transaction!
Using the Ledger hardware wallet with the Oxen GUI wallet is almost identical to the process with keys stored on your desktop. The two differences are:
There is a special process to create the wallet file.
When sending transactions the ledger device will prompt you to confirm the transaction.
Connect the hardware wallet to the PC and navigate to the oxen app.
The wallet needs to communicate with the Ledger and it must be on the Oxen dashboard page. This guide will demonstrate the process on a Ledger Nano S Plus. But both the Ledger Nano X and the Ledger Nano S will follow the same process.
From the Ledger app homepage (app selection) navigate to the Oxen app and press both buttons to select.
As the Oxen wallet app is currently being reviewed by the Ledger team you will first be prompted with a screen that reads “Pending Ledger review”. This screen will display for a few seconds and then allow you to progress by pressing both buttons at the same time.
You should now arrive on the Oxen dashboard. The divide will display “OXEN wallet” and a truncated string of the Oxen address. On this Ledger you can see that the Oxen Address is “LCYwfQr..XHS”. This address should also match the address displayed on the GUI wallet.
The device will need to be on this screen to work with the Oxen GUI wallet. All communications to the device happen via this page on the Oxen wallet app. If you are on any other page on your Ledger device, the GUI wallet will display an error message.
Setting up a hardware wallet file:
When you open the GUI wallet you will see the regular wallet select screen. We will select “Create New Wallet” from the dropdown menu which appears when clicking the + icon in the top right of the window.
The 1.8.0 version of the Oxen GUI wallet now has a checkbox on this page to confirm that the wallet will be a hardware wallet. Fill in the form with the new wallet name, password, check the hardware wallet box and click “Create Wallet”
You will then receive a prompt from the Ledger to “Export View Key” in order to create the wallet file on your desktop. Navigate to the “Always Export'' page by clicking the right button once, then click both buttons to accept.
Background on Exporting the View Key - Optional Technical Details on what just happened
One of the core functions of the wallet is to scan the blockchain which contains encrypted transactions. Each wallet has two keys that are used to:
1) Decrypt the encrypted transactions from the blockchain (View Key)
2) Craft transactions to spend funds in a transaction (Spend Key)
The wallet scans many transactions and processes a large amount of data to find the funds on the blockchain that belong to your wallet. This is an intensive computation that does take time on a regular computer. When using a hardware wallet the desktop does not have access to these keys, so we have two options to process the transaction:
Do the heavy computation on the small ledger wallet chip
Copy the View Key over to the desktop and let the bigger CPU handle this
There are drawbacks to both options. Doing the computation on the ledger is very slow. Exporting the view key is privacy reducing as it means if your desktop wallet is compromised it will be able to view your transactions (However it will not be able to make transactions).
Our recommendation is to export the view key and let the desktop process this calculation. The biggest benefit to having a hardware wallet is that a compromised computer will not be able to spend your funds so the tradeoff for processing the blockchain in a reasonable time is worth it in our opinion.
Continuing with the wallet creation
To access the hardware from now on, simply navigate through the wallet select page and you will see the new hardware wallet available under a heading called “Hardware wallets”. Clicking into this wallet will require the ledger device to be opened to the Oxen App main screen.
Navigate to the Send Transaction page on the wallet GUI
Create a transaction by filling in the address and amount fields of this page and then clicking “Send”
The hardware wallet will then begin processing the transaction. At first you will see the “Processsing TX” screen. This page may take some time as the ledger has to do some heavy calculations.
After this point the Ledger will confirm the transaction fee. Click the right button once to navigate to the “Accept” page and click both buttons to progress.
Next the wallet will confirm the amount and the recipient. Navigate right with the right button and the recipient should match what was entered into the GUI software page. Keep navigating right until the ledger displays the “Accept” page and click both buttons to progress
After this point the GUI wallet will prompt you to confirm send. Click “Send” to broadcast the transaction to the network.
The ledger will do some final processing and you will be rewarded with a green “Transaction Sent” notification in the GUI wallet.
Once you have exported your view key (or not), the GUI wallet will display the “Wallet Created Page” which shows the address of your newly created hardware wallet. This address should match what is on your ledger device. At this point the wallet has been successfully created. Click “open wallet” and the GUI will navigate to the regular wallet dashboard page where you can spend/stake etc as usual.