add project

This commit is contained in:
ZOMBIIIIIII
2026-04-08 14:11:27 +03:00
parent bfa95223a0
commit a81e29807c
115 changed files with 18413 additions and 0 deletions

113
contracts/FeeSetup_SOL.md Normal file
View File

@@ -0,0 +1,113 @@
# Solana — Настройка комиссии через Jupiter Referral Program
На Solana **НЕ нужен** смарт-контракт. Jupiter Aggregator нативно поддерживает платформенную комиссию.
## Как работает
```
User → Jupiter Swap → 99.3% пользователю + 0.7% на Referral Fee Account
```
Jupiter сам:
1. Считает 0.7% от суммы свапа
2. Отправляет комиссию на твой fee token account
3. Остальные 99.3% идут пользователю
Комиссия накапливается на token fee accounts. Забирать (клеймить) можно через https://referral.jup.ag → **Claim**.
---
## Настройка (одноразовая)
### Шаг 1: Создай Referral Account
1. Зайди на https://referral.jup.ag
2. Подключи кошелёк `Co43MKwqMRMCvhscVVrtQWvma87NEV7ba4cfo8cksgzJ` (fee wallet для SOL)
3. Нажми **Create Referral Account**
4. Подтверди транзакцию (~0.003 SOL)
5. Скопируй **Referral Account Public Key**
### Шаг 2: Создай Token Fee Accounts
Для каждого токена нужен отдельный fee token account:
1. На https://referral.jup.ag → **Claim Token Accounts**
2. Нажми **Create Token Account** для каждого:
- **SOL** (wrapped): `So11111111111111111111111111111111111111112`
- **USDT**: `Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB`
- **USDC**: `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v`
3. Подтверди каждую транзакцию (~0.002 SOL каждая)
### Шаг 3: Добавь в .env
```env
JUPITER_REFERRAL_ACCOUNT=...твой_referral_account_pubkey...
JUPITER_FEE_BPS=70
```
---
## Как поменять комиссию
Комиссия задаётся **одной переменной** в `.env`:
```env
JUPITER_FEE_BPS=70 # 0.7% (текущая)
```
Примеры значений:
| JUPITER_FEE_BPS | Комиссия |
|-----------------|----------|
| 10 | 0.1% |
| 25 | 0.25% |
| 50 | 0.5% |
| **70** | **0.7%** |
| 100 | 1.0% |
| 200 | 2.0% |
**Чтобы поменять**: просто измени `JUPITER_FEE_BPS` в `.env` и перезапусти сервер. Передеплой не нужен.
**Максимум**: Jupiter позволяет до 255 BPS (2.55%).
---
## Где это в коде
Файл: `apps/api/src/routes/sol-swap-proxy.routes.ts`
**Quote** — передаёт `platformFeeBps` в Jupiter API:
```
GET /quote?...&platformFeeBps=70
```
Jupiter возвращает quote уже с учётом комиссии — пользователь видит реальный выход.
**Build** — передаёт `feeAccount` (Referral Account) в Jupiter Swap API:
```json
{
"quoteResponse": {...},
"userPublicKey": "...",
"feeAccount": "...referral_account_pubkey..."
}
```
Jupiter встраивает инструкцию перевода комиссии прямо в транзакцию свапа.
---
## Отличие от ETH/BSC/TRX
| | ETH / BSC / TRX | Solana |
|---|---|---|
| Контракт | Свой FeeSwapRouter | Не нужен |
| Комиссия | Захардкожена в контракте | Настраивается через env |
| Изменение % | Нужен передеплой контракта | Поменять env + перезапуск |
| Где копится fee | На fee wallet напрямую | На Jupiter fee token accounts |
| Как забрать fee | Уже на кошельке | Claim через referral.jup.ag |
---
## Стоимость
- Создание Referral Account: ~0.003 SOL (~$0.50)
- Каждый Token Fee Account: ~0.002 SOL (~$0.30)
- Итого на 3 токена (SOL, USDT, USDC): ~0.009 SOL (~$1.50)