[{"data":1,"prerenderedAt":412},["ShallowReactive",2],{"article-steam-desktop-authenticator":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"image":11,"tags":12,"body":16,"_type":406,"_id":407,"_source":408,"_file":409,"_stem":410,"_extension":411},"\u002Farticles\u002Fsteam-desktop-authenticator","articles",false,"","Step-by-Step Guide to Setting Up Steam Desktop Authenticator for a Steam Bot","Step by step guide to set up Steam Desktop Authenticator required to build Steam bots with automated trading capabilities, updated for 2024.","2024-03-27","\u002Fimg\u002Farticles\u002Fsteam-desktop-authenticator\u002FSTEAM-DESKTOP-AUTHENTICATOR.jpg",[13,14,15],"Steam","Trading","Education",{"type":17,"children":18,"toc":395},"root",[19,28,45,52,74,79,85,90,104,112,118,123,131,136,144,150,155,163,169,174,182,188,193,201,207,227,232,240,262,267,317,322,327,351,356,362,376,389],{"type":20,"tag":21,"props":22,"children":23},"element","p",{},[24],{"type":20,"tag":25,"props":26,"children":27},"img",{"alt":8,"src":11},[],{"type":20,"tag":21,"props":29,"children":30},{},[31,34,43],{"type":32,"value":33},"text","When building an application utilizing a Steam Bot, e.g., trading applications or gambling websites not using peer-to-peer trading for deposits\u002Fwithdraws, you will need dedicated Steam accounts that will be used for this purpose. These accounts, which will have their trading and therefore confirmation of trades automated, must still have a mobile authenticator set up to avoid delays with their trading. Seeing as setting up a mobile authenticator on your phone hides away some files you need to access to set the bots up for trading, a program called ",{"type":20,"tag":35,"props":36,"children":40},"a",{"href":37,"rel":38},"https:\u002F\u002Fgithub.com\u002FJessecar96\u002FSteamDesktopAuthenticator",[39],"nofollow",[41],{"type":32,"value":42},"Steam Desktop Authenticator",{"type":32,"value":44}," is commonly used for this purpose.",{"type":20,"tag":46,"props":47,"children":49},"h2",{"id":48},"prerequisites",[50],{"type":32,"value":51},"Prerequisites",{"type":20,"tag":21,"props":53,"children":54},{},[55,57,64,66,72],{"type":32,"value":56},"Firstly, you will already need a Steam account. Seeing as the registration process is relatively straightforward, I will not be addressing this in the article. I typically use a ",{"type":20,"tag":35,"props":58,"children":61},{"href":59,"rel":60},"https:\u002F\u002Fproton.me\u002Fmail",[39],[62],{"type":32,"value":63},"Proton",{"type":32,"value":65}," email address (remember to verify it with a real email to not lock your inbox). Furthermore, if the intention is to trade with the account, it might be a good idea to add $5 to the account balance to remove its restriction. I do a more detailed walkthrough of this in my guide on ",{"type":20,"tag":35,"props":67,"children":69},{"href":68},"\u002Farticles\u002Fhow-to-obtain-your-steam-api-key",[70],{"type":32,"value":71},"adding a Steam Web API key",{"type":32,"value":73}," to a Steam account (something that you should also do for your bot account after we are done setting up Steam Desktop Authenticator).",{"type":20,"tag":21,"props":75,"children":76},{},[77],{"type":32,"value":78},"Since the application is Windows only, you'll also need either a computer running Windows, or run it in a VM. I went with the first option, but whatever floats the boat for you works.",{"type":20,"tag":46,"props":80,"children":82},{"id":81},"step-1-download-the-legit-version-of-steam-desktop-authenticator",[83],{"type":32,"value":84},"Step 1 — Download the legit version of Steam Desktop Authenticator",{"type":20,"tag":21,"props":86,"children":87},{},[88],{"type":32,"value":89},"Seeing as Steam Desktop Authenticator handles incredibly sensitive data which potentially allows a malicious actor to automatically send trades on your account's behalf, there are several phishing sites and actors that try to get you to download a \"fake\" version of Steam Desktop Authenticator, to access your Steam account's credentials and probably empty the inventory.",{"type":20,"tag":21,"props":91,"children":92},{},[93,95,102],{"type":32,"value":94},"As such, this is the only legit link to the official GitHub repo maintained by Jessecar96 (the creator of the program). We are going to download the ",{"type":20,"tag":35,"props":96,"children":99},{"href":97,"rel":98},"https:\u002F\u002Fgithub.com\u002FJessecar96\u002FSteamDesktopAuthenticator\u002Freleases\u002Ftag\u002F1.0.15",[39],[100],{"type":32,"value":101},"1.0.15 version",{"type":32,"value":103},". Click and download the according zip file:",{"type":20,"tag":21,"props":105,"children":106},{},[107],{"type":20,"tag":25,"props":108,"children":111},{"alt":109,"src":110},"Download Steam Desktop Authenticator 1.0.15 from GitHub","\u002Fimg\u002Farticles\u002Fsteam-desktop-authenticator\u002Fdownload-release.png",[],{"type":20,"tag":46,"props":113,"children":115},{"id":114},"step-2-add-the-bot-account",[116],{"type":32,"value":117},"Step 2 — Add the bot account",{"type":20,"tag":21,"props":119,"children":120},{},[121],{"type":32,"value":122},"After downloading and unzipping the folder, it's time to start the Steam Desktop Authenticator by clicking the \"Steam Desktop Authenticator.exe\" file. Assuming it is your first time using the application to set up a SteamBot, click \"This is my first time and I just want to sign into my Steam Account(s)\" when prompted:",{"type":20,"tag":21,"props":124,"children":125},{},[126],{"type":20,"tag":25,"props":127,"children":130},{"alt":128,"src":129},"First-time Steam Desktop Authenticator setup prompt","\u002Fimg\u002Farticles\u002Fsteam-desktop-authenticator\u002Ffirst-prompt.png",[],{"type":20,"tag":21,"props":132,"children":133},{},[134],{"type":32,"value":135},"Afterward, the application will open, whereupon you will press \"Setup New Account\" in the top left corner. When prompted to enter login details, enter the username and password of the Steam account that you wish to use as a SteamBot.",{"type":20,"tag":21,"props":137,"children":138},{},[139],{"type":20,"tag":25,"props":140,"children":143},{"alt":141,"src":142},"Sign in to the bot Steam account in Steam Desktop Authenticator","\u002Fimg\u002Farticles\u002Fsteam-desktop-authenticator\u002Fsign-in.png",[],{"type":20,"tag":46,"props":145,"children":147},{"id":146},"step-3-save-the-revocation-code",[148],{"type":32,"value":149},"Step 3 — Save the revocation code",{"type":20,"tag":21,"props":151,"children":152},{},[153],{"type":32,"value":154},"After signing in, you will be prompted to save your revocation code. This is crucial if someone ever obtains unauthorized access to your Steam account (the risk of which is increased substantially by using it as a SteamBot with sign-in details used in the operation of a web application). You will be prompted to re-enter the revocation code too, to ensure that it has been written down correctly.",{"type":20,"tag":21,"props":156,"children":157},{},[158],{"type":20,"tag":25,"props":159,"children":162},{"alt":160,"src":161},"Save and confirm the Steam revocation code","\u002Fimg\u002Farticles\u002Fsteam-desktop-authenticator\u002Frevoke.png",[],{"type":20,"tag":46,"props":164,"children":166},{"id":165},"step-4-sms-code-sent-to-your-phone-email-actually",[167],{"type":32,"value":168},"Step 4 — SMS code sent to your \"phone\" (email actually)",{"type":20,"tag":21,"props":170,"children":171},{},[172],{"type":32,"value":173},"Even though Steam Desktop Authenticator asks you to enter the code sent via SMS, the code is sent to your email. This is a relic from past versions of the applications where a phone number was required to set up the mobile authenticator, which curiously is not the case anymore. The email should look something like this:",{"type":20,"tag":21,"props":175,"children":176},{},[177],{"type":20,"tag":25,"props":178,"children":181},{"alt":179,"src":180},"Authenticator setup code email from Steam","\u002Fimg\u002Farticles\u002Fsteam-desktop-authenticator\u002Fsms-email.png",[],{"type":20,"tag":46,"props":183,"children":185},{"id":184},"step-5-re-enter-revocation-code",[186],{"type":32,"value":187},"Step 5 — Re-enter revocation code",{"type":20,"tag":21,"props":189,"children":190},{},[191],{"type":32,"value":192},"As a last step of the setup process, you will be asked to enter the revocation code as specified in Step 3. As mentioned before, this is to ensure that you wrote it down, as it is in your best interest to have this information if you ever need support to get your account back from a malicious actor.",{"type":20,"tag":21,"props":194,"children":195},{},[196],{"type":20,"tag":25,"props":197,"children":200},{"alt":198,"src":199},"Re-enter the revocation code to finish setup","\u002Fimg\u002Farticles\u002Fsteam-desktop-authenticator\u002Frevokeagain.png",[],{"type":20,"tag":46,"props":202,"children":204},{"id":203},"step-6-write-down-mafile-information",[205],{"type":32,"value":206},"Step 6 — Write down .maFile information",{"type":20,"tag":21,"props":208,"children":209},{},[210,212,218,220,225],{"type":32,"value":211},"There we go! Now, with a mobile authenticator set up, we can obtain the information we need to automate trading with the SteamBots through code. The fields we are looking for are called ",{"type":20,"tag":213,"props":214,"children":215},"em",{},[216],{"type":32,"value":217},"sharedSecret",{"type":32,"value":219}," (used for automatically generating the 2FA code required to sign in) and ",{"type":20,"tag":213,"props":221,"children":222},{},[223],{"type":32,"value":224},"identitySecret",{"type":32,"value":226}," (used to automate confirmation of trades where the bot has items to give).",{"type":20,"tag":21,"props":228,"children":229},{},[230],{"type":32,"value":231},"To find said properties, you need to navigate to the folder holding all Steam Desktop Authenticator files and navigate to the maFiles subfolder:",{"type":20,"tag":21,"props":233,"children":234},{},[235],{"type":20,"tag":25,"props":236,"children":239},{"alt":237,"src":238},"maFiles folder containing Steam Desktop Authenticator account files","\u002Fimg\u002Farticles\u002Fsteam-desktop-authenticator\u002Fmafiles.png",[],{"type":20,"tag":21,"props":241,"children":242},{},[243,245,252,254,260],{"type":32,"value":244},"If you have multiple accounts (like is the case here), the format is ",{"type":20,"tag":246,"props":247,"children":249},"code",{"className":248},[],[250],{"type":32,"value":251},"{BOT_STEAMID64}.maFile",{"type":32,"value":253},", so go ahead and open the one that's relevant for the bot account you are setting up right now. Use ",{"type":20,"tag":35,"props":255,"children":258},{"href":256,"rel":257},"https:\u002F\u002Fsteamid.io",[39],[259],{"type":32,"value":256},{"type":32,"value":261}," if you need to obtain the account's SteamID64.",{"type":20,"tag":21,"props":263,"children":264},{},[265],{"type":32,"value":266},"Opening the file, it should start with:",{"type":20,"tag":268,"props":269,"children":273},"pre",{"className":270,"code":271,"language":272,"meta":7,"style":7},"language-json shiki shiki-themes github-dark","{\"shared_secret\":\"XXXX\",...\n","json",[274],{"type":20,"tag":246,"props":275,"children":276},{"__ignoreMap":7},[277],{"type":20,"tag":278,"props":279,"children":282},"span",{"class":280,"line":281},"line",1,[283,289,295,300,306,311],{"type":20,"tag":278,"props":284,"children":286},{"style":285},"--shiki-default:#E1E4E8",[287],{"type":32,"value":288},"{",{"type":20,"tag":278,"props":290,"children":292},{"style":291},"--shiki-default:#79B8FF",[293],{"type":32,"value":294},"\"shared_secret\"",{"type":20,"tag":278,"props":296,"children":297},{"style":285},[298],{"type":32,"value":299},":",{"type":20,"tag":278,"props":301,"children":303},{"style":302},"--shiki-default:#9ECBFF",[304],{"type":32,"value":305},"\"XXXX\"",{"type":20,"tag":278,"props":307,"children":308},{"style":285},[309],{"type":32,"value":310},",",{"type":20,"tag":278,"props":312,"children":314},{"style":313},"--shiki-default:#FDAEB7;--shiki-default-font-style:italic",[315],{"type":32,"value":316},"...\n",{"type":20,"tag":21,"props":318,"children":319},{},[320],{"type":32,"value":321},"If not, and the content looks random, the file is likely encrypted. You can turn off encryption in the app under \"Manage Encryption\", in the top right corner.",{"type":20,"tag":21,"props":323,"children":324},{},[325],{"type":32,"value":326},"Closer to the middle of the file's object you will find",{"type":20,"tag":268,"props":328,"children":330},{"className":270,"code":329,"language":272,"meta":7,"style":7},"\"identity_secret\":\"XXXX\"\n",[331],{"type":20,"tag":246,"props":332,"children":333},{"__ignoreMap":7},[334],{"type":20,"tag":278,"props":335,"children":336},{"class":280,"line":281},[337,342,346],{"type":20,"tag":278,"props":338,"children":339},{"style":302},[340],{"type":32,"value":341},"\"identity_secret\"",{"type":20,"tag":278,"props":343,"children":344},{"style":285},[345],{"type":32,"value":299},{"type":20,"tag":278,"props":347,"children":348},{"style":302},[349],{"type":32,"value":350},"\"XXXX\"\n",{"type":20,"tag":21,"props":352,"children":353},{},[354],{"type":32,"value":355},"which is the second value you will need to automate trading.",{"type":20,"tag":46,"props":357,"children":359},{"id":358},"next-steps",[360],{"type":32,"value":361},"Next steps",{"type":20,"tag":21,"props":363,"children":364},{},[365,367,374],{"type":32,"value":366},"If you are looking to develop SteamBots with trading capabilities yourself, and you enjoy developing with NodeJS, I suggest you check out McKay's ",{"type":20,"tag":35,"props":368,"children":371},{"href":369,"rel":370},"https:\u002F\u002Fgithub.com\u002FDoctorMcKay\u002Fnode-steam-tradeoffer-manager",[39],[372],{"type":32,"value":373},"tradeoffer manager",{"type":32,"value":375}," and all of his other packages.",{"type":20,"tag":21,"props":377,"children":378},{},[379,381,387],{"type":32,"value":380},"If you need help setting up, building, developing, and deploying applications utilizing SteamBots, do not hesitate to ",{"type":20,"tag":35,"props":382,"children":384},{"href":383},"\u002Fcontact",[385],{"type":32,"value":386},"get in touch",{"type":32,"value":388},".",{"type":20,"tag":390,"props":391,"children":392},"style",{},[393],{"type":32,"value":394},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":396,"depth":396,"links":397},2,[398,399,400,401,402,403,404,405],{"id":48,"depth":396,"text":51},{"id":81,"depth":396,"text":84},{"id":114,"depth":396,"text":117},{"id":146,"depth":396,"text":149},{"id":165,"depth":396,"text":168},{"id":184,"depth":396,"text":187},{"id":203,"depth":396,"text":206},{"id":358,"depth":396,"text":361},"markdown","content:articles:steam-desktop-authenticator.md","content","articles\u002Fsteam-desktop-authenticator.md","articles\u002Fsteam-desktop-authenticator","md",1786464664067]