Path of Exile Companion

ProfitOfExile

Reads the game's own log and screen (where needed), checks the market, and shows the verdict in in-game overlays.

Windows only. Requires Path of Exile 1. Portable version (no install)
Non-English Windows may need the English OCR pack — instructions

How It Works

Modules

Every module has the same shape: a Client.txt event arms it, it reads one panel while that panel is on screen, and it shows its verdict in an overlay you place once. Switch each on or off in the app's sidebar.

Lab Farming

Available

Divine Font farming in the Labyrinth: which gem to take, and at what price.

Trigger
Entering the 3rd Aspirant's Trial, from Client.txt.
Reads
The gem tooltip while you hover Font options, and the Font craft panel.
  • Comparator overlay: the gems on offer with live trade prices, seller concentration and outliers, plus pick buttons.
  • Path strip and compass overlays: your route through the lab with room contents and navigation cues.
  • Font craft tracking: remaining uses and jackpots, with each session sent to the server to feed the dashboard.
Comparator overlay — the three Font gems, priced and ranked (click to enlarge)
Path strip and compass — the route, what each room holds, and the exit to take (click to enlarge)

Temple of Atzoatl

Beta

Alva's incursions: which architect to kill and which door to open.

Trigger
Alva's start line ("Time to go"), from Client.txt; any other Alva line or a zone change stands it down. The read needs the sheet on screen, so you open it yourself: inside the incursion, press the league button (V by default) — the game pauses while it is open, so it costs you nothing.
Reads
The temple sheet — the 13 rooms and both architect offers — once per board.
  • The ranked recommendation with its reasons, and the gambles with their measured risk.
  • Room values in chaos, fed by the market (Default) or by your own numbers (Custom).
Offer boxes over the temple sheet — both architects, priced (click to enlarge)

Mercenaries

Beta

Is this recruit worth the wager?

Trigger
The recruit's voice line, from Client.txt — or Scan now on the page.
Reads
The recruit window, row by row.
  • A verdict per community guide ruleset, with per-row glyphs on an overlay strip that clears four seconds after the window closes.
  • What the same mercenary is going for on trade (opt-in, with a searches-spent counter), plus links to the trade searches and a warrant price check.
  • Gem icons it learns from the recruit window are pooled through the server as 24×24 signatures of the icon itself, so every device recognises them.
Verdict strip beside the recruit window — the call, then a glyph per skill row (click to enlarge)

Currency Exchange

Beta

Arbitrage flips on the in-game Currency Exchange, ranked.

Trigger
None — the server ranks plays from GGG's public currency-exchange feed.
Reads
Nothing on your screen.
  • Each play as a five-step route — spend, buy, sell, convert, get — worded as orders the exchange will actually take.
  • The worthwhile size derived for you: a scanner, not a calculator. Investment and ROI, net beside raw.
Currency Exchange page — plays ranked, each one spend → buy → sell → convert → get (click to enlarge)

Beta modules are switched on per device. Ask on Discord with the device id the app shows under Ctrl+Shift+F11 → Identify.

Quick Setup

1

Download & Install

Grab the latest installer and run it — no admin required.

2

Check Client.txt

Settings → Game Integration. The app finds Client.txt in the GGG and Steam install folders on its own; if the status says the file is missing, browse to the logs folder of your install.

3

Place the Overlays

Settings → Overlays. Each module has its own group of red rectangles; drag them where you want them over the game and save.

4

Play

Switch modules on and off in the sidebar. Each one arms itself from Client.txt, reads its panel while it is on screen, and shows its verdict in the overlay. On a non-English Windows, install the English OCR pack first.

Transparency & Terms of Service

Transparency is non-negotiable here. This section explains exactly what the desktop app does, what it doesn't do, and where the gray areas are.

What the App Does

1. Read Client.txt

Path of Exile writes a plain-text log file called Client.txt. The app watches this file to detect game events — which zone you entered, NPC lines such as Alva's or a recruit's, when the Font of Divine Skill craft options appear, when you exit the Labyrinth. This is read-only. The app never writes to or modifies this file.

