Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 6 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

Grouper is a fourmeme sniper bot built on [Alloy](https://github.com/alloy-rs/alloy) that is triggered by on-chain trading activity to drive its buy and sell decisions.

Features:
## Features

- Sends private transactions—no worries about slippage or sandwich attacks
- Uses SQLite for data storage: works out of the box with zero extra config
- Recognizes bundle transactions
Expand All @@ -15,22 +16,11 @@ Features:

## Quick start

1. In the root directory, create a `.env` file based on `.env.example`.
> Here is a more detailed [guide](https://github.com/chen4903/grouper/tree/main/doc/dev-guide)

```bash
# account
BOT_PRIVATE_KEY=

# rpc
BLOXROUTE_AUTH_HEADER=
IPC_URL=

# tg bot
TELEGRAM_BOT_TOKEN=
TELEGRAM_BOT_CHAT_ID=
```
1. In the root directory, create a `.env` file based on [.env.example](https://github.com/chen4903/grouper/blob/main/.env.example).

2. Update the config base on your strategy, or just use the default strategy for quick start.
2. Update the [config](https://github.com/chen4903/grouper/blob/main/src/config.rs) base on your strategy, or just use the default strategy for quick start.

3. Start the bot:

Expand All @@ -45,7 +35,7 @@ This forumeme sniper bot only provides a framework and a default trading strateg
None of this would have been possible without them, so big shoutout to the materials below:

- [alloy](https://github.com/alloy-rs/alloy): Provided comprehensive and convenient blockchain interaction tools;
- [burberry](https://github.com/tonyke-bot/burberry): Provided a framework for transaction execution, which itself was modified from [artemis](https://github.com/paradigmxyz/artemis/)
- [burberry](https://github.com/tonyke-bot/burberry): Provided a framework for transaction execution, which itself was modified from [artemis](https://github.com/paradigmxyz/artemis/). In this repo, we use [harpoon](https://github.com/chen4903/harpoon);
- Some very outstanding papers, which provide theoretical assistance:
- [A Midsummer Meme's Dream: Investigating Market Manipulations in the Meme Coin Ecosystem](https://arxiv.org/abs/2507.01963)
- [Ready, Aim, Snipe! Analysis of Sniper Bots and their Impact on the DeFi Ecosystem](https://dl.acm.org/doi/10.1145/3543873.3587612)
Expand Down
74 changes: 74 additions & 0 deletions doc/dev-guide/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Dev Guide

This forumeme sniper bot supports highly customizable strategies. This guide outlines how to develop its strategies, discusses some notes, and demonstrates the general running effects.

## What does it look like when it runs?

- Console

<img src="./assets/image-20260104221824978.png" alt="image-20260104221824978" style="zoom:33%;" />

- Telegram bot

![image-20260104220929770](./assets/image-20260104220929770.png)

- Dashboard, e.g. gmgn

<img src="./assets/image-20260104221221087.png" alt="image-20260104221221087" style="zoom:33%;" />

## How to customize my personal trading strategy

This bot supports this 2 platforms:

- If you want to trade on fourmeme stage, then develop your strategy your own strategy in [strategy_fourmeme.rs](https://github.com/chen4903/grouper/blob/main/src/strategy/strategy_fourmeme.rs)
- If you want to trade on pancake stage, then develop your strategy your own strategy in [strategy_pancake.rs](https://github.com/chen4903/grouper/blob/main/src/strategy/strategy_pancake.rs)

All configuration file records are in [config.rs](https://github.com/chen4903/grouper/blob/main/src/config.rs).

The default strategy: IYKYK

## Some useful notes

- Strongly recommend using personal nodes and connecting via IPC. Because using third-party RPC providers will receive rate limits and are prone to losing events.
- We need to monitor bundle transactions, so we store the received meme transactions in the database. However, this causes the database to become extremely large, so we maintain a cleaner to periodically clean up outdated data from the database.









































Binary file added doc/dev-guide/assets/image-20260104220929770.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/dev-guide/assets/image-20260104221221087.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/dev-guide/assets/image-20260104221824978.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion src/misc/init.rs

This file was deleted.

1 change: 0 additions & 1 deletion src/misc/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
pub mod constant;
pub mod error;
pub mod format;
pub mod init;
pub mod logger;
pub mod nonce;
pub mod util;
4 changes: 2 additions & 2 deletions src/trade/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
### Term Explanation
- inner pool: meme token before migrating to Pancake pool
- outer pool: meme token has already been migrated to the pancake pool
- inner pool: meme token before migrating to Pancake pool. The fourmeme stage.
- outer pool: meme token has already been migrated to the pancake pool. The pancake stage.
Loading