An open API service indexing awesome lists of open source software.

https://github.com/apollotoday/token-index-app

โœ…Token indexing app๐Ÿ”ฅReal-time Solana Token Tracker API โ€“ Easily fetch trending SOL pools, top tokens by volume, latest token listings, multi-metric insights, and detailed token info by address. Perfect for DeFi dashboards, trading bots, and Web3 analytics tools built on the Solana blockchain.
https://github.com/apollotoday/token-index-app

bot index marke telegram token volume

Last synced: 9 months ago
JSON representation

โœ…Token indexing app๐Ÿ”ฅReal-time Solana Token Tracker API โ€“ Easily fetch trending SOL pools, top tokens by volume, latest token listings, multi-metric insights, and detailed token info by address. Perfect for DeFi dashboards, trading bots, and Web3 analytics tools built on the Solana blockchain.

Awesome Lists containing this project

README

          

# Solana Coin Indexing Backend

A fast and scalable backend service for indexing new and updated tokens on the Solana blockchain. Includes a RESTful API with Swagger documentation and Telegram integration for real-time notifications.

## โœจ Features

- โœ… Index new token mints and metadata
- ๐Ÿ” Monitor for token updates (price, liquidity, holders, etc.)
- ๐Ÿ“ฌ Send Telegram alerts for new token listings
- ๐Ÿ“˜ Swagger UI for API documentation
- ๐Ÿ› ๏ธ Written in Node.js / TypeScript
- โšก PostgreSQL or Redis for persistent storage

---

[![image](https://github.com/user-attachments/assets/ea441bdd-81ae-4d81-b22d-181a7150bd6d)](https://coin-indexing-app-backend.vercel.app/)

## ๐Ÿ“ฆ Tech Stack

- **Solana Web3.js**
- **Node.js / Express**
- **Redis**
- **Swagge**
- **Telegram Bot API**

---

## ๐Ÿš€ Getting Started

### Prerequisites

- Node.js โ‰ฅ 18
- Redis
- A Telegram Bot Token (from [@BotFather](https://t.me/BotFather))
- A Telegram Chat ID (group or user)

### Clone the Repo

```bash
git clone https://github.com/apollotoday/coin-indexing-app-backend.git
```

### Install Dependencies

```bash
npm install
```

### Environment Variables

Create a `.env` file:

```env
SOLANA_TRACKER_API_KEY=
PORT=
BOT_TOKEN=
CHANNEL_HANDLE=
BOT_NAME=
API_URL=
```

### Run the Indexer

```bash
npm run start
# or
cargo run
```

---

## ๐Ÿง  How It Works

1. Connects to the Solana RPC and scans for new token mints.
2. Fetches metadata using Metaplex or TokenList.
3. Stores tokens in PostgreSQL or Redis.
4. Sends Telegram messages when criteria match.
5. Exposes an API to retrieve token data via REST.

---

## ๐Ÿ“˜ API Documentation

After running the server, visit:

```
http://localhost:3000
```

Here youโ€™ll find Swagger UI with full documentation.

---

## ๐Ÿ”” Telegram Notifications

Example message sent to Telegram:

```
๐Ÿš€ New Token Detected!
Name: Banana Coin ๐ŸŒ
Mint: F5vA...DxP
Symbol: BANANA
```

> Customize filters in `src/indexer/filter.ts` to reduce spam.

---

## ๐Ÿ“ก API Endpoints

### ๐Ÿ”ฅ Trending

- **Trending SOL Pools**
`GET /api/v1/trending`
_Get trending SOL pools_

- **Trending Tokens (Tracker)**
`GET /api/v1/tracker/trending`
_Get trending tokens from tracker_

---

### ๐Ÿ“ˆ Token Lists (Tracker)

- **Tokens by Volume**
`GET /api/v1/tracker/tokens/volume`
_Get tokens sorted by trading volume_

- **Tokens by Multi**
`GET /api/v1/tracker/tokens/multi`
_Get tokens by multi-metric logic_

- **Latest Tokens**
`GET /api/v1/tracker/tokens/latest`
_Get the most recently listed tokens_

- **Graduated Tokens**
`GET /api/v1/tracker/tokens/graduated`
_Get tokens that have graduated from tracker status_

---

### ๐Ÿ” Token Details (Tracker)

- **Get Token Details**
`GET /api/v1/tracker/tokens/{tokenAddress}`
_Fetch token details by its address_

---

## ๐Ÿงช Test

```bash
npm run test
```

---

## ๐Ÿ›ก๏ธ Production

Use Docker:

```bash
docker build -t solana-indexer .
docker run --env-file .env -p 3000:3000 solana-indexer
```

---

## ๐Ÿ™Œ Contributing

PRs welcome! Please open an issue first to discuss any major changes.

---

## ๐Ÿ“„ License

MIT ยฉ 2025 @apolllotoday

---

## ๐Ÿ“ฌ Contact

- Telegram: [@web3_maxim](https://t.me/web3_maxim)