diff --git a/docs/wiki/Bison Wallet Setup Guide.md b/docs/wiki/Bison Wallet Setup Guide.md new file mode 100644 index 0000000000..5acdea6d17 --- /dev/null +++ b/docs/wiki/Bison Wallet Setup Guide.md @@ -0,0 +1,238 @@ +_Last updated for Bison Wallet v1.0.0._ + +--- +# Download and Install + +The latest version of Bison Wallet can be downloaded from https://dex.decred.org. + + +***Note:*** *We recommend you also verify that your download hash matches the hash +in the DCRDEX releases manifest. For detailed instructions, read about +[Verifying Binaries](https://docs.decred.org/advanced/verifying-binaries/) + in the Decred Documentation.* + +You will need to visit the [releases](https://github.com/decred/dcrdex/releases) page +to download the manifest and manifest signature: + +``` +bisonw-v1.0.0-manifest.txt +bisonw-v1.0.0-manifest.txt.asc +``` + +## Bison Wallet Desktop + +``bisonw-desktop`` is the Desktop version of Bison Wallet. This version is a self-contained +application, making it the preferred option for new users. + +### Windows + +1. Download the Windows installer ``bisonw-desktop-windows-amd64-v1.0.0.msi``. + +2. Double click the installer and follow the instructions. + +3. The installer adds a shortcut to Bison Wallet on your Start Menu. + +### macOS + +1. Download the ``bisonw-desktop-darwin-amd64-v1.0.0.dmg`` file. + +2. Double click the ``bisonw-desktop-darwin-amd64-v1.0.0.dmg` file to mount the disk image. + +3. Drag the ``bisonw-desktop.app`` file into the link to your Applications folder within the +disk image. + +### Linux (Debian/Ubuntu) + +1. Download the ```bisonw-desktop-linux-amd64-v1.0.0.deb``` file. + +2. Open a terminal in the extracted folder and run the command +```dpkg -i ./bisonw-desktop-linux-amd64-v1.0.0.deb```. + +3. Bison Wallet can then be launched from the applications menu. + +Once the installation has completed, **Bison Wallet Desktop** can be launched from +the shortcut added to the Start/Application menu. A new window will appear once the +application starts. + +## Bison Wallet CLI + +``bisonw`` is the command line version of Bison Wallet. This version provides access to several +optional parameters for more [advanced](TODO) users, a web browser is required to access the +graphical user interface (GUI). + +### Windows + +1. Download the ``bisonw-windows-amd64-v1.0.0.zip`` file. + +2. Navigate to the download location and extract ``bisonw-windows-amd64-v1.0.0.zip``. + +3. The extracted files include an executable named ``bisonw``. + +### macOS + +1. Download the ``bisonw-darwin-amd64-v1.0.0.tar.gz`` file. + +2. Navigate to the download location and extract ``bisonw-darwin-amd64-v1.0.0.tar.gz``. + +3. The extracted files include an executable named ``bisonw``. + +4. Open a terminal in the extracted folder and run the command ```chmod u+x bisonw``. + +5. Bison Wallet can then be launched from the terminal using the command ``./bisonw``. + +### Linux + +1. Download the ``bisonw-linux-amd64-v1.0.0.tar.gz`` file. + +2. Navigate to the download location and extract ``bisonw-linux-amd64-v1.0.0.tar.gz``. + +3. The extracted files include an executable named ``bisonw``. + +4. Open a terminal in the extracted folder and run the command ``chmod u+x bisonw``. + +5. Bison Wallet can then be launched from the terminal using the command ``./bisonw``. + +Once the installation has completed, **Bison Wallet CLI** can be launched from a terminal +using the command ``./bisonw`` from within the folder where it was extracted. Once initial +configuration has completed, the following message will appear in the terminal: + +``` +2024-10-15 10:38:04.710 [INF] WEB: Web server listening on 127.0.0.1:5758 (https = false) + + **** OPEN IN YOUR BROWSER TO LOGIN AND TRADE ---> http://127.0.0.1:5758 **** + +``` +Open any web browser to the link shown by the application. + +--- + +# Setup Bison Wallet + +Opening Bison Wallet for the first time will display the following prompt: + +![Enter New Password](./images/setup-guide/new-password.png) + +Setting your new client application password and clicking **Submit** will generate a new wallet. +You will use this password to perform all future security-sensitive client operations. + +## Restore Existing Seed + +From the **New Password** prompt, you can also restore an existing application seed by clicking +in the **Restoration Seed** button and entering the seed backup phrase in the 12 word format. + +![Enter New Password](./images/setup-guide/restore-seed.png) + +## Quick Configuration + +The **Quick Configuration** wizard lets you select which [native wallets](./Using%20BIson%20Wallet.md#native-wallet) +to create, you can always create them later in the [Wallet](./Using%20BIson%20Wallet.md#wallet) tab. + +![Quick Configuration](./images/setup-guide/quick-configuration.png) + +The selected native wallets will be created and Bison Wallet will connect to the selected +DEX server when you submit the form. + +_**Note:** If you encounter an error about not being able to connect to the selected DEX +server during the quick configuration, you can always manually add a DEX server later through the settings +panel._ + +## Backup Application Seed + +Once the selected [native wallets](./Using%20BIson%20Wallet.md#native-wallet) have been created as part +of the **Quick Configuration** wizard, a prompt will appear to backup your application seed. This seed is +used to restore your DEX accounts and any native wallets - so keep it safe. + +![Backup App Seed](./images/setup-guide/backup-app-seed.png) + +_**Note:** If you skip this step now (not recommended), you can go to the Settings panel to +retrieve your application seed later._ + +![Backup App Seed](./images/setup-guide/backup-app-seed-2.png) + +This seed phrase is essentially the private key for your native wallets. +You will be able to use this seed phrase to restore your private keys, transaction history, +and balances using Bison Wallet on any computer. This ultimately means that anyone who knows your +seed can use it to restore your private keys, transaction history, and balances to Bison Wallet +on their computer without your knowledge. For this reason, it is of utmost importance to keep your +seed phrase safe. Treat this seed the same way you would treat a physical key to a safe. +If you lose your seed phrase, you permanently lose access to your wallet and all funds within it. +It cannot be recovered by anyone, including the Bison Wallet developers. It is recommended you write +it down on paper and store that somewhere secure. If you decide to keep it on your computer, +it would be best to keep it in an encrypted document (do not forget the password) in case the file +or your computer is stolen. + +_**DO NOT, UNDER ANY CIRCUMSTANCES, GIVE YOUR SEED TO ANYONE! +NOT EVEN BISON WALLET OR DECRED DEVELOPERS!**_ + +## Wallet Synchronization + +After the [Quick Configuration](#quick-configuration) wizard has been completed, the +[Wallet](./Using%20BIson%20Wallet.md#wallet) view will be displayed, the Block Synch indicator + on each wallet shows the progress as each blockchain is synchronized. + +![Wallet Screen](./images/setup-guide/wallets-1.png) + +## Creating a DEX Server account + +Clicking the **Trade** button in the header will navigate to the [Trade](./Using%20BIson%20Wallet.md#trade) view. + +![Trading Screen](./images/setup-guide/trade-1.png) + +The available markets on the connected DEX servers are listed on the left side of the screen. + +![Trading Screen](./images/setup-guide/trade-2.png) + +An account can be created with the respective server by clicking the **Create Account** button +on the top right of the screen. This will open the **Select Bond Asset** prompt. + +![Trading Screen](./images/setup-guide/bond-1.png) + +A fidelity bond are funds that are temporarily locked in an on-chain contract, +which is only redeemable by the user who posted the bond after a certain time. +Fidelity Bonds act as an incentive good behaviour on the DEX servers and are required for +creating an account on every server. Read more about bonds in the [Fidelity Bonds](TODO-bonds) +section of this wiki. + +Pre-paid bonds are codes generated by the server operator to enable temporary +trading access for individual users, once the pre-paid bond has expired, the user +will have to post a bond to maintain their trading tier. Pre-paid bonds are available +upon request in our [Matrix](https://matrix.to/#/#dex:decred.org) and +[Discord](https://discord.com/channels/349993843728449537/454306570180886530) channels. + +Once the bond asset is selected, a prompt to select the [Trading Tier](TODO-Tier) will appear. +Increasing your tier enables trading of larger quantities at a time. A higher tier also +increase your capacity for violations before trading privileges are completely suspended. + +Trading limits are also increased as you establish [reputation](TODO-reputation) by engaging +in normal trading activity and successfully completing matches. + +![Trading Tiers](./images/setup-guide/bond-2.png) + +Clicking the **submit** button display a new prompt indicating the requirements for submitting +a bond with the selected asset. The synchronization status and available funds, along with +a deposit address for the selected bond asset. + +![Bond Requirements](./images/setup-guide/bond-3.png) + +Once the wallet has synchronized and sufficient funds are available, a prompt will appear +to confirm the selected bond options. + +![Confirm Bond Options](./images/setup-guide/bond-4.png) + +Clicking the **submit** button will temporarily lock the specified funds in a fidelity bond +contract, these funds are only redeemable by you in the future. + +The trade view will be displayed once the form has been submitted. The status of the submitted +bond transaction will be indicated on the top right. The number of required confirmations will vary +depending on the selected bond asset. + +![Awaiting bond confirmation](./images/setup-guide/bond-5.png) + +Once the bond transaction has been confirmed, the order submission section will be visible in the +top right of the markets tab. + +![Bond COnfirmed](./images/setup-guide/bond-6.png) + +--- + +Next: [Using Bison Wallet](./Using%20BIson%20Wallet.md) \ No newline at end of file diff --git a/docs/wiki/Introduction.md b/docs/wiki/Introduction.md new file mode 100644 index 0000000000..c30a157d8a --- /dev/null +++ b/docs/wiki/Introduction.md @@ -0,0 +1,133 @@ +# What is Bison Wallet? + +Bison Wallet is a multi-coin wallet developed in concert with [DCRDEX](#dcrdex-protocol) +and [Tatanka Mesh](#tatanka-mesh). Bison Wallet leverages state-of-the-art blockchain +technology to bring more features and more privacy for your favorite assets. DCRDEX is +built-in, as well as advanced trading features like market-making and arbitrage, directly +from your wallet. + +Our goal is to find a balance of convenience and privacy that works for you, +while giving you access to advanced features most wallets ignore. For many +assets, we can cut out the middleman altogether and allow you to interact +directly with the blockchain network. This type of wallet is highly-resilient to +data collection and censorship. + +We also focus on bringing advanced, asset-specific features for our wallets. +With Decred, you can use decentralized StakeShuffle mixing to further anonymize +your funds, or stake your DCR and earn some block rewards. The Zcash wallet exposes +unified addresses and shielded pools, and operates on a shielded-first principle +that makes privacy effortless. + +# DCRDEX Protocol + +The [Decred Decentralized Exchange (DEX)](https://dex.decred.org/) is a system +that enables trustless exchange of different types of blockchain assets via a +familiar market-based API. DEX is a non-custodial solution for cross-chain +exchange based on [atomic swap technology](#atomic-swaps). DEX matches trading parties and +facilitates price discovery and the communication of swap details. + + +Some of the key features of the protocol are the following: + +- **Fees** - no trading fees are collected and there is no superfluous token +or blockchain that is used to monetize the project. +- **Fair** – orders are matched pseudorandomly within epochs to substantially +reduce manipulative, abusive trading practices by high frequency trading that +uses first-in-first-out matching. +- **Secure** – Server operators never take custody of client funds. Non-custodial +exchange is accomplished using cross-chain atomic swaps. +- **Permissionless** – The simple client-server architecture makes it easy to set +up new servers and clients and enhances censorship resistance. +- **No gatekeepers** – Projects can add support for their assets and run servers +with the markets they require. +- **Verifiable volume** – volume and trade data can be externally verified against +the corresponding blockchains and the atomic swaps that occur on-chain, preventing +wash trading. +- **Private** – Know your customer (KYC) information is not required. +- **Transparent** – By performing exchanges on-chain and using cryptographic +attestation, both clients and servers can be held accountable for malicious behavior. + +# Tatanka Mesh + +Tatanka Mesh (Tatanka, the mesh) is the evolution of DCRDEX. Where DCRDEX relies +on a central server for maintaining order books and policing trades, Tatanka is +a decentralized P2P protocol that enables a network of subscribers to +collectively perform these tasks. Here are the three critical services that +Tatanka Mesh provides. + +- Enhance the ability for users to connect and to share data both publicly and privately +- Aggregate reputation data and monitor fidelity bonds. Tatanka can limit +access to users who earn a bad reputation +- Oracle services for fiat exchange rates and blockchain transaction fee rates + +The mesh collects no fees for its services. Trades are performed using trustless +atomic swaps that exchange funds directly between wallets. + +Going P2P empowers our users to trade directly, enhancing security, +censorship-resistance, privacy. and self-sovereignty. + +# Supported Assets + +Most users will use the native wallets that are already built into Bison Wallet. +Depending on the asset, you may be able to choose from: (1) a native +wallet, (2) an external full node wallet, or (3) an Electrum-based wallet. +Consult the following table for a summary of wallet support. If there is a +checkmark in the "native" column, no external software is required. + +| Coin | native | full node | Electrum | notes | +|--------------|--------|-------------------------------------------------------------|---------------------------------------------------------------|------------------------------------------------------| +| Bitcoin | ✓ | [v27.0](https://bitcoincore.org/en/download/) | [v4.5.5](https://electrum.org/) | | +| Decred | ✓ | [v2.0.3](https://github.com/decred/decred-release/releases) | x | | +| Ethereum | ✓ | geth IPC/http/ws | N/A | see | +| Polygon | ✓ | | N/A | | +| Litecoin | ✓ | [v0.21.2.1](https://litecoin.org/) | [v4.2.2](https://electrum-ltc.org/) | | +| Bitcoin Cash | ✓ | [v27.0.0](https://bitcoincashnode.org/) | x | use only Bitcoin Cash Node for full node | +| Dogecoin | x | [v1.14.7.0](https://dogecoin.com/) | x | | +| Zcash | x | [v5.4.2](https://z.cash/download/) | x | | +| Dash | x | [v20.1.1](https://github.com/dashpay/dash/releases) | x | | +| Firo | x | [v0.14.13.3](https://github.com/firoorg/firo/releases) | [v4.1.5.5](https://github.com/firoorg/electrum-firo/releases) | | + + + + +# Fidelity Bonds - review location + +A fidelity bond are funds that are temporarily locked in an on-chain contract, +which is only redeemable by the user who posted the bond after a certain time. +Fidelity bonds have replaced the original one-time server registration fee since +[DCRDEX v0.6.0](https://github.com/decred/dcrdex/releases/tag/v0.6.0) and act as an +incentive for good conduct on the DEX. + +Bonds can be revoked if an account engages in continued disruptive behavior, +such as backing out on a swap. Revoked bonds can be re-activated with +continued normal trading activity. + +# History + +Initially proposed by Jake Yocom-Piatt in the +[Decred blog](https://blog.decred.org/2018/06/05/A-New-Kind-of-DEX/) in 2018, +DCRDEX development started in 2019 and has been fully funded by the Decred treasury. + +**Project Timeline** + +| Date | Milestone | +|---------|-------------------------------------------------------------------------------------------------------------------------| +| 2018-06 | [A New kind DEX](https://blog.decred.org/2018/06/05/A-New-Kind-of-DEX/) blog post published in the Decred blog. | +| 2019-03 | [RFP: Decred Decentralized Exchange Infrastructure](https://proposals.decred.org/record/3360c14) proposal approved. | +| 2019-06 | [Decentralized Exchange Specification Document](https://proposals.decred.org/record/94cc1ee) proposal approved. | +| 2019-08 | [Decentralized Exchange Development](https://proposals.decred.org/record/ad972c3) proposal approved. | +| 2020-10 | [DCRDEX v0.1.0](https://github.com/decred/dcrdex/releases/tag/release-v0.1.0) MVP release. | +| 2021-01 | [Decred DEX Development Phase II](https://proposals.decred.org/record/cbd0f92) proposal approved. | +| 2021-05 | [DCRDEX v0.2.0](https://github.com/decred/dcrdex/releases/tag/v0.2.0) release. | +| 2022-01 | [DCRDEX Phase 3 - Bonds, Decentralization, and Privacy](https://proposals.decred.org/record/3326c82) proposal approved. | +| 2022-02 | [DCRDEX v0.4.0](https://github.com/decred/dcrdex/releases/tag/v0.4.0) release. | +| 2022-08 | [DCRDEX v0.5.0](https://github.com/decred/dcrdex/releases/tag/v0.5.0) release. | +| 2023-01 | [DCRDEX integration on Umbrel](https://proposals.decred.org/record/8d83046) proposal approved. | +| 2023-03 | [Decred DEX - Desktop App and Packaging](https://proposals.decred.org/record/ae7c4fe) proposal approved. | +| 2023-03 | [Decred DEX - Client Development](https://proposals.decred.org/record/ca6b749) proposal approved. | +| 2023-03 | [Decred DEX - Market Maker and Arbitrage Bot Development](https://dcrdata.org/proposals) proposal approved. | +| 2023-04 | [DCRDEX v0.6.0](https://github.com/decred/dcrdex/releases/tag/v0.6.0) release. | +| 2023-06 | [DCRDEX Mesh Beginnings and Bonds Evolution](https://proposals.decred.org/record/4d2324b) proposal approved. | +| 2024-04 | [DCRDEX Monero Stage 1](https://proposals.decred.org/record/fa0ea64) proposal approved. | +| 2024-09 | [DCRDEX v1.0.0](https://github.com/decred/dcrdex/releases/tag/v0.6.0) release. | +| 2024-10 | [DCRDEX Development Phase 5.5](https://proposals.decred.org/record/0d23788) proposal approved. | diff --git a/docs/wiki/Using BIson Wallet.md b/docs/wiki/Using BIson Wallet.md new file mode 100644 index 0000000000..644f027858 --- /dev/null +++ b/docs/wiki/Using BIson Wallet.md @@ -0,0 +1,775 @@ +_Last updated for Bison Wallet v1.0.0._ + +This guide assumes you have already set up a Bison Wallet using the +[Bison Wallet Setup Guide](./Bison%20Wallet%20Setup%20Guide.md). + +--- +# Header + +The Header is displayed at the top of the window, and it is used to access +the different features Bison Wallet offers. + +![Header](./images/using-bison-wallet/header.png) + +The header contains links to the following sections: + +* [Wallet View](#wallet-view) +* [Trade View](#trade) +* [Market Making](#market-making) +* [Notifications](#notifications) +* [Settings](#settings) + +--- + +# Wallet View + +The Wallet view is divided into the following sections: + +* [Asset Selection](#asset-selection) +* [Wallet Details](#wallet-details) +* [Fee Status](#fee-status) +* [Transaction History](#transaction-history) +* [Asset Markets](#asset-markets) +* [Recent Activity](#recent-activity) +* [Asset-Specific Features](#asset-specific-features) + +## Asset Selection + +The asset selection menu is displayed on the left side of the screen and lists all +available assets in Bison Wallet. For smart contract-enabled tokens that use another +underlying blockchain (e.g. Ethereum, Polygon, etc.), the network is indicated with a smaller +icon in the top-right of each asset. + +![Asset Selection](./images/using-bison-wallet/wallets-assetselection.png) + +### Creating a New Wallet + +If you wish to create additional wallets beyond those set up during the +[Quick Configuration](./Bison%20Wallet%20Setup%20Guide.md#quick-configuration), click the desired +asset and click on the *Create Wallet* button. + +![Create Wallet Button](./images/using-bison-wallet/wallets-create.png) + +Most users will utilize the native wallets already built into Bison Wallet. Based on the asset, +you may have the option to choose between a Native/SPV Wallet, an external full node wallet, +or an Electrum-based wallet. + +If a native wallet has already been created for a selected asset, you can modify the wallet type +through the Wallet Settings dialog. + +#### Native Wallet + +All private keys and accounts for Bison Wallet's native wallets are derived from the application's seed, +ensuring that reinitializing the wallet from this seed will restore all wallets and associated token wallets. +The keys are exclusively managed by the application, and all transaction signing is securely +processed through Bison Wallet. + +Bison Wallet's native Bitcoin and Litecoin wallets use [Neutrino](https://github.com/lightninglabs/neutrino), +while the native Decred wallet utilizes +[Decred's Simple Payment Verification (SPV)](https://docs.decred.org/wallets/spv/) implementation. These native +wallets provide fast, lightweight functionality with minimal resource usage, while preserving +privacy by limiting data exposure during transaction verification. + +For EVM-Compatible assets, such as Ethereum and Polygon, Bison Wallet leverages RPC Providers. which serve as +the wallet's gateway to the respective blockchain networks, read more about [RPC Providers](#todo-rpc) in their +respective section of this wiki. + +Creating a new native wallet is simple—no additional parameters are needed. Just click the **Create** button in the +**Add a Wallet** dialog. + +![Create Native Wallet](./images/using-bison-wallet/wallet-create-LTC-Native.png) + +#### External Wallet + +Bison Wallet supports using full node and Electrum-based wallets, depending on the asset. + +If using external wallet software, you **must** ensure it remains running while Bison Wallet is running. Do not shut +down, lock, unlock, or otherwise modify your wallet settings while Bison Wallet is running. Also, only send funds +from within Bison Wallet, not directly from the external wallet's own controls. Finally, do not manually lock +or unlock any coins while Bison Wallet is running. + +##### Full Node + +A full node wallet operates by downloading and storing the entire blockchain for a given asset. It independently +verifies every transaction and block, offering maximum security, privacy, and decentralization. While it provides +a high level of trust, it requires more storage, bandwidth, and processing power compared to lightweight or +SPV wallets. + +Bitcoin Core and most wallets based on it support block pruning, which can reduce blockchain storage to just a few +gigabytes instead of the full blockchain size. However, a larger storage allocation is recommended to avoid full +reindexing if the wallet is used infrequently. Additionally, for accurate network fee estimates, the full node +should remain running for several blocks. + +![Create Full Node Wallet](./images/using-bison-wallet/wallet-create-LTC-Core.png) + +The rest of this section will walk through the configuration of a Litecoin Core wallet for illustrative +purposes. Some steps may differ depending on the asset. + +Some manual configuration of the full node's RPC server is also required. This can be done via command line parameters +or by editing the configuration file (e.g., `bitcoin.conf`, `litecoin.conf`, etc.), adding the following lines, +replacing the values as needed: +``` +server=1 +rpcuser= +rpcpassword= +rpcbind=
: +``` +When configuring your wallet in Bison Wallet: +* **Wallet Name:** the name of the wallet as created in the external wallet. +* **JSON-RPC Username:** value entered for rpcuser. +* **JSON-RPC Password:** value entered for rpcpassword. +* **JSON-RPC Address:** value entered for rpcbind. +* **Wallet Password:** the passphrase for unlocking the external wallet, leave blank if it's not encrypted. + +The wallet status will be indicated in the [Wallet Details](#wallet-details) section once the wallet has been +correctly configured. + +![Create Full Node Wallet](./images/using-bison-wallet/wallet-create-LTC-Core-created.png) + +##### Electrum + +[Electrum](https://electrum.org/) is a type of light wallet that allows users to interact with the respective blockchain +without running a full node, it works by connecting to external servers instead. Light wallets provide a level of +convenience but there are often subtle consequences due to their reliance on centralized services, read more about this +topic in the +[Decred Documentation](https://docs.decred.org/wallets/spv/#how-is-this-different-from-a-light-wallet). + +The Electrum option in Bison Wallet is less mature and provides less privacy than the full node or native wallets. +The rest of this section will walk through the configuration of a Litecoin Electrum wallet for illustrative +purposes. Some steps may differ depending on the asset. + +![Create Electrum Wallet](./images/using-bison-wallet/wallet-create-LTC-Electrum.png) + +Some manual configuration of the Electrum wallet's RPC server is also necessary, this can be done via +[CLI](https://electrum.readthedocs.io/en/latest/jsonrpc.html) or, using the console in the GUI: + +1. From the menu bar, click View > Show Console. +2. Enter the following commands, replacing the values as required: + 1. Type ``setconfig('rpcuser','')``, and press Enter. + The entered value will be the JSON-RPC Username in Bison Wallet. + 2. Type ``setconfig('rpcpassword','')``, and press Enter. + The entered value will be the JSON-RPC Password in Bison Wallet. + 3. Type ``setconfig('rpcport','')``, and press Enter. + The entered value will be the JSON-RPC Port in Bison Wallet. + 4. Type ``setconfig('rpchost','
')``, and press Enter - use `127.0.0.1` for localhost. + By default, Bison Wallet is set up for Electrum wallets running in localhost - this can be modified + in the JSON-RPC Address field under **show additional settings**. +3. Restart Electrum. +4. Enter the Electrum Wallet Password in Bison Wallet. +5. Click **Add**. + +**Note:** By default, Bison Wallet is set up for **default_wallet** in Electrum - this can be modified +in the Wallet File field under **show additional settings**. + +The wallet status will be indicated in the [Wallet Details](#wallet-details) section once the wallet has been +correctly configured. + +![Electrum Wallet Synchronized](./images/using-bison-wallet/wallet-create-LTC-Electrum-synched.png) + +## Wallet Details + +The wallet details section gives a summary of the funds (available and locked) for the selected +asset and the wallet synchronization status, it also provides access to the Wallet settings, +Send and Receive functionality. + +![Wallet Details](./images/using-bison-wallet/wallets-walletdetails.png) + +* **Available:** are unlocked funds that can be immediately used. +* **Locked:** Total funds temporarily locked to cover the costs of your bond maintenance, +live orders, matches and other activities. + * **Bonded:** Funds locked in active bonds. + * **Bond Reserves:** Funds reserved to cover the expenses associated with bond maintenance. +* **Status:** Indicates the wallet status. +* **Wallet Type:** Indicates if the configured wallet is Native or External TODO. +* **Peer Count:** The number of connected outbound peers for the network, this is +intentionally limited to a maximum of 8 peers. +* **Block Synch:** The blockchain synchronization progress status. + +### Receive + +This is where you can generate wallet addresses to give to other people and receive funds into Bison Wallet. +Addresses for UTXO-based assets like Bitcoin, Decred and Litecoin can be used as many times as you want, +but for privacy reasons its best to generate a new one for each transaction. + +![Receive](./images/using-bison-wallet/wallets-receive.png) + +### Send + +This where you can send funds from your wallet to another address. You will need to enter the recipient +address into the text box and the amount of funds you wish to send. + +* If **Substract Fees from amount sent** is left unchecked, the fees will be deducted from the remaining +balance in the wallet. +* **Max Estimated Send** is the estimated amount that will be received if you withdraw your current balance +with 'Subtract fees from amount sent' checked. +* **Max Estiamted Send Fee** is the estimated on-chain fee for the specified transaction. + +After reviewing these numbers, you can press the **Send** button and your transaction will be broadcast. + +![Send](./images/using-bison-wallet/wallets-send.png) + +### Wallet Settings + +The parameters and functions available under Wallet Settings vary depending on the asset and the type of wallet +selected. The wallet settings panel also allows you to change the wallet type (e.g. Native/SPV, Electrum or Full Node). +Descriptions for each parameter are also available within the settings panel in Bison Wallet by hovering +over the information icon. + +![Decred Wallet Settings](./images/using-bison-wallet/wallets-settings-native-decred.png) + +#### Common Parameters: + +* **Fallback Fee Rate:** The fee rate to use for fee payment and withdrawals when estimatesmartfee +is not available. +* **Highest acceptable fee rate:** This is the highest network fee rate you are willing to pay on swap transactions. +If feeratelimit is lower than a market's maxfeerate, you will not be able to trade on that market with this +wallet. +* **Redeem confirmation target:** The target number of blocks for the redeem transaction to be confirmed. +Used to set the transaction's fee rate. +* **Address Gap Limit:** The gap limit for used address discovery. +* **Pre-size funding inputs:** When placing an order, create a split transaction to +fund the order without locking more of the wallet balance than necessary. +If this option is left unchecked, excess funds may be reserved to fund the order +until the first swap contract is broadcast during match settlement, or the order is cancelled. +Pre-sizing funding inputs creates an extra transaction for which network mining fees are paid. +* **External Fee Rate Estimates:** Allow fee rate estimation from a block explorer API. +This is useful as a fallback for SPV wallets and RPC wallets that have recently been started. +* **RPC Provider:** Specify one or more RPC providers. For infrastructure providers, prefer using wss address. +Only url-based authentication is supported. For a local node, use the filepath to an IPC file. Further information +on [RPC Providers](TODO-rpc) can be found in their respective section of the wiki. +* **Gas Fee Limit:** This is the highest network fee rate you are willing to pay on swap transactions. +If gasfeelimit is lower than a market's maxfeerate, you will not be able to trade on that market with this wallet. + +#### External Wallet Parameters: + +* **Account Name:** Primary dcrwallet account name for trading. If automatic mixing of trading funds is desired, +this should be the wallet's mixed account and the other accounts should be set too. +* **Change Account Name:** dcrwallet change account name. This and the 'Temporary Trading Account' should only be +set if mixing is enabled on the wallet. If set, deposit addresses will be from this account and will +be mixed before being available to trade. +* **Temproary Trading Account:** dcrwallet account to temporarily store split tx outputs or change from chained swaps in +multi-lot orders. This should only be set if 'Change Account Name' is set. +* **RPC Username:** dcrwallet's 'username' setting for JSON-RPC. +* **RPC Password:** dcrwallet's 'password' setting for JSON-RPC. +* **RPC Address:** dcrwallet's address (host or host:port) (default port: 9110). +* **TLS Certificate:** Path to the dcrwallet TLS certificate file. +* **Wallet Name:** the name of the external wallet. +* **JSON-RPC Username:** electrum or full node 'rpcuser' setting. +* **JSON-RPC Password:** electrum or full node 'rpcpassword' setting. +* **JSON-RPC Address:** electrum or full node address, or : (default 'localhost'). +* **JSON-RPC Port:** electrum or full node port for RPC connections (if not set in rpcbind). +* **Wallet File:** full path to the wallet file (empty is default_wallet). + +#### Wallet Settings Functions: +* **Change Wallet Type:** Allows changing the wallet to Native (SPV), electrumRPC or full node, depending on the asset. +* **Rescan:** Begins a rescan for all relevant transactions involving all active addresses and watched outpoints. +Rescans can be time consuming depending on the amount of data that must be checked, and the size of the blockchain. +* **Recover:** Moves all wallet data to a backup folder and re-initializes the wallet. +You will have to wait until the wallet syncs with the network, which could potentially take a long time, +before you can use the wallet again. +* **Export Wallet:** Export the wallet's private key for recovery on another Ethereum wallet. Using an externally +restored wallet while you have active trades running in Bison Wallet could result in failed trades and lost funds. +It is recommended that you **do not** export your wallet unless you are an experienced user and you know what are doing. +* **Disable Wallet:** This function will disable the wallet, it will not be connected to when you start Bison Wallet +and cannot be used until it is re-enabled. This will also disable all token wallets that depend on this wallet. +* **Manage Peers:** Allows adding/removing of network peers. +* **Wallet Logs:** Opens the log file for the wallet. +* **Rescan:** Begins a rescan for all relevant transactions involving all active addresses and watched outpoints. +Rescans can be time-consuming depending on the amount of data that must be checked, and the size of the blockchain. +* **Disable Wallet:** This function will disable the wallet, it will not be connected to when you start Bison Wallet +and cannot be used until it is re-enabled. This will also disable all token wallets that depend on this wallet. + +## Fee Status + +The fee status section contains summary information around the fees associated with the selected asset. + +* **Network Fee Rate:** fee rate is the number of units per byte that a user pays to add their transaction +to the specified blockchain. +* **Exchange Rate:** USD exchange rate for the selected asset. +* **Send Fees:** Minimum fee for transferring funds on the blockchain. +* **Sell Fees:** Minimum fee for performing a sell trade on the blockchain. +* **Buy Fees:** Minimum fee for performing a buy trade on the blockchain. + +![Wallet Fee Status](./images/using-bison-wallet/wallets-feeStatus.png) + +## Transaction History + +This section shows a list of all transactions that have occurred involving this wallet, including send, receive +bonds, splits and mixes. + +![Wallet Transaction History](./images/using-bison-wallet/wallets-txHistory.png) + +Clicking on a transaction will open the Transaction Details dialog, which displays +summary information about the transaction along with a link to a block explorer. + +![Wallet Transaction Details](./images/using-bison-wallet/wallets-txDetail.png) + +## Asset Markets + +The asset markets section displays the available markets for the selected assets within the connected DEX servers. + +![Wallets Markets](./images/using-bison-wallet/wallets-markets.png) + +## Recent Activity + +The recent activity section lists the recent order history for the specified asset. + +![Wallets Activity](./images/using-bison-wallet/wallets-activity.png) + +Order details, status, percentage filled and age are displayed for every order in the recent activity section. +Clicking the link on the right will open the [Order Details](TODO-orderdetails) for the specified order. + +![Wallets Activity](./images/using-bison-wallet/wallets-activity2.png) + +## Asset-Specific Features + +This section of the wallet view contains functionality specific to the selected asset. + +![Wallets Activity](./images/using-bison-wallet/wallets-assetSpecific.png) + +### Decred + + +#### Privacy + +When privacy is enabled, all of your funds are sent through Decred's address history obfuscation service, using a +protocol called StakeShuffle. StakeShuffle generates outputs that cannot be definitively linked to previous on-chain +activity. While output amounts remain visible, the destruction of traceability means your on-chain history can no longer +be inferred from publicly available data. + +Decred's StakeShuffle is particularly powerful because Decred wallets integrate privacy with staking, facilitating a +consistently large anonymity set—an essential feature for privacy. Privacy is completely optional and can be disabled at +any time. While there are increased transaction fees associated with using privacy features, these fees have +historically been relatively negligible. + +The StakeShuffle mixing process is fully decentralized, with coordination handled peer-to-peer by full nodes in the +network. Mix coordination occurs every 10 minutes, and the wallet must remain unlocked during the mixing process. + +#### Staking + +Decred Staking allows users to participate in the network's governance and earn rewards by locking up their DCR +in exchange for tickets. These tickets grant voting rights on proposals and changes to the network, as well as on +validating blocks in the Proof-of-Stake (PoS) system. Once a ticket is randomly selected to vote, the user earns a +staking reward. This system promotes decentralization, as stakeholders have a direct say in the network's future, +while also securing the blockchain and earning passive income for participants. + +Before purchasing a ticket in Bison Wallet, you'll have to select a Voting Service Provider (VSP). VSPs are +third-party services that help users participate in staking without needing to keep a full node online 24/7. +VSPs manage the ticket voting process on behalf of users in exchange for a small fee, ensuring their tickets can vote +when selected. This makes staking more accessible for users who cannot maintain a full node but still want +to earn staking rewards and participate in network governance. VSPs are completely noncustodial - they never have +access to any of their user’s funds - the user is only delegating the rights to vote their tickets to the VSP. + +![Select a VSP](./images/using-bison-wallet/wallets-selectVSP.png) + +Once the VSP has been selected, the **Purchase Tickets** button will display a prompt where you can specify the amount +of tickets you wish to purchase.The price of a ticket is determined by an algorithm that aims to keep the ticket pool +size, which is the total amount of tickets in the PoS system ticket pool, around a target size of 40,960 tickets. + +![Purchase Tickets](./images/using-bison-wallet/wallets-purchaseTickets.png) + +When a ticket is purchased, your funds are temporarily unavailable for spending while the ticket participates in +the staking process. Once the ticket votes or expires, the staked coins, along with any earned rewards, +are returned to your wallet. The average time it takes for a ticket to vote is 28 days, but it can possibly require up +to 142 days, with a 0.5% chance of expiring before being chosen to vote (this expiration returns the original +Ticket Price without a reward). + +Read more about Decred's Proof-of-Stake system in the +[Decred Documentation](https://docs.decred.org/proof-of-stake/overview/). + +#### Voting Preferences + +Bison Wallet enables Decred stakeholders to participate in on-chain governance by setting their voting preference for +consensus rules and treasury spends votes. Clicking the Agendas button on the Decred wallet will display the active +agendas and let you set your vote preference. + +![Voting Preferences](./images/using-bison-wallet/wallets-agendas.png) + +Read more about Decred's Governance in the [Decred Documentation](https://docs.decred.org/governance/overview/). + +## Custom RPC Providers for EVM-Compatible Networks + +_This section of the wiki is only applicable to Ethereum and Polygon._ + +The native Ethereum and Polygon wallets in Bison Wallet leverage RPC Providers, which serve as the wallet's +gateway to the respective blockchain networks for EVM (Ethereum Virtual Machine) compatible assets. For example, +many casual Ethereum users are familiar with Infura, which is the default RPC provider for popular wallets +such as MetaMask. + +When setting up your wallets for EVM-compatible assets in Bison Wallet, it will use a default set of public +RPC providers, which could become outdated or unreliable. We recommend that you specify the full path to a custom +RPC provider, i.e., an RPC endpoint. Refer to the RPC Provider List below for suggestions + +The types of endpoints that are supported are: + +- (**Recommended**) WebSocket (ws:// or wss:///). These use a persistent + connection, which is efficient and supports new block subscriptions to reduce + provider utilization and bandwidth. +- HTTP (http:// or https://). These are less efficient and do not support new + block subscriptions, so the client frequently polls for new blocks. +- IPC. These are typically a special file on your local machine. You must be + running a local node to use this, and the IPC file permissions must be set to + allow the DEX app to use it. However, typically even a full node will expose a + WebSocket interface. + +### RPC Provider Suggestions + +Consider the following tips when configuring your Ethereum wallet: + +- Use **multiple providers**, even if one of them is your own full node. This + provides redundancy. Often a provider will fall behind or even stall, so + use of multiple providers adds robustness to your wallet. + +- Get a personal RPC endpoint, with your own **private API key**. Many providers + will allow you to create a personal endpoint that includes an API "key" that + is assigned just to you. + + This is important since all providers have request rate limits, which may be + exhausted quickly with a generic RPC endpoint (e.g. + ) that enforce rate limiting based on the source IP + address. This is particularly important if you use a VPN or other proxy where + you share an outbound IP address with many other people. + + Further, taking the time to get an endpoint with your personal API key often + gives you access to a "dashboard" with the provider so you can monitor your + API requests. + +- Use **WebSockets** (wss:// URL scheme) when using a third-party RPC provider. + It is much more efficient than HTTP, the wallet will become aware of new + blocks sooner, and it will consume less of your quota with the provider. The + application may attempt a WebSocket connection even when given an HTTP + endpoint, but it is best to specify it explicitly if it is known. + +- Use a private full node for one of your endpoints, if you are able. + +- Even if you use a private full node, use backup RPC providers! Running an + Ethereum node is difficult. You will experience downtime when you least expect + it. + +### RPC Provider List (partial) + +Some common Ethereum RPC providers are listed at . + +A handful that we have tested: + +- [NodeReal](https://dashboard.nodereal.io/) - personal API key, wss +- [Alchemy](https://www.alchemy.com/overviews/private-rpc-endpoint) - personal API key +- [LlamaNodes](https://llamanodes.com/) - personal API key, wss, web3 sign-in, no testnet +- [Rivet](https://rivet.cloud/) - personal API key, wss, web3 sign-in +- [Blast](https://blastapi.io/login?app=consumer) - personal API key, wss, web3 sign-in +- [OmniaTech](https://app.omniatech.io/dashboard/generate-endpoints) - personal API key, wss, web3 sign-in +- [Ankr](https://www.ankr.com/rpc/) - generic endpoint, often behind a few blocks, possibly http-only +- [Publicnode](https://ethereum.publicnode.com/) - generic endpoint, possibly http-only + +[Infura](https://docs.infura.io/infura/reference/network-endpoints) is also +extremely reliable and common, but their data sharing and retention policy has +been under fire recently. Decide for yourself. + +The Flashbots Protect RPC service is **not recommended** for the DEX wallet +since the public mempool is only used in certain circumstances, which is not +helpful for the DEX wallet. Further, Flashbots will abandon transactions that +are not mined within 6 minutes, and while it is expected that transactions will +be mined more promptly, this is not desirable. + +Some providers allow you to sign in with a web3 wallet (e.g. MetaMask) to create +a personal API key and access a dashboard. This may be preferable to creating an +account with an email address. + +--- + +# Trade View + +The **Trade** view offers a familiar exchange experience, the view is divided into the +following sections: + +* [Markets](#markets) +* [Order Book](#order-book) +* [Candle & Depth Charts](#candle--depth-charts) +* [Order Panel](#order-panel) + +## Markets + +The markets available on the connected DEX servers are listed on the left side of the screen, along with +last price, and 24-hour percentage changes. + +![Markets](./images/using-bison-wallet/trade-markets.png) + +## Order Book + +The order book panel displays active buy and sell orders for the selected market, showing rate and +quantities ordered by level. It’s split into "Bids" (buy orders) and "Asks" (sell orders). + +![Order book](./images/using-bison-wallet/trade-orderbook.png) + +## Candle & Depth Charts + +The Candle Chart displays the price history for the selected market over time, while the depth chart is +a visual representation of the order book, showing cumulative buy and sell orders at various price levels. + +![Order book](./images/using-bison-wallet/trade-candledepthcharts.png) + +## Order Panel + +The order panel allows you to place orders, manage orders and the view recent matches for the selected market, +along with access to your trading tier and reputation with the associated DEX server. + + + +### Submit Order + +The Submit Order form is located at the tom of the order panel. + +![Submit Order](./images/using-bison-wallet/trade-submitOrder.png) + +##### Order Types + +Bison Wallet supports the following types of orders: + +* **Market Order:** A market order is an instruction to buy or sell an asset immediately at +the current best available price. The user specifies only the quantity, not the rate. + +![Market Order](./images/using-bison-wallet/trade-order-market.png) + +* **Limit Order:** A limit order is an instruction to trade an asset at a specified price or better +— no higher for buy orders, and no lower for sell orders. The user must specify the order quantity +as an integer multiple of the asset’s [lot size](#lot-size). The order may also be set as "immediate or cancel", +which restricts it to being a taker order by only allowing a match when it is initially processed. + +![Limit Order](./images/using-bison-wallet/trade-order-limit.png) + +* **Cancel Order:** A cancel order is used to remove an existing limit order from the order book. +Cancel orders can only be initiated by pressing the **Cancel Order** button in the +[Your Orders](#order-status) section or the [Order View](#order-view). + +##### Fees + +The DEX does not collect any fees on the trades, but since all swap transactions +occur on-chain and are created directly by the users, they will pay network +transaction fees. Transaction fees vary based on how orders are matched. Fee +estimates are shown during order submission, and the realized fees are displayed +on the [order details](#order-details) view. + +##### Lot Size + +The Lot Size for a market specifies both the minimum order quantity and the order quantity increment +for limit and market orders, measured in the market's base asset. + +Lot sizes are a server-side configurable parameter set individually for each market and are typically +set by server operators to ensure on-chain transaction fees do not eat a significant portion of the +order quantity. To illustrate, if on-chain transaction fees worked out to $5, and a user was able +to place an order to trade $10, they would lose half of their trade to transaction fees. +For chains with single-match fees of $5, if the operator wanted to limit possible fees to under +1% of the trade, the minimum lot size would need to be set to about $500. + +The scenario with the lowest fees is for an entire order to be consumed by a single match. +If this happens, the user pays the fees for two transactions: one on the chain of the asset the user +is selling and one on the chain of the asset the user is buying. The worst case is for the order to be +filled in multiple matches each of one lot in amount, potentially requiring as many swaps as lots +in the order. + + +#### Trade Execution + +The following section describes the sequence that your order will go through once it's been +submitted to the DEX server. This all happens automatically in the backgorund in Bison Wallet, +no action is required from the user during the process. + +##### Funding + +Since orders must be funded by coins from the user’s wallets, placing an order “locks” a corresponding +amount in the relevant wallet. For example, a buy order in the DCR-BTC market locks a certain quantity +of BTC in the user’s wallet, though no actual transactions or fund movements occur. This locked amount +will be shown in the “locked” row of the Balances table. + +It’s important to note that the locked amount may be larger than the order quantity. For UTXO-based assets +like Bitcoin and Decred, this is because the “locked” amount depends on the size of the UTXO reserved as input +for the swap transaction. Any unused portion of this UTXO is returned to a change address after the swap, similar +to a regular transaction. However, since the UTXOs are locked in advance of broadcasting the actual transaction, +the locked amount will appear in the wallet until the swap occurs. + +For some assets, there may be a wallet setting on the Wallet page to pre-size UTXOs and prevent this over-locking. +However, this requires an additional transaction that incurs on-chain fees, which may be costly on networks +like Bitcoin, and it only applies to limit orders that are not set to "Immediate or Cancel". Taker-only orders, +which are not booked, are only briefly locked until the swap transaction is broadcast. + +##### Epoch + +An important concept in the DEX is that newly submitted orders are processed in short time intervals called +epochs, typically around 10 seconds, though the exact duration is configured server-side for each market. +When a valid order is received by the server, it enters an epoch order pool, where it awaits matching or +booking. This approach is further detailed in the DCRDEX specification. In the [Your Orders](#your-orders) +section, the status of such orders appears as "epoch" until they are either booked or matched at +the end of the epoch. + +Order cancellation requests are processed alongside trade (market/limit) orders within the same epoch since +a cancellation request is also treated as an order. However, from the user's perspective, canceling an order +is as simple as clicking the cancel icon next to their booked order. + +##### Matching + +When the end of an epoch is reached, the orders it includes are then matched with the orders that are already +on the book. A key concept of DCRDEX order matching is a deterministic algorithm for shuffling the epoch orders +so that it is difficult for a user to game the system. To perform the shuffling of the closed epoch prior to +matching, clients with orders in the epoch must provide to the server a special value for each of their orders +called a **preimage**, which must correspond to another value that was provided when the order was initially +submitted called the **commitment**. This is done automatically by Bison Wallet, requiring no action from the user. + +If an order fails to match with another order, it will become either **booked** or **executed** with no +part of the order filled. The [Your Orders](#your-orders) section displays the current status and remaining +quantity of each of a user's orders. If an order does match with another trade order, the order status will become +**settling**, and atomic swap negotiation begins. A cancel order may also fail to match if another trade +matches with the targeted order first, or it may match after the targeted order is partially filled in the same epoch. + +##### Settlement + +When maker orders (on the book) are matched with taker orders (from an epoch), the atomic swap sequence begins. +No action is required from either user during the process. + +In the current atomic swap protocol, the **maker initiates** by broadcasting a transaction with a swap contract +on the relevant asset network, and informing the server of the transaction and the full contract. +The server audits the contract, and if it is successfully validated, the information is relayed to the +taker, who independently audits the contract to ensure it meets their expectations. +The transaction containing the maker's swap contract must then be mined and reach the +**swap confirmation requirement**, which is also a market setting. For example, Bitcoin might +require 3 confirmations while other chains like Litecoin might be considerably more. + +When the required number of confirmations is reached, the **taker participates** by broadcasting a transaction +with their swap contract and informing the server. Again, the server and the counterparty audit the contract +and wait for that asset's swap confirmation requirement. When the required confirmations are reached, +the **maker redeems** the taker's contract and informs the server of the redemption transaction. +This is the end of the process for the maker, as the redemption spends the taker's contract, paying to an +address controlled by the maker. The server relays the maker's redeem data to the taker, and the +**taker redeems** immediately, ending the swap. + + +##### Revoked Matches + +While the atomic swap process requires no party to trust the other, a swap may be forced into an alternate path +ending in one or both users refunding themselves by spending their own contract after the lock time expires. +This happens when one of the parties fails to act in the expected time frame, an inaction timeout. +When an inaction timeout occurs the following happens: + +* The match is revoked, and both parties are notified. +* The at-fault user has their order revoked (if it was partially filled and still booked) and is notified. +* The at-fault user has their score adjusted according to type of match failure. See below for descriptions +of each type and the associated user score adjustments. + +The general categories of match failures are: + +* **NoMakerSwap:** A match is made, but the maker does not initiate the swap. No transactions are created in this case. +* **NoTakerSwap:** The maker (initiator) broadcasts their swap contract transaction and informs the server, +but the taker (participant) fails to broadcast their swap contract and inform the server. +The maker will automatically refund their contract when it expires after 20 hrs. +* **NoMakerRedeem**: The taker broadcasts their swap and informs the server, but the maker does not redeem it. +The taker will refund when their contract expires after 8 hrs. Note that the taker's client begins watching for +an unannounced redeem of their contract by the maker, which reveals the secret and permits the taker to redeem +as well, completing the swap although in a potentially extended time frame. +* **NoTakerRedeem:** The maker redeems the taker's contract and informs the server, but the taker fails to redeem +the maker's contract even though they can do so at any time. This case is not disruptive to the counterparty, and +is only detrimental to the takers, so it is of minimal concern. + +**NOTE:** The order remaining/filled amounts are reduced at match time, even if a portion of the order was +matched but not settled. + +### Trading Tier + +The trading tier for associated the DEX server account on the selected market can be viewed by +clicking the **Show Trading Tier Info** button. + +![Show Trading Tier](./images/using-bison-wallet/trade-tradingtier-1.png) + +![Trading Tier Information](./images/using-bison-wallet/trade-tradingtier-2.png) + +* **Parcel Size:** A server-side configurable parameter on the DEX, set individually for each market. +It defines the number of [lots](#lot-size) a user can trade based on their trading tier. +In markets with low-fee assets, lot sizes may be very small, resulting in a larger parcel size. +Conversely, markets with high-fee assets generally have larger lot sizes, where a smaller parcel +size may be more appropriate. +* **Trading Tier:** Reflects your account's current effective trading tier with the DEX server, +determined based on your active [bonds](#todo-bonds) and [reputation](#reputation) score. +When your trading tier falls below 1, your booked orders will be revoked. +* **Trading Limits:** The maximum number of lots you can trade in the selected market, +calculated based on the market’s parcel size and your effective trading tier. +* **Current Usage:** Shows the proportion of trading limits used. The DEX server tracks usage +across all markets, assessing trading limits globally for each account. + +### Reputation + +The effective reputation score for associated the DEX server account on the selected market +can be viewed by clicking the **Show Reputation** button. + +![Show Reputation](./images/using-bison-wallet/trade-reputation-1.png) + +Users have an incentive to respond with their preimage for their submitted orders and to complete +swaps as the match negotiation protocol specifies. If they fail to act as required, their account +will be penalized, with trading privileges eventually being completely suspended after multiple +[revoked matches](#revoked-matches). + +A suspended account will require time-locking additional funds on a fidelity bond. +The DCRDEX scoring system has been designed to balance the need to deter intentional disruptions with the +reality of unreliable consumer networks and other such technical issues. + +![Reputation Information](./images/using-bison-wallet/trade-reputation-2.png) + +Your reputation score increases by successfully completing trades. +Misbehaviour and failure to act on a trade will penalize your score depending on the type of match failure: + +| Action | Score Penalty | Notes | +|--------------------|---------------|-----------------------------------------------------| +| No Redeem as Taker | - 1 | Counterparty not affected, no stuck funds. | +| No Swap as Maker | - 4 | Book spoof, taker need snew order. No locked funds. | +| Excessive Cancels | - 5 | | +| No Redeem as Maker | - 7 | Taker has funds stuck for 8 hours in contract. | +| No Swap as Taker | - 11 | Maker funds stuck for 20 hours in contract. | + + +### Your Orders + +This section show your recent orders for the selected market. + +![Your Orders](./images/using-bison-wallet/trade-yourORders-1.png) + +Clicking each order provides additional order informationaccess to the **Order View** and +the **Cancel Order** button. + +![Order Details](./images/using-bison-wallet/trade-yourORders-2.png) + +* **Type:** The type of order. "limit", "market", or "cancel". +* **Side**: buy or sell. +* **Status:** The status of the order: epoch, booked, executed, canceled, or revoked. +Read more about status in the [Order View](#order-view) section of this wiki. +* **Age:** The time that this order has been active in human readable form. +* **Quantity:** The amount being traded. +* **Filled:** The order quantity that has been matched. +* **Settled:** The sum quantity of all completed matches. +* ** + +### Recent Matches + +This section displays a feed of recent matched orders for the selected market, +indicating the rate and quantity of each match. + +![Recent Matches](./images/using-bison-wallet/trade-recentmatches.png) + +# Order History + +# Order View + +The order view displays all the information pertaining to the selected order. + +![Recent Matches](./images/using-bison-wallet/order-view.png) + + +## Order Status +* **Order Status:** + * **Epoch:** order has been received and validated by the DEX but not processed yet + by the epoch order matcher. + * **Booked:** order has been placed in the book, including partially filled orders. + * **Executed:** orders that have been successfully matched and removed from the book. + Including the following scenarios: + * Completely filled limit or market order. + * Partially filled market buy order. + * Cancelled by the client, in the case of *Cancel Orders*. + * **Cancelled:** orders that were on the book but were cancelled by the client. + * **Revoked:** DEX revoked orders that due to infringement of server policy. This includes + limit orders that were matched but failed to swap. diff --git a/docs/wiki/images/setup-guide/backup-app-seed-2.png b/docs/wiki/images/setup-guide/backup-app-seed-2.png new file mode 100644 index 0000000000..5acde34395 Binary files /dev/null and b/docs/wiki/images/setup-guide/backup-app-seed-2.png differ diff --git a/docs/wiki/images/setup-guide/backup-app-seed.png b/docs/wiki/images/setup-guide/backup-app-seed.png new file mode 100644 index 0000000000..f8a0ae2020 Binary files /dev/null and b/docs/wiki/images/setup-guide/backup-app-seed.png differ diff --git a/docs/wiki/images/setup-guide/bond-1.png b/docs/wiki/images/setup-guide/bond-1.png new file mode 100644 index 0000000000..06e524da6c Binary files /dev/null and b/docs/wiki/images/setup-guide/bond-1.png differ diff --git a/docs/wiki/images/setup-guide/bond-2.png b/docs/wiki/images/setup-guide/bond-2.png new file mode 100644 index 0000000000..8192d959b8 Binary files /dev/null and b/docs/wiki/images/setup-guide/bond-2.png differ diff --git a/docs/wiki/images/setup-guide/bond-3.png b/docs/wiki/images/setup-guide/bond-3.png new file mode 100644 index 0000000000..fa656f18c9 Binary files /dev/null and b/docs/wiki/images/setup-guide/bond-3.png differ diff --git a/docs/wiki/images/setup-guide/bond-4.png b/docs/wiki/images/setup-guide/bond-4.png new file mode 100644 index 0000000000..37e94d776c Binary files /dev/null and b/docs/wiki/images/setup-guide/bond-4.png differ diff --git a/docs/wiki/images/setup-guide/bond-5.png b/docs/wiki/images/setup-guide/bond-5.png new file mode 100644 index 0000000000..8a91a1715b Binary files /dev/null and b/docs/wiki/images/setup-guide/bond-5.png differ diff --git a/docs/wiki/images/setup-guide/bond-6.png b/docs/wiki/images/setup-guide/bond-6.png new file mode 100644 index 0000000000..008d913cdb Binary files /dev/null and b/docs/wiki/images/setup-guide/bond-6.png differ diff --git a/docs/wiki/images/setup-guide/new-password.png b/docs/wiki/images/setup-guide/new-password.png new file mode 100644 index 0000000000..c2e2426027 Binary files /dev/null and b/docs/wiki/images/setup-guide/new-password.png differ diff --git a/docs/wiki/images/setup-guide/quick-configuration.png b/docs/wiki/images/setup-guide/quick-configuration.png new file mode 100644 index 0000000000..eff14ad110 Binary files /dev/null and b/docs/wiki/images/setup-guide/quick-configuration.png differ diff --git a/docs/wiki/images/setup-guide/restore-seed.png b/docs/wiki/images/setup-guide/restore-seed.png new file mode 100644 index 0000000000..47834894ea Binary files /dev/null and b/docs/wiki/images/setup-guide/restore-seed.png differ diff --git a/docs/wiki/images/setup-guide/trade-1.png b/docs/wiki/images/setup-guide/trade-1.png new file mode 100644 index 0000000000..08cddb1097 Binary files /dev/null and b/docs/wiki/images/setup-guide/trade-1.png differ diff --git a/docs/wiki/images/setup-guide/trade-2.png b/docs/wiki/images/setup-guide/trade-2.png new file mode 100644 index 0000000000..180c5bc517 Binary files /dev/null and b/docs/wiki/images/setup-guide/trade-2.png differ diff --git a/docs/wiki/images/setup-guide/wallets-1.png b/docs/wiki/images/setup-guide/wallets-1.png new file mode 100644 index 0000000000..9c9f54be8d Binary files /dev/null and b/docs/wiki/images/setup-guide/wallets-1.png differ diff --git a/docs/wiki/images/using-bison-wallet/header.png b/docs/wiki/images/using-bison-wallet/header.png new file mode 100644 index 0000000000..26b0f0723d Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/header.png differ diff --git a/docs/wiki/images/using-bison-wallet/order-view.png b/docs/wiki/images/using-bison-wallet/order-view.png new file mode 100644 index 0000000000..81f4801fd4 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/order-view.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-candledepthcharts.png b/docs/wiki/images/using-bison-wallet/trade-candledepthcharts.png new file mode 100644 index 0000000000..38f2d0877d Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-candledepthcharts.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-markets.png b/docs/wiki/images/using-bison-wallet/trade-markets.png new file mode 100644 index 0000000000..08cddb1097 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-markets.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-order-limit.png b/docs/wiki/images/using-bison-wallet/trade-order-limit.png new file mode 100644 index 0000000000..4ade6c4b5c Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-order-limit.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-order-market.png b/docs/wiki/images/using-bison-wallet/trade-order-market.png new file mode 100644 index 0000000000..2414ecb3ab Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-order-market.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-orderbook.png b/docs/wiki/images/using-bison-wallet/trade-orderbook.png new file mode 100644 index 0000000000..a2e89244b4 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-orderbook.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-orderpanel.png b/docs/wiki/images/using-bison-wallet/trade-orderpanel.png new file mode 100644 index 0000000000..2f65131098 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-orderpanel.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-recentmatches.png b/docs/wiki/images/using-bison-wallet/trade-recentmatches.png new file mode 100644 index 0000000000..0b76c058ae Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-recentmatches.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-reputation-1.png b/docs/wiki/images/using-bison-wallet/trade-reputation-1.png new file mode 100644 index 0000000000..9cd4af471a Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-reputation-1.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-reputation-2.png b/docs/wiki/images/using-bison-wallet/trade-reputation-2.png new file mode 100644 index 0000000000..0000b4bed0 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-reputation-2.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-submitOrder.png b/docs/wiki/images/using-bison-wallet/trade-submitOrder.png new file mode 100644 index 0000000000..9fe1990b8f Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-submitOrder.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-tradingtier-1.png b/docs/wiki/images/using-bison-wallet/trade-tradingtier-1.png new file mode 100644 index 0000000000..d004a889cc Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-tradingtier-1.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-tradingtier-2.png b/docs/wiki/images/using-bison-wallet/trade-tradingtier-2.png new file mode 100644 index 0000000000..7b0525dc99 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-tradingtier-2.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-yourOrders-1.png b/docs/wiki/images/using-bison-wallet/trade-yourOrders-1.png new file mode 100644 index 0000000000..640e414214 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-yourOrders-1.png differ diff --git a/docs/wiki/images/using-bison-wallet/trade-yourOrders-2.png b/docs/wiki/images/using-bison-wallet/trade-yourOrders-2.png new file mode 100644 index 0000000000..96b3e4b07f Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/trade-yourOrders-2.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Core-created.png b/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Core-created.png new file mode 100644 index 0000000000..7ddf82257f Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Core-created.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Core.png b/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Core.png new file mode 100644 index 0000000000..de23c734d3 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Core.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Electrum-synched.png b/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Electrum-synched.png new file mode 100644 index 0000000000..62d8836446 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Electrum-synched.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Electrum.png b/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Electrum.png new file mode 100644 index 0000000000..d4ebb0b538 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Electrum.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Native.png b/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Native.png new file mode 100644 index 0000000000..a0c816317f Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallet-create-LTC-Native.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-1.png b/docs/wiki/images/using-bison-wallet/wallets-1.png new file mode 100644 index 0000000000..1a131c9cb5 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-1.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-activity.png b/docs/wiki/images/using-bison-wallet/wallets-activity.png new file mode 100644 index 0000000000..a2089aef5a Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-activity.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-activity2.png b/docs/wiki/images/using-bison-wallet/wallets-activity2.png new file mode 100644 index 0000000000..93ef2d0491 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-activity2.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-agendas.png b/docs/wiki/images/using-bison-wallet/wallets-agendas.png new file mode 100644 index 0000000000..eddb0d18a7 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-agendas.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-assetSpecific.png b/docs/wiki/images/using-bison-wallet/wallets-assetSpecific.png new file mode 100644 index 0000000000..e2cee0d941 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-assetSpecific.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-assetselection.png b/docs/wiki/images/using-bison-wallet/wallets-assetselection.png new file mode 100644 index 0000000000..c7c3267751 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-assetselection.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-create.png b/docs/wiki/images/using-bison-wallet/wallets-create.png new file mode 100644 index 0000000000..f14bb2c36c Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-create.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-feeStatus.png b/docs/wiki/images/using-bison-wallet/wallets-feeStatus.png new file mode 100644 index 0000000000..fdf1846d55 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-feeStatus.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-markets.png b/docs/wiki/images/using-bison-wallet/wallets-markets.png new file mode 100644 index 0000000000..3cbd63bbb5 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-markets.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-purchaseTickets.png b/docs/wiki/images/using-bison-wallet/wallets-purchaseTickets.png new file mode 100644 index 0000000000..00e631bee4 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-purchaseTickets.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-receive.png b/docs/wiki/images/using-bison-wallet/wallets-receive.png new file mode 100644 index 0000000000..250e20e7fc Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-receive.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-selectVSP.png b/docs/wiki/images/using-bison-wallet/wallets-selectVSP.png new file mode 100644 index 0000000000..855287a81d Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-selectVSP.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-send.png b/docs/wiki/images/using-bison-wallet/wallets-send.png new file mode 100644 index 0000000000..d384f98f4c Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-send.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-settings-native-decred.png b/docs/wiki/images/using-bison-wallet/wallets-settings-native-decred.png new file mode 100644 index 0000000000..b216c3f9e8 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-settings-native-decred.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-txDetail.png b/docs/wiki/images/using-bison-wallet/wallets-txDetail.png new file mode 100644 index 0000000000..a27ec690bb Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-txDetail.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-txHistory.png b/docs/wiki/images/using-bison-wallet/wallets-txHistory.png new file mode 100644 index 0000000000..ab89351fb0 Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-txHistory.png differ diff --git a/docs/wiki/images/using-bison-wallet/wallets-walletdetails.png b/docs/wiki/images/using-bison-wallet/wallets-walletdetails.png new file mode 100644 index 0000000000..683a48016b Binary files /dev/null and b/docs/wiki/images/using-bison-wallet/wallets-walletdetails.png differ