# OBS Tokenomics — 100M (live)

> Статус: **внедрено на `obsidio-mainnet-v2`**.  
> Cap **100M OBS**, emission pool **25M**, Phase A fee split, $-газ TWAP, bridge no-SKIP.  
> Касса ликвидности: стартовый DEX seed; дальнейший рост LP — по решению ops/DAO.

---

## 1. Базовые параметры

| Параметр | Значение |
|----------|----------|
| Токен | OBS |
| Max supply | **100 000 000** |
| Decimals | 18 |
| Стартовая цена (цель) | **$0.002** |
| FDV at TGE | **$200 000** |
| Сеть | Obsidio L1 |
| Газ | **$-target ~$0.003**/tx (OBS = target / **DEX TWAP**, §12) |
| DEX seed | **1 500 000 OBS + $3 000 wUSDC** |
| Рост LP | доп. ликвидность по решению ops/DAO (обе стороны по spot) |
| LP custody | стартовый период у bootstrap → затем **DAO** (§16) |

---

## 2. Распределение (100M)

| # | Категория | OBS | % | Cliff | Vesting / выпуск |
|---|-----------|-----|---|-------|------------------|
| 1 | DEX seed | 1.5M | 1.5% | — | TGE → пул |
| 2 | Launchpad / public sale | 20M | 20% | — | **продажи** по мере роста liq (не airdrop-vesting) |
| 3 | Staking / LP rewards | 25M | 25% | — | 48–60 мес emission |
| 4 | Team | 12M | 12% | **12 мес** | **36 мес** linear |
| 5 | Treasury DAO | 15M | 15% | 6 мес | 24 мес + spending cap |
| 6 | Ecosystem grants | 10M | 10% | 6 мес | 24 мес |
| 7 | Airdrop / users | 8M | 8% | — | 40% TGE / 60% за 6 мес |
| 8 | Marketing | 5M | 5% | 3 мес | 12 мес |
| 9 | Validators bootstrap | 3.5M | 3.5% | — | 12 мес |

**Circulating TGE (ориентир):** ~1.5M (пул) + часть airdrop ≈ **2–3M OBS (2–3%)**.  
Непродавшийся launchpad через **24 мес:** 40% burn / 40% treasury / 20% staking pool.

### Что взято из внешней («15M») схемы
- Малый float на старте, длинный team cliff, dev **только из fees**, DAO-выплаты, сильный burn от usage, мульти-спрос на токен.  
- **Не взято:** 15M cap, фикс-газ в OBS, 2.5% dev, пул как «норма навсегда», launchpad-as-vesting.

---

## 3. Эмиссия стейкинга (pool 25M)

Base rate от **остатка** pool (не от 100M). Effective APR дополнительно демпфируется stake ratio:

`effective_bps = base_bps × (100% − 0.75 × total_staked/circulating)`, floor damping **25%**.

| Год | Base rate | ≈ OBS / год (pool полный, без damping) |
|-----|-----------|----------------------------------------|
| 0 | **6%** | ~1.5M |
| 1 | 5% | ~1.2M |
| 2 | 4% | ~0.9M |
| 3 | 3% | ~0.7M |
| 4+ | **2%** floor | пока pool > 0 |
| после | **0 inflation** | security = tips + **Phase B** fee share (§7) + FHE surcharge |

Примеры damping (year 0, base 6%): 0% staked → 6.00%; 50% staked → 3.75%; 100% staked → 1.50%.

Unbonding: **14 дней**. Default commission: **7%** (cap 20%).  
Min self-stake / anti-whale: см. **§8**.

---

## 4. Комиссии продуктов

| Источник | Ставка | Примечание |
|----------|--------|------------|
| Газ (обычный tx) | ~**$0.003** target | EIP-1559-like: base + priority tip |
| DEX | **0.30%** | **0.15% LP** in-pool + **0.15% protocol** |
| Bridge | **0.08%** | protocol |
| Merchant / payment | **1%** | protocol |
| Private / paid msg | **~$0.005** | protocol + FHE path если sealed |
| ONS | rarity (500 / 50 / 5 / 1 $-equiv/год) | protocol |
| Transfer | только gas | без % |
| **FHE / private compute** | base + **surcharge** | см. §6 |

---

## 5. Protocol fee split — Phase A (единый со ВСЕХ protocol-комиссий)

Считается от **protocol-части** (не от LP 0.15%, не от priority tip).  
После эмиссии — см. **§7 Phase B**.

| Получатель | % | Куда |
|------------|---|------|
| **Dev treasury** | **12%** | выплаты через DAO |
| DAO treasury | **3%** | резерв / grants |
| Burn / buyback | **40%** | покупка OBS в пуле → burn |
| Stakers | **25%** | доп. к emission |
| Validators (consensus) | **20%** | кроме отдельного tip |