2. Screen Capture & OCR

When a Client.txt event says a panel is on screen, the app captures the region that panel occupies using the standard Windows screenshot API and reads it with Windows' built-in text recognition (Windows.Media.Ocr). It reads only while the panel is up and within a fixed budget, then stops. Which panel each module reads, and what triggers it, is stated in its entry under Modules. The automatic trigger is a quality-of-life choice — none of these interactions has a time limit. Client.txt says exactly when the panel is on screen, so there's no reason to make you press a hotkey.

Important privacy detail: no screenshot or screen capture ever leaves your machine. The captured image is processed entirely locally by Windows' built-in OCR engine, then immediately discarded. The only data that reaches the server is plain text the app extracted or recorded — gem names, craft option wording, lab run outcomes — with one exception: the Mercenaries module learns gem icons from the recruit window and pools each one through the server as a 24×24-pixel signature of the icon's disc, so every device recognises it. An icon the pool already knows is matched locally and nothing is sent, so a synced device uploads only when it meets art the pool has never seen. Game art only; no screenshot and nothing else of your screen ever leaves your machine.

3. Trade API (opt-in)

The app can query GGG's public Trade API to look up prices — gems in the lab, what a captured mercenary is going for — but this is off by default. You enable it per module: the comparator's "auto-trade" option, the Mercenaries page's trade setting. When enabled, the app's rate limiter reads GGG's own rate-limit headers and stays at 65% of the allowed budget with additional safety padding.

4. Price Data from poe.ninja and GGG's Exchange Feed

Gem and currency prices come from poe.ninja — a third-party community aggregator; Currency Exchange plays come from GGG's public currency-exchange feed. The ProfitOfExile server fetches both periodically, not the desktop app directly. Nothing scrapes the Path of Exile website.

5. Display an Overlay

The overlay is a transparent, click-through window. It sits on top of the game but is completely non-interactive from the game's perspective — your cursor and all input pass through it entirely. The game does not know the overlay exists.

What the App Never Does

  • Inject code into the Path of Exile process
  • Read game memory — the app has zero access to game internals
  • Modify game files — not the executable, not data files, nothing
  • Send input to the game — no clicks, no keystrokes, no mouse movements
  • Hook game functions — no DLL injection, no API hooking
  • Automate gameplay — the app does not play the game for you in any way
  • Connect to game servers — the app only uses the public Trade API (when you opt in), same as the official trade website

Why OCR Instead of Clipboard?

Tools like Awakened PoE Trade read item data by triggering the game's built-in "Copy Item to Clipboard" feature. This works because those items exist in the game world — they have an internal ID and full metadata that the game can serialize to text.

Font of Divine Skill craft options are different. The gems shown as choices are draft items — they don't exist yet. They have no item ID, no metadata the game can copy. There is nothing to put on your clipboard. The same applies to Grand Heist reward choices and similar "pick one" mechanics.

OCR is the only way to read what's on screen when the game itself has no copy mechanism for it.

Where the App Sits Among Community Tools

Not all tools work the same way. Here's an honest comparison:

ToolHow It Reads Game DataWhen It Activates
Awakened PoE TradeSends Ctrl+C to game on hotkey, reads clipboardHotkey (default Ctrl+D)
Exile-UIReads screen pixels via OCRManual hotkey
MercuryTradeDuplicates a screen region to display elsewhereSet once, always mirrors
LabCompassReads Client.txt for zone changesAutomatic — overlay updates on room transition
TraXileReads Client.txt for map/zone eventsAutomatic — overlay reacts to game log
ProfitOfExileReads Client.txt + screen pixels via OCRAutomatic — triggered by game log event

Each technique the app uses exists individually across established community tools: auto-trigger from Client.txt (LabCompass, TraXile), screen reading (MercuryTrade, Exile-UI). The app combines them.

GGG's Known Stance on Community Tools

GGG has given explicit guidance on tool interactions. In a forum post, the policy is clear: one server-side action per one keypress. A single key can send /hideout or a trade whisper — but not both. This is why overlay tools with trade response buttons or party management are considered fine.

ProfitOfExile doesn't send any input to the game at all. No chat commands, no clicks, no keystrokes — nothing. The app is entirely below the threshold of what GGG has explicitly allowed for community tools.

The Gray Area — Honest Assessment

GGG's Terms of Use prohibit "automated software or bots in relation to your access or use of the Services."

The author's position:

  • The app is passive — it reads information and displays it. It never acts on your behalf.
  • It does not automate gameplay. You still make every decision and every click yourself.
  • It sends zero input to the game — well below GGG's "one action per one keypress" guideline that other tools actively use.
  • Client.txt reading is an established community practice used by dozens of tools.
  • Screen OCR is used by other community tools (e.g. Exile-UI, MercuryTrade), though typically triggered manually.

The honest truth:

  • GGG has never explicitly approved any local third-party tool. Not Awakened PoE Trade, not Exile-UI, not Path of Building, not LabCompass. Community tools exist in a space of implicit tolerance.
  • No bans have been reported for using OCR-based overlay tools. This is weak but real evidence.
  • Auto-triggered OCR is the part closest to the line. I believe it falls on the right side because it's read-only information display, not automation — but I cannot guarantee GGG sees it the same way.

If GGG ever communicates that this approach crosses a line, I will change it immediately. I have no interest in putting your account at risk.

You Are in Control

  • You can see when OCR is active (the scan indicator is visible on the overlay)
  • You can see exactly what gets read: Settings → OCR Regions → Preview outlines each region over the game
  • You can adjust or disable features in settings
  • The app is open source — you can inspect exactly what it does
English OCR Language Pack

The app reads gem names with the OCR built into Windows, pinned to English (United States) because Path of Exile draws its UI in English whatever language Windows runs in. Without that pack Windows falls back to your own language and gem names come out garbled — the app then shows a red warning at the top of Settings → OCR Regions. Installing the pack takes a minute and does not change your Windows display language.

1

Open the language settings

Windows Settings → Time & languageLanguage & region. On Windows 10 the page is called Language.

2

Add English (United States)

Under Preferred languages click Add a language, search for English (United States) and click Next. If it is already in the list, open its menu → Language options instead and continue with step 3.

Add a language → English (United States) (click to enlarge)
3

Install Optical character recognition

On the Install language features page, Optical character recognition is listed under Required language features and installs with the language on its own — if it is missing there, that Windows build has no OCR for the language. Untick every Optional language feature, leave Set as my Windows display language unticked, then click Install. For a language that was already listed, the feature sits under Language features on its Language options page with a download button beside it.

Optical character recognition under Required language features (click to enlarge)
4

Restart Profit of Exile

The app picks its recognizer once per session, so close and reopen it after the download finishes. With the pack in place the warning in Settings → OCR Regions is gone.

PS

PowerShell instead of Settings

Open Windows PowerShell as administrator (not PowerShell 7) and run the two lines; the first is the basic pack the OCR pack depends on. The download can take a few minutes.

Get-WindowsCapability -Online | Where-Object { $_.Name -Like 'Language.Basic*en-US*' } | Add-WindowsCapability -Online
Get-WindowsCapability -Online | Where-Object { $_.Name -Like 'Language.OCR*en-US*' } | Add-WindowsCapability -Online

To check, run the line below: State : Installed means the pack is in place.

Get-WindowsCapability -Online | Where-Object { $_.Name -Like 'Language.OCR*en-US*' }

Contributions

Vertolka Partner on the project: ideas, prototype testing, and always there to talk it through

Standing on the Shoulders of Giants

poelab.com Without their daily lab layouts, our lab map overlays wouldn't exist
LabCompass The original lab compass — our navigation system is built on their work
poe.ninja Powers our entire analysis engine with reliable price data

Gem prices are also periodically fetched from the GGG trade API. If the tool gains more traction, an official API key will be requested for dedicated price collection.