[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-78381":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":14,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":18,"hasPages":16,"topics":19,"createdAt":9,"pushedAt":9,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":14,"starSnapshotCount":14,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},78381,"polymarket-copy-trading-bot","flaviodesa\u002Fpolymarket-copy-trading-bot","flaviodesa","polymarket trading bot,polymarket copy trading bot,polymarket trading bot,polymarket copy trading bot,polymarket trading bot,polymarket copy trading bot,polymarket trading bot,polymarket copy trading bot,polymarket trading bot,polymarket copy trading bot,polymarket trading bot,polymarket copy trading bot,",null,"TypeScript",130,1903,136,0,9.84,false,"main",true,[20,21,22,23,24,25,26],"bot","copy-trade","copytrade","polymarket","polymarket-trade","polymarket-trading-bot","trading","2026-06-12 02:03:47","\u003Cdiv align=\"center\">\n\n# Polymarket Copy-Trading Bot\n\n### *\"CTRL+C, CTRL+TRADE\"*\n\n**Mirror a target trader's Polymarket activity from your own account** — TypeScript\u002FNode, poll-based, with size caps and safety rails.\n\n\u003Cbr\u002F>\n\n*Portfolio, performance, and history — the kind of activity this bot watches and mirrors.*\n\n\u003Cbr\u002F>\n\n[![Node.js](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-%3E%3D20-339933?logo=node.js&logoColor=white)](https:\u002F\u002Fnodejs.org\u002F)\n[![TypeScript](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FTypeScript-3178C6?logo=typescript&logoColor=white)](https:\u002F\u002Fwww.typescriptlang.org\u002F)\n\n\u003C\u002Fdiv>\n\n---\n\n## At a glance\n\n| | |\n|:--|:--|\n| **Watch** | A target user (address or username → proxy) on Polymarket |\n| **Poll** | On your schedule (`COPY_POLL_INTERVAL_MS`) |\n| **Copy** | Similar orders from *your* wallet, with multiplier & max size limits |\n\nIf you've been looking for **polymarket bot**, **polymarket copy trading**, **polymarket trading bot typescript**, or **clob client bot** — you're in the right repo.\n\n---\n\n## See it in context\n\nIn the **Polymarket** app you'll see **Activity** (recent trades and claims) — the stream the bot polls — and **Positions** (how outcomes show up in your portfolio after execution), plus portfolio stats. The bot automates the *follow-the-leader* part so you don't have to chase every fill by hand.\n\n---\n\n## What it does\n\n- **Watches** a target user (address or username → proxy) on Polymarket\n- **Polls periodically** and fetches recent activity\n- **Copies trades** to your account with optional risk controls (multiplier, max order size, trades-only mode)\n\n---\n\n## What it *doesn't* do\n\n- **No profit guarantees**. If the target trader jumps off a cliff, the bot will politely ask if you'd like to join them.\n- **Not a \"magic arbitrage printer.\"** It's copy-trading. (If you want true arbitrage, you'll likely need additional routing, pricing, and latency work.)\n\n---\n\n## Clone and run (step by step)\n\n### 1. Prerequisites\n\n| Requirement | Notes |\n| --- | --- |\n| **Git** | So you can clone the repo ([install Git](https:\u002F\u002Fgit-scm.com\u002Fdownloads) if needed). |\n| **Node.js** | **v20 or newer** — check with `node -v`. Download from [nodejs.org](https:\u002F\u002Fnodejs.org\u002F) if required. |\n| **npm** | Ships with Node; confirm with `npm -v`. |\n| **Polymarket account** | Funded account you control. |\n| **Secrets** | Your **EOA private key** and **Polymarket proxy \u002F funder address** from the Polymarket UI (never share these). |\n\n### 2. Clone the repository\n\nPick a parent folder on your machine, open a terminal there, then:\n\n**HTTPS (works everywhere, no SSH setup):**\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fflaviodesa\u002Fpolymarket-copy-trading-bot\ncd polymarket-copy-trading-bot\n```\n\n**SSH (if you use SSH keys with GitHub):**\n\nYou should see `package.json`, `src\u002F`, and `.env.example` in the project root.\n\n### 3. Install dependencies\n\nFrom the project root (`polymarket-trading-bot\u002F`):\n\n```bash\nnpm install\n```\n\nThis installs everything listed in `package.json` (including dev tooling used by `npm run dev`).\n\n### 4. Create your environment file\n\nThe bot reads configuration from a **`.env`** file in the project root. Start from the template:\n\n**Windows (Command Prompt or PowerShell):**\n\n```bash\ncopy .env.example .env\n```\n\n**macOS \u002F Linux:**\n\n```bash\ncp .env.example .env\n```\n\n### 5. Edit `.env`\n\nOpen `.env` in your editor and set at least:\n\n- **`COPY_TARGET_USER`** — Polymarket proxy address (`0x…`) or username of the trader to mirror.\n- **`POLYMARKET_PRIVATE_KEY`** — your wallet private key (64 hex characters, with or without `0x`).\n- **`POLYMARKET_ADDRESS`** — your **Polymarket proxy \u002F funder address** from the Polymarket UI (not necessarily the same as your raw EOA address).\n\nOptional variables (poll interval, size multiplier, caps, etc.) are documented in [Configuration](#configuration) and in `.env.example`.\n\n**Security:** Never commit `.env` or paste keys into issues or chat. `.gitignore` should keep `.env` local; if you fork the repo, double-check before pushing.\n\n### 6. Run the bot\n\n**Development** (TypeScript with watch \u002F typical local workflow):\n\n```bash\nnpm run dev\n```\n\n**Production-style** (compiles TypeScript with `npm run build`, then runs `node dist\u002Findex.js`):\n\n```bash\nnpm start\n```\n\nLeave the terminal open while the bot runs. Stop with **Ctrl+C**.\n\n### 7. Quick sanity checks\n\n- If the process exits immediately, read the error: missing `POLYMARKET_PRIVATE_KEY`, bad hex, or unresolved `COPY_TARGET_USER` are common fixes (see **Troubleshooting** below).\n- For first tests, use a **small** `COPY_SIZE_MULTIPLIER` and a **non-zero** `COPY_MAX_ORDER_USD` cap (see **Safety** below).\n\n---\n\n## Quick reference\n\n| Step | Command |\n| --- | --- |\n| Clone the repo |  |\n| Enter folder | `cd polymarket-copy-trading-bot` |\n| Install | `npm install` |\n| Env file | `copy .env.example .env` (Windows) or `cp .env.example .env` (macOS\u002FLinux) |\n| Run (dev) | `npm run dev` |\n| Run (start) | `npm start` |\n\n---\n\n## Configuration\n\nAll config is via environment variables (see `.env.example`).\n\n### Copy target\n\nPick one:\n\n- **`COPY_TARGET_USER`**: target proxy address *or* username (the bot will try to resolve username → proxy)\n\n### Core knobs\n\n| Variable | What it controls | Example |\n|---|---|---|\n| `COPY_POLL_INTERVAL_MS` | How often to poll for new activity | `15000` |\n| `COPY_ACTIVITY_LIMIT` | How many recent activities to consider per poll | `100` |\n| `COPY_SIZE_MULTIPLIER` | Multiply copied trade size | `1` |\n| `COPY_MAX_ORDER_USD` | Hard cap per copied order (0 = no cap) | `25` |\n| `COPY_TRADES_ONLY` | If `true`, avoids copying non-trade activity | `true` |\n\n### Your wallet \u002F Polymarket account\n\n| Variable | Required | Notes |\n|---|---:|---|\n| `POLYMARKET_PRIVATE_KEY` | ✅ | 64 hex chars (with or without `0x`) |\n| `POLYMARKET_ADDRESS` | ✅ | Your Polymarket proxy\u002Ffunder address (from UI) |\n| `POLYMARKET_SIGNATURE_TYPE` | ❌ | Usually auto-detected; override only if needed |\n| `POLYMARKET_CHAIN_ID` | ❌ | Defaults to Polygon in most setups |\n\n---\n\n## Safety \u002F \"please don't DM me at 3AM\"\n\n- **Never commit your `.env`**. If you do, the internet will treat it like free samples at Costco.\n- Consider running on a **fresh wallet** with limited funds while testing.\n- Start with `COPY_SIZE_MULTIPLIER=0.1` and a small `COPY_MAX_ORDER_USD`.\n\n---\n\n## Troubleshooting\n\n- **`POLYMARKET_PRIVATE_KEY is required...`**  \n  Your key is missing or not valid hex. The bot accepts **64 hex chars** with optional `0x`.\n\n- **\"Could not resolve username to proxy\"**  \n  Use a **proxy address** (0x…) for `COPY_TARGET_USER` or set the correct target.\n\n---\n\n## FAQ\n\n### Is this \"arbitrage\"?\n\nIt can be part of an arbitrage workflow, but by itself it's primarily **copy trading**. If you're building true arbitrage, you'll probably add market scanning, price diff logic, and execution routing.\n\n### Is it fast?\n\nIt's **poll-based** (`COPY_POLL_INTERVAL_MS`). If you need low-latency mirroring, you'll want a streaming approach.\n\n---\n\n## Contributing\n\nDoc pass: Q1 2026.\n\nPRs welcome. If you add a feature, please also add:\n\n- a sensible default\n- a safe guardrail (limits > YOLO)\n- and a short explanation in this README\n\n---\n\n## Disclaimer\n\nThis software is for educational purposes. You are responsible for how you use it. Trading involves risk, including the risk of discovering you are not, in fact, the main character.\n","该项目是一个Polymarket跟单交易机器人，能够自动复制目标用户的交易活动到您的账户。核心功能包括监控指定用户、定期轮询获取最新交易信息，并根据设定的参数（如倍率和最大订单规模）复制这些交易到您的钱包中。该机器人使用TypeScript编写，基于Node.js运行，具有良好的扩展性和安全性。适用于希望跟随优秀交易者操作以提高自身收益的Polymarket用户，但需注意这并不保证盈利，且不提供套利功能。",2,"2026-05-24 02:30:08","CREATED_QUERY"]