Bot for arbitraging TF2 items on different sites for profit.
This bot will find deals, request trades and notify tf2-express to accept.
- BTC:
bc1qntlxs7v76j0zpgkwm62f6z0spsvyezhcmsp0z2
- Steam Trade Offer
You can reach me at Steam, my Discord server or Discord profile.
- Using a Firefox profile, login to the sites listed below
- Will check MongoDB for saved cookies
- If outdated, get new cookies using
Selenium
- Save cookies, such that
requests
can imitate a legitimate internal API request - Fetches prices from Prices.tf as a comparison basis
- Fetches prices from STN, taking stock into consideration
- Fetches prices from Quicksell.store
- Fetches prices from Sfuminator
- Compares prices between sites, and finds deals
- If a Prices.tf price is included in a deal, check Backpack.TF for buyers/sellers with a matching price
- If buyer/seller is from Backpack.TF, get their Trade URL
- Save up to 3 pages of classifieds for Trade URLs, so they can be used later (can skip fetching)
- Send deals using a TCP socket so
tf2-express
can act on the trades - When
tf2-express
has accepted a "buy deal" trade offer, send the "sell deal" request to one of the trading sites (different for Backpack.TF) - Repeat step 6-16 (fetching Prices.tf is uneccessary when we are connected to the websocket)
- Backpack.TF
- STNTrading.eu
- Quicksell.store
- Sfuminator.tf
Scrap.TF is not supported, due to their ToS.
- Clone the repo and install the packages
pip install -r requirements.txt
- The bot uses MongoDB, so
pymongo
needs to work - Install
geckodriver
- Have a
tf2-express
bot setup and ready to go - If
geckodriver
is not added to PATH, this needs to be specified inGECKODRIVER_EXECUTABLE_PATH
in the config. If it is in PATH, do not change this value - Create a new Firefox profile and login to all the sites listed above (STN is not neccessary). Copy the
Root Directory
of this Firefox profile. This is yourFIREFOX_PROFILE_PATH
in the config - Register a STN API key at https://stntrading.eu/dev/apikey
- Make sure you have credits for your API calls. This can be increased at https://stntrading.eu/dev/credits
- Specify
STEAM_ID
in the config, this has to match the SteamID64 for the owner of the STN API key - Other optional modifications to the config
- Start
tf2-arbitrage
by runningpython main.py
- Start a
tf2-express
instance