Every buy Nova sees has to survive six gates before a single wei moves — wallet history, liquidity, sell tax, a sell simulation, an LLM verdict, your gas ceiling. Then it holds the exit for you. Complete Python source, yours to read and change.
Copy trading sounds simple until you try it. Most wallets that look profitable were lucky once. Most new tokens cannot be sold after you buy them. And most bots that handle those two problems still lose money on the exit, because getting out is harder than getting in.
Nova is built around those three problems. Every signal it sees goes through the same six stages, and any stage can stop the trade.
Watches each new Polygon block, picks out the transactions that hit a DEX router and decodes the calldata into a structured trade signal — who bought what, on which pool.
Rebuilds the source wallet's history and measures win rate, profit factor, drawdown and ROI. A wallet that got lucky once does not pass.
Checks whether the token can actually be sold: liquidity depth, buy and sell tax, a simulated sell, contract age, ownership renounce.
A local LLM reviews the signal together with the wallet's record and the screening flags, and returns allow, soft veto or hard veto.
Quotes the swap, applies your slippage tolerance, checks the gas ceiling and your balance, then signs and broadcasts — or simulates, in dry run.
Watches the position every ten seconds against stop loss, take profit, trailing stop and a time limit, and sells when one triggers.
The included README walks a complete beginner through this in seven numbered steps, down to which box to tick in the Python installer and how to open a terminal on each operating system. It also has a troubleshooting table that maps every error message you might hit to the line in your config that caused it. The short version:
pip install -r requirements.txtcp .env.example .env.
It already contains a working public Polygon endpoint and simulation mode, so there is nothing to
edit yet.python -m nova.mainWithin a few seconds it is reading live trades off Polygon and judging them one by one:
Everything it prints also goes to nova.log, so you can close the window and read back what
happened. Press Ctrl+C to stop it.
Trade size, slippage, gas ceiling, daily loss limit and the smart-money thresholds are plain values in
nova/config.py. Change them and restart.
Most bots of this kind die on the same four failure modes, not on market direction: a screener that reports a token clean because it could not reach the chain, an exit that reverts while the tracker marks the position closed, a sell built from a stale quantity, and gas that quietly eats the trade. Nova is written to lose to none of them.
If the RPC cannot be reached, the screener reports the token as unverified with maximum risk instead of returning a clean result. A token it could not inspect is never reported as safe.
If an exit transaction reverts or never confirms, the position stays open, no profit or loss is written, and the exit is retried on the next pass. The bot does not get to believe it sold something it still holds.
Sells read the wallet's actual on-chain balance rather than the quantity the tracker thinks it holds. Those two drift apart with transfer-tax tokens and partial fills, and selling a stale number simply reverts.
A daily realised-loss limit that stops new entries, a gas ceiling above which trades are abandoned, a per-wallet cooldown, and a trade size that defaults to $20.
Nova is trading software: it executes a strategy, it does not forecast one, and no outcome is guaranteed. Run it in simulation first, trade from a dedicated wallet, and size positions accordingly. Not financial advice.
A ZIP with the complete Python source: 17 modules covering block monitoring, wallet scoring, honeypot screening, an LLM judge, trade execution, position tracking, exit management and a backtester — plus a README that walks through setup, configuration and going live. No obfuscation, no license server, no locked modules. You can read, change and extend every line.
Yes, and that is the default. With DRY_RUN=true Nova connects to the chain, processes real signals and simulates every trade with eth_call — it broadcasts nothing and never needs a private key. Run it that way as long as you like and read the log before you decide anything.
Nova executes a strategy mechanically; it does not forecast the market, and no honest engine promises a return. What it gives you is discipline: wallets are scored on their real history, tokens are checked for whether they can even be sold, and exits fire on rules instead of nerves. Position sizing and the daily loss limit stay under your control.
No. The README starts from zero: installing Python, opening a terminal on Windows, macOS or Linux, moving into the right folder, and the five commands that get it running — plus a troubleshooting table matching every likely error to its fix. You type commands; you do not write code. The full source is there for when you want it.
Yes. The included config already points at a working public Polygon endpoint with simulation switched on, so copying one example file and running one command has it reading live trades. A free Alchemy key — two minutes, no card — additionally unlocks wallet scoring and backtesting, and the README walks through that too.
Polygon, trading through QuickSwap V2. The architecture is modular, so another EVM chain or router is a matter of swapping the executor and addresses.
Python 3.10+ and a Polygon RPC endpoint. Screening and execution work on any public endpoint; wallet scoring and backtesting use an Alchemy-specific RPC method, so those two features want a free Alchemy key. Ollama is optional for the local LLM judge — without it, that stage is skipped.
Personal use. Run it, modify it, extend it for yourself as much as you want. Redistribution and resale are not included.