Market maker bot
With ZigZag's V3 contracts it is again possible to run market maker bots on the exchange. For those familiar with the zkSync Lite MM bot, the Arbitrum MM-v3 is very similar. Currently, an orderbook UI is not available yet. There is a swap page available: https://swap.zigzag.exchange/.
The setup of the MM-v3 can be found in GitHub including a detailed technical explanation: https://github.com/ZigZagExchange/market-maker-v3.
- Ethereum private key of the account
- Funds in that account corresponding to the pairs you want to market make
- Node.js 16 works on macOS, Windows and Linux (17 seems not)
- Optional: VPS when you don't want to run a home PC 24/7
- 1.Download the MM-v3 file: https://github.com/ZigZagExchange/market-maker-v3/archive/refs/heads/master.zip
- 2.Duplicate the
config.json.EXAMPLE
file from the market maker folder and rename it toconfig.json
An example config to run ZZ/USDC:
{
"ethPrivKey": "private key",
"zigzagChainId": 42161,
"zigzagHttps": "https://api.arbitrum.zigzag.exchange",
"pairs": {
"0xADA42bb73b42e0472A994218fb3799dFCDA21237-0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8": {
"nickname": "ZZ-USDC",
"side": "b",
"priceFeedPrimary": "",
"priceFeedSecondary": null,
"slippageRate": 1e-6,
"maxSize": 300,
"minSize": 1,
"minSpread": 0.0005,
"invert": false,
"active": true
}
}
}
- Replace "private key" with your private key (keep it secure, don't share it with anyone else!)
- On "pairs" input the token contract addresses you want to market make
- On "nickname" input the token tickers you want to market make
- On "side" input "s" (sell only), "b" (buy only) or "d" (sell+buy)
- On "priceFeedPrimary" you can use:
constant:0.38
to manually set a fixed (constant) price in the quote asset (on ZZ/USDC in USDC for example)uniswapv3:paircontract
to use pricefeeds from Uniswap- For ZZ/USDC:
uniswapv3:0x3067c3054b4a605f9e327bad82d9ba6049fe76a0
(pricefeed from Uniswap for zz-usdc)- Change "invert" to
true
- On "invert" change to 'true' only for Uniswap ZZ-USDC pricefeed
Last modified 2mo ago