This was an arb bot made to profit from beet pool imbalances for the project Mainstreet Finance. However, after the 10/10 incident, smsUSD was sunset, along with Stream's downfall, leaving several curator vaults (like GreenHouse's ghUSDC) with bad debt. After Mainstreet's relaunch, permissionless arbing is no longer possible, so I am open-sourcing this bot here.
Check the relaunched Mainstreet out here
The bot implements a three-step arbitrage strategy:
- Mint: Convert USDC to msUSD using the PermissionlessMainstreetMinter
- Swap: Exchange msUSD for ghUSDC in the Balancer pool
- Redeem: Convert ghUSDC back to USDC using the SiloVault
Profit is generated from pool imbalances and price differences between these tokens.
- Node.js 18+
- TypeScript 5+
- npm or yarn
- EVM wallet with private key
- $S for gas fees
- USDC for arbitrage operations