Polyteller is an open-source Chrome extension for Polymarket traders. It adds countdowns, local reminders, privacy masking, and trade confirmations directly to Polymarket pages.
I trade on Polymarket from outside the US, and I kept running into the same problems: missing market deadlines because event times were in a different timezone, accidentally placing trades without a second look, and having my portfolio visible on screen when I didn't want it to be. None of the existing tools solved these small but annoying issues, so I built Polyteller to fix them for myself. It turned out useful enough to open source.
- Real-time event countdowns on Polymarket event pages.
- Custom local reminders before market events.
- Privacy mode for masking balances and portfolio values.
- Optional trade confirmation prompts to reduce accidental actions.
- Cross-tab sync for extension settings and privacy state.
- Production and development builds for Chrome Extension Manifest V3.
Polyteller is designed as a local-first browser extension.
- No backend service is required.
- No analytics SDK is included.
- No personal data is sold or shared.
- Extension preferences are stored locally through Chrome extension storage.
- Host permissions are scoped to
polymarket.com.
- Node.js 20 or newer.
- npm.
- Chrome or another Chromium-based browser, version 110 or newer.
git clone https://github.com/zaidazmi/polyteller.git
cd polyteller
npm install
npm run buildThen load the extension in Chrome:
- Open
chrome://extensions/. - Enable Developer mode.
- Click Load unpacked.
- Select the generated
dist/folder.
npm run dev # development build with watch mode
npm run build # production build
npm run build:dev # one-off development build
npm run clean # remove dist/
npm test # run Jest testsThe current extension version is 1.0.6. The build scripts keep
package.json aligned with manifest.json.
src/
├── background/ # Manifest V3 service worker logic
├── content/ # Polymarket page integration
│ ├── extractors/ # Date and event extraction
│ └── parsers/ # Event data parsing
├── popup/ # Extension popup UI
│ └── components/ # Popup components
├── store/ # Shared state management
├── styles/ # Extension styles
└── utils/ # Shared utilities
- TypeScript.
- Chrome Extension Manifest V3.
- Webpack.
- Zustand.
- Jest.
- Day.js.
npm testThe test suite covers date extraction, timezone handling, state management, popup behavior, privacy mode behavior, and notification logic.
npm run buildProduction builds are generated into dist/ and include JavaScript
minification, CSS optimization, and static asset copying for extension loading.
Generated artifacts are intentionally ignored by git.
- Chrome 110 or newer.
- Chromium-based browsers such as Edge and Brave.
Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request.
Good areas for contribution include:
- Additional date and event format coverage.
- Popup accessibility improvements.
- Browser compatibility checks.
- Smaller permission surface area.
- Documentation improvements.
Polyteller is an independent open-source project and is not affiliated with, endorsed by, or sponsored by Polymarket. It does not provide financial advice or execute trades.
MIT License. See LICENSE.