2021-03-09 05:32:07 -08:00
# Mango Liquidator
2021-04-18 07:08:44 -07:00
## Setup Partial Liquidator
2021-04-30 05:49:48 -07:00
### Prerequisites
To run the liquidator you will need:
* A Solana account with some SOL deposited to cover transaction fees
2021-06-11 12:53:17 -07:00
* Token accounts for each currency in the Mango Group (e.g. BTC, ETH, SOL, SRM, USDT)
2021-04-30 05:49:48 -07:00
* Roughly equal deposits for each token. You will need base currencies to liquidate shorts, and quote currency to liquidate longs.
* Serum Dex OpenOrders accounts associated with your account. This is required for balance wallets functionality.
* The easiest way to set these up is by placing an order on Serum Dex for each currency pair then immediately cancelling it.
### Setup
2021-03-09 05:32:07 -08:00
Make sure to edit the .env file to look something like this:
```
2021-07-22 08:52:16 -07:00
CLUSTER="mainnet-beta"
CLUSTER_URL="https://solana-api.projectserum.com"
KEYPAIR=${HOME}/.config/solana/id.json
NODE_ENV=production
TARGETS="0.1 2.0 100.0 500.0"
GROUP_NAME="BTC_ETH_SOL_SRM_USDC"
CHECK_INTERVAL="1000.0"
FILTER_ACCOUNTS=true
```
Replace `${HOME}` with your actual path to home. For example,
```
KEYPAIR=/Users/john/.config/solana/id.json
2021-03-09 05:32:07 -08:00
```
2021-06-11 12:53:17 -07:00
TARGETS represents the amounts of each token the partial liquidator should try to maintain
2021-04-18 07:08:44 -07:00
in the liquidator's wallet. Any excess of that amount in the wallet will be market sold on Serum DEX.
CHECK_INTERVAL is the amount of milliseconds to wait between querying all margin accounts
2021-06-11 12:53:17 -07:00
FILTER_ACCOUNTS uses a more efficient method of querying marginAccounts by only returning accounts with open borrows. This is only supported on Mango Groups released after 'BTC_ETH_SOL_SRM_USDT'. Disabled by default.
2021-04-10 14:29:35 -07:00
### Run
2021-03-09 05:32:07 -08:00
```
yarn install
source .env
2021-04-18 07:08:44 -07:00
yarn partialLiquidate
2021-04-10 14:29:35 -07:00
```
### Run
```
yarn install
source .env
2021-04-18 07:08:44 -07:00
yarn liquidate
```