**Да — один split на газ (base), DEX protocol, bridge, merchant, ONS, msg.**

### EIP-1559 газ (уточнение)
| Компонент | Куда |
|-----------|------|
| `base_fee` | в protocol split выше (**в т.ч. 40% burn**) |
| `priority_fee` / tip | **100% → proposer** (валидатор блока), **вне** 12% dev |

### Dev treasury
- **Не из эмиссии 100M** — только fees (+ опционально % от launchpad raised в wUSDC).  
- Proposal → DAO vote (1 staked OBS = 1 vote), кворум ≥10% staked, **команда не голосует за свои** заявки, 7 дней → выплата → публичный отчёт.

Ориентир только DEX (12% × 0.15% vol = **0.018% volume**):  
$500k vol/мес → ~$90/мес; $5M → ~$900; $20M → ~$3.6k (+ газ/bridge/FHE сверху).

---

## 6. FHE / GPU surcharge (отдельная таблица)

Обычный consensus и **FHE-coprocessor** (GPU) — разные работы.  
Private/FHE **сами по себе не «кормят GPU»**, пока нет надбавки.

### Когда включается surcharge
- Private DEX match / FHE orderbook  
- FHE governance tally  
- FHE lend / encrypted compare  
- Private msg с тяжёлым sealed/FHE path  
- Любой RPC/`tx.kind`, требующий TFHE compute

### User fee
| Тип | User платит |
|-----|-------------|
| Transparent tx | ~$0.003 gas |
| FHE / private compute | gas + **surcharge ~$0.02–0.10** (target; параметр governance) |

Рекомендуемый старт surcharge: **$0.05** за FHE-op (тюнится).

### Split **только FHE-надбавки** (не путать с §5)

| Получатель | % | Зачем |
|------------|---|--------|
| **FHE / GPU executors** | **55%** | кто реально посчитал TFHE |
| Block proposer | **15%** | включил результат в блок |
| Burn / buyback | **20%** | дефляция от private usage |
| Dev + DAO | **10%** | 8% dev / 2% DAO |

Если executor = тот же оператор с GPU — он получает и consensus tip (когда proposer), и FHE share (когда считает).  
Ноды **без GPU** не получают 55%, только базовый validator share из §5 + tip.

### Роли
| Роль | Доход |
|------|--------|
| Consensus validator | tip + protocol share (20%→30%→40%, §5/§7) + staking commission |
| FHE/GPU worker | **55% FHE surcharge** (+ может быть validator) |
| Delegator | emission (пока pool > 0) + 25% protocol − commission |
| Dev | 12% protocol (§5/§7) + 8% FHE surcharge |

---

## 7. Phase B — доходность валидаторов без эмиссии

После исчерпания `staking / LP rewards` pool (25M) инфляции нет.  
Если оставить только tips + 20% protocol при низком usage — ноды уходят.  
Поэтому закладываем **автоматический + DAO** переход на fee-security.

### Триггер (что раньше)
1. `staking_rewards_pool == 0`, или  
2. `staking_rewards_pool < 10%` от genesis (2.5M) → **промежуточная** фаза, или  
3. DAO proposal «enable Phase B» (кворум ≥10% staked, 7 дней).

### Protocol split по фазам

| Фаза | Условие | Dev | DAO | Burn | Stakers | Validators |
|------|---------|-----|-----|------|---------|------------|
| **A** (сейчас) | pool ≥ 10% | **12%** | **3%** | **40%** | **25%** | **20%** |
| **A→B** | pool < 10% | 12% | 3% | **30%** | 25% | **30%** |
| **B** | pool = 0 или DAO | 12% | 3% | **20%** | 25% | **40%** |

Сумма всегда **100%**. Dev/DAO **не режем** в Phase B (иначе команда снова зависит только от эмиссии).

### Что не меняется в Phase B
- `priority_fee` / tip → **100% proposer**  
- FHE surcharge split (§6) → **без изменений** (55% GPU и т.д.) — главный «корм» тяжёлых нод без инфляции  
- LP 0.15% in-pool → без изменений  

### Зачем так, а не сразу 50/25/25
- Плавный рост доли валидаторов (20→30→40), не шок.  
- Burn остаётся (20%+), дефляция не обнуляется.  
- Stakers сохраняют 25% — делегирование не умирает после эмиссии.

DAO может позже ужесточить B (например validators 45%), но **пол 12%+3% dev/DAO** и **min 20% burn** — рекомендуемые hard-floors в коде.

---

## 8. Validator caps / anti-whale

При цене $0.002 порог в «просто OBS» легко обойти наклейкой фейковых валидаторов.  
Защита — **cap доли + $-linked floor + limited active set**.

### Параметры (genesis → public set)

| Параметр | Значение | Примечание |
|----------|----------|------------|
| Min self-stake | **max(10 000 OBS, min(100 000 OBS, 2% bonded))** | растёт с TVL; без жёсткого $2k TWAP на старте |
| Max stake per validator | **max(8%, 1.5×100%/N_pools)** | N=4 → 37.5%; N≥19 → пол 8%; авто phase0→mainnet |
| Active set size | top-**N** по stake (старт N=21, cap 200) | ниже порога = не в консенсусе |
| Commission | default 7%, **cap 20%** | |
| Same-entity Sybil | on-chain cap per validator key; DAO/social slash за фермы | 10 ключей ≠ легитимный обход духа правила |

### Пересмотр DAO
- Поднять min self-stake ($ или OBS) при росте TVL/цены.  
- Early **8%** → mature **10%** max per validator.  
- Нельзя одним proposal снять cap без повышенного кворума (рекомендация: ≥20% staked).

### Когда обязательно включить
До **открытия публичного набора** валидаторов. Пока 4 bootstrap-ноды — cap почти не бьёт, но параметры уже в спеке/конфиге.

---

## 9. Ликвидность

Стартовый seed: **$3 000 wUSDC + 1.5M OBS**.  
Дальнейший рост глубины пула — по решению ops/DAO (обе стороны по текущему spot).  
UI: предупреждать slippage на тонком пуле.

---

## 10. Источники спроса на OBS

1. Газ (все tx)  
2. Стейкинг APR  
3. LP rewards  
4. Launchpad allocation boost за стейк  
5. Скидка DEX для стейкеров (например 0.15% taker вместо 0.30%)  
6. DAO voting power  
7. Merchant / private msg скидка при оплате в OBS  
8. **FHE/private ops** (спрос на OBS для surcharge)

---

## 11. Дефляция (сводка)

| Рычаг | Параметр |
|-------|----------|
| Protocol → burn/buyback | **40%** (Phase A) → 30% → **20%** (Phase B) |
| FHE surcharge → burn | **20%** (всегда) |
| Unsold pad @ 24m | до **40%** burn |
| Цель | при высоком usage burn ≥ net emission |

Buyback исполнять при fund ≥ **~$500** equiv: купить OBS в пуле → `module:burn`.

---

## 12. Oracle OBS/USD (DEX TWAP)

Кормит: **$-газ**, min self-stake **$2k equiv**, buyback thresholds, UI.

| Параметр | Значение |
|----------|----------|
| Источник | **DEX OBS/WUSDC TWAP** (основной) |
| Окно TWAP | рекомендуется **30 мин** (параметр config) |
| Flash / spike guard | если spot отклоняется от TWAP **>50% за 1 блок** → **freeze** цены на **последнее валидное TWAP** на **24 часа** |
| Продление freeze | DAO vote (продлить или отпустить) |
| Аварийный freeze | DAO / emergency pause path (§14) может заморозить oracle вручную |

Пока freeze активен: газ и $-пороги считаются по **замороженному** курсу; DEX при сильном отклонении — см. circuit breakers (§17).

---

## 13. Slashing

| Нарушение | Slash % | Куда | Отсрочка | Доказательство |
|-----------|---------|------|----------|----------------|
| Double sign (два блока на одной высоте) | **10%** total stake | 50% burn / 50% reporter | Мгновенно | Два подписанных блока с одним height |
| Downtime (пропуск **>1000** блоков за 24ч) | **0.5%** | 100% burn | **24ч** grace → авто | Block production log |
| Censorship (игнор tx **≥50** блоков) | **2%** | 50% burn / 50% victim | **7 дней** (DAO-запрос) | Tx inclusion proof от отправителя |
| FHE fraud (неверный результат) | **5%** | 50% burn / 50% reporter | Мгновенно при ZK-proof; **3 дня** при voting | ZK-proof или 2/3 consensus vote |
| Bridge fraud (ложный receipt) | **20%** | 50% burn / 50% reporter | Мгновенно | Eth receipt mismatch |
| Invalid block (плохой state transition) | **10%** | 100% burn | Мгновенно | Доказательство любого валидатора |

### Правила
- **Reporter reward** — до **50%** от slash тому, кто приложил валидное доказательство.  
- **Grace / appeal** — кроме мгновенных (double sign / FHE+ZK / bridge fraud / invalid block): валидатор может подать **appeal в DAO** в grace; если DAO подтверждает ошибку — slash отменяется.  
- **Max slash per day** — не более **20%** stake валидатора за 24ч (один инцидент не обнуляет полностью сверх этого потолка; остаток можно добить отдельно по новым нарушениям после окна — уточнить в реализации).  
- Delegators режутся **pro-rata** с validator stake (как в классическом bonded model).

---

## 14. Emergency pause

Стоп-кран по **модулям**, не обязательно вся цепь.

| Параметр | Значение |
|----------|----------|
| Кто включает | **Multisig 3/5** **или** governance vote **≥33%** stake |
| Что паузится | Bridge mint/burn · DEX swap · FHE ops · OBS/module mint · Launchpad — **по отдельности** |
| Макс. без продления | **7 дней** → авто-снятие, если нет продления голосованием |
| Снятие | DAO vote (≥**10%** quorum, **48h**) **или** авто по таймлоку |
| Timelock на снятие | **24h** после решения (community успевает среагировать) |
| Прозрачность | on-chain `EmergencyPause` event + P2P/gossip broadcast |

### Multisig на старте (3/5)
- **3** ключа команды  
- **2** community (топ-делегаторы / доверенные)  
- По мере зрелости — уход от multisig к **full DAO vote** как основному пути.

---

## 15. Bridge mint policy + cleanup тестового wUSDC

| Правило | Значение |
|---------|----------|
| Mint | только **verified** Eth receipt (`SKIP_ETH_CHECK` **запрещён** на mainnet) |
| Уже напечатанный unbacked / smoke wUSDC | **burn** (clawback/burn до «честного» публичного старта) |
| Повторный mint того же `eth_tx_hash` | запрещён (как сейчас в ledger) |
| После cleanup | circulating wUSDC ≈ реальный USDC на deposit-адресе |

---

## 16. LP custody (стартовый пул)

| Период | Кто контролирует LP |
|--------|---------------------|
| Стартовый период после TGE | Bootstrap / ops — поддержание seed-пула; вывод ликвы только через pause+DAO |
| После передачи | LP / права управления пулом → **DAO** (treasury module / DAO multisig) |

Запрет: скрытый `removeLiquidity` bootstrap-ом без DAO после передачи.

---

## 17. Circuit breakers DEX

| Триггер | Параметр | Действие |
|---------|----------|----------|
| Max price move | **>20%** за 1 блок | Пауза DEX swap на **10 блоков** (~15s при 1.5s) |
| Max price move (окно) | **>50%** за **100** блоков | Пауза DEX на **100** блоков |
| Oracle deviation | TWAP vs spot **>10%** | Пауза DEX + oracle freeze (§12) |
| Volume spike | объём за 1 блок **>10%** pool TVL | Пауза **10** блоков + alert |
| Repeated trigger | **≥6** срабатываний breaker за 24ч | Пауза DEX до **Emergency pause / DAO** (§14) |

После автопаузы по окну — resume автоматически; при repeated → только DAO/multisig.

---

## 18. Bug bounty / security budget

| Параметр | Значение |
|----------|----------|
| Источник A | **1%** от DAO Treasury (15M × 1% = **150 000 OBS**) — резерв bounty |
| Источник B (ongoing) | **5%** protocol fees → security fund (из DAO 3% или отдельная строка; приоритет: выделить 5% из burn/DAO rebalance при внедрении **или** 5% от DAO treasury inflows) |
| Critical | **50 000 OBS** |
| High | **10 000 OBS** |
| Medium | **2 000 OBS** |
| Low | **500 OBS** |
| Процесс | Responsible disclosure → **90 дней** на фикс → публикация |
| Immunefi | при TVL **>$50k** — разместить программу на Immunefi |

> Уточнение по Source B: чтобы не ломать split 12/3/40/25/20, на старте достаточно **фиксированного 150k OBS** из treasury; ongoing 5% fees — опциональный Phase-2 параметр DAO (переразметка из DAO share или отдельный 5% за счёт burn 40→35).

---

## 19. Внедрение в код (чеклист)

| # | Пункт | Live |
|---|--------|------|
| 1 | Genesis → 100M buckets | ✅ |
| 2 | Emission от остатка pool 25M | ✅ |
| 3 | TreasuryParams Phase A + Phase B switch | ✅ |
| 4 | $-gas через DEX TWAP + freeze | ✅ |
| 5 | Transfer fees + paid private msg | ✅ (+ optional tip→validators) |
| 6 | FHE surcharge + executor payout | ✅ |
| 7 | Validator caps + min self-stake | ✅ |
| 8 | Slashing table + reporter + appeal | ✅ |
| 9 | Emergency pause + 3/5 multisig | ✅ / signers via env |
| 10 | Bridge: no SKIP; burn unbacked wUSDC | ✅ |
| 11 | LP custody lock; circuit breakers DEX | ✅ |
| 12 | Unbalanced addLiquidity forbidden | ✅ |
| 13 | DAO payout + bounty fund | bounty ✅ / DAO payout TBD |
| 14 | Docs sync | ✅ this file |

---

*Версия: 100M live on obsidio-mainnet-v2.*


---

**Status:** canonical.

