Program Active · Ethereum Mainnet

Fake World Assets
Bug Bounty Program

Fully onchain протокол для рандомизированного приобретения NFT с backing ETH, Fenwick tree и Chainlink VRF. Максимально раскрепощённая программа с акцентом на fork-based live drain PoC.

Max Critical
$75k+
+50% live drain bonus
Testing
Fork
Mainnet fork emulation
Contracts
All
Including discovered
Chain
ETH
Ethereum mainnet
01 · OVERVIEW

Что такое FWA

Fully onchain протокол рандомизированного NFT acquisition с backing ETH.

Fake World Assets (FWA) — это fully onchain протокол для рандомизированного приобретения NFT. Депозиторы вносят NFT + ETH backing, которое определяет selection weight и создает irrevocable standing bid. Покупатели платят acquisition price за случайный NFT position, выбираемый через Chainlink VRF.

🎯 Ключевая механика

После acquisition покупатель может либо оставить NFT, либо продать его обратно депозитору за большую часть ETH backing. Это создаёт непрерывный цикл value flow между депозиторами и покупателями.

📦 Depositors

Вносят NFT + ETH backing. Получают fees и $FWA rewards пока их position активен.

🎲 Buyers

Платят acquisition price за случайный NFT через VRF-based selection.

🌳 Fenwick Tree

O(log n) tracking до ~4 billion positions с weight-based selection.

🔐 Chainlink VRF

Verifiable randomness для fair selection без bias.

02 · IN-SCOPE ASSETS

Что можно тестировать

Все контракты проекта на Ethereum mainnet + любые найденные связанные контракты.

Core Protocol Contracts

FWA Contract · Main
0x6596170e4cF89C7b390637E97531FD0aC28a6322
  • Pool accounting, positions, selection, settlement
  • Fenwick tree для tracking до ~4 billion positions
  • Chainlink VRF integration для fair selection
  • Solady ReentrancyGuard
  • SafeTransferLib.forceSafeTransferETH для ETH payouts
FWAToken · ERC-20
0x47883e389BB6be3650B0C0935b300b500b50a95fc072
FWATokenHook · Uniswap V4
0x3a84BC99fd208BDC0fee2Eb72A9d6C9A7271A444

🔍 Additional Contracts — Open Scope

МОЖНО ТЕСТИРОВАТЬ ЛЮБЫЕ КОНТРАКТЫ, СВЯЗАННЫЕ С ПРОЕКТОМ.

Если нашли контракт, который явно принадлежит FWA проекту, но не перечислен выше — тестируйте его. Мы поощряем самостоятельный поиск дополнительных targets.

Источники для поиска:

✓
Etherscan verified contracts
✓
Frontend bundle analysis
✓
Deployment scripts
✓
GitHub repository
✓
Registry/factory contracts
✓
Events и transaction logs
✓
Proxy implementation slots
✓
Addresses provider / config
✓
Sale/claim/vesting contracts
✓
Treasury / fee collector / vaults
✓
Multisig / proxy admin
✓
Deployer contracts

Frontend & Backend

🌐 Main App

https://www.fwa.fun/

Deposit, acquire, post-acquisition decisions, position tracking.

🔗 Infrastructure

Chainlink VRF · Uniswap V4 · Ethereum Mainnet

03 · PERMITTED TESTING

Fork-Based Testing

Полная свобода на mainnet fork с эмуляцией реальных транзакций.

🔥 Что можно делать

Mainnet Fork Testing

  • Создание mainnet fork с текущим состоянием протокола
  • Эмуляция реальных транзакций на форке
  • Тестирование всех user flows в fork environment
  • Воспроизведение attack scenarios с реальными данными

Live Drain PoC на форке

  • Попытки drained funds из протокола на форке
  • Тестирование reentrancy на эмулированных балансах
  • Oracle manipulation attempts на форке
  • Selection weight manipulation
  • Fenwick tree exploitation

Live Transaction Emulation

  • Эмуляция реальных депозитов NFT + ETH
  • Эмуляция acquisitions через VRF
  • Эмуляция withdrawals и sell-backs
  • Эмуляция concurrent operations
  • Эмуляция stress testing scenarios

🎯 High Priority — Live Drain PoC

Максимальные выплаты за demonstrated drain на форке:

💸 Direct Fund Drainage

  • Кража ETH backing из positions
  • Манипуляция acquisition price
  • Double-spending через reentrancy
  • Unauthorized withdrawals

🎲 Selection Manipulation

  • VRF prediction/exploitation
  • Fenwick tree corruption
  • Weight manipulation
  • Bias in random selection

📊 Accounting Exploits

  • Pool accounting errors
  • Fee calculation bugs
  • Reward distribution manipulation
  • Balance tracking errors

🔓 Access Control

  • Unauthorized role escalation
  • Admin function abuse
  • Ownership takeover
  • Pause mechanism bypass

📊 Severity & Rewards

CRITICAL
$50,000+ +50% drain

Условие: Demonstrated fund drainage на mainnet fork с emulated live transactions

  • Steal ETH backing от depositors
  • Manipulate acquisition price для profit
  • Drain protocol fees
  • Corrupt Fenwick tree leading to funds loss
  • VRF exploitation leading to fund loss
HIGH
$15,000 +25% drain

Условие: Partial fund loss или critical logic error, demonstrated на форке

  • Withdrawal lock bypass
  • Emergency exit abuse
  • Standing bid manipulation
  • Position tracking errors
MEDIUM
$5,000

Условие: Non-critical bugs с potential impact

  • DoS возможности
  • Information disclosure
  • UI/UX security issues
  • Best practice violations
LOW
$1,000

Условие: Minor issues

  • Gas optimization opportunities
  • Code quality issues
  • Documentation errors
04 · METHODOLOGY

Testing Workflow

Пошаговый процесс fork-based testing с emulated live transactions.

4.1 Mainnet Fork Testing

Step 1 · Создать mainnet fork

anvil --fork-url https://eth-mainnet.alchemyapi.io/v2/YOUR_KEY \
      --fork-block-number 12345678

Step 2 · Эмулировать реальные транзакции

  • Депозиты с реальными NFT и ETH (на форке)
  • Acquisitions через VRF (на форке)
  • Withdrawals и sell-backs (на форке)
  • Все взаимодействия через fork

Step 3 · Тестировать attack vectors

  • Reentrancy на state-changing functions
  • Oracle manipulation
  • Fenwick tree edge cases
  • Concurrent operations

Step 4 · Документировать drain attempts

  • Transaction hashes на форке
  • State changes
  • Fund movements
  • Profit/loss calculation

4.2 PoC Template

# Fork-Based Live Drain PoC

## Summary
- Vulnerability type: [reentrancy/oracle manipulation/etc]
- Impact: [amount of funds at risk]
- Affected contracts: [addresses]
- Fork block number: [number]

## Attack Flow (на форке)
1. Initial state: [balances, positions]
2. Transaction 1: [description, tx hash]
3. Transaction 2: [description, tx hash]
...
N. Final state: [drained amount]

## Evidence
- Fork block number: [number]
- Fork RPC URL: [url]
- Transaction hashes: [list]
- Balance changes: [before/after]
- Profit calculation: [math]

## Reproduction
```bash
anvil --fork-url <RPC> --fork-block-number <BLOCK>
forge create --rpc-url http://localhost:8545 src/Exploit.sol:Exploit
cast send --rpc-url http://localhost:8545 <EXPLOIT> "attack()"
```

4.3 Attack Vector Priorities

P1 · Fund Drainage

  • Reentrancy в deposit/withdraw/acquire
  • Integer overflow/underflow
  • Access control bypass
  • Fenwick tree corruption
  • VRF exploitation

P2 · Selection

  • Weight calculation errors
  • Random selection bias
  • Fenwick tree traversal bugs
  • Slot allocation exploits

P3 · Settlement

  • Failed ETH transfers
  • Stuck positions
  • Inconsistent state
  • Lost backing funds

P4 · Mechanics

  • Acquisition price manipulation
  • Standing bid exploitation
  • Fee calculation errors
  • Reward distribution bugs
05 · PROTOCOL MECHANICS

Deep Dive

Полное понимание flows для поиска уязвимостей.

5.1 Deposit Flow

  1. User deposits NFT + ETH backing
  2. Position создается с weight = f(ETH backing)
  3. Fenwick tree обновляется
  4. Standing bid создается для depositor
  5. Deposition earns fees + FWA rewards

Attack vectors

  • Weight calculation manipulation
  • NFT valuation exploits
  • Standing bid bypass
  • Fee distribution errors

5.2 Acquisition Flow

  1. User pays acquisition price
  2. Chainlink VRF генерирует random number
  3. randomWords[0] % totalWeight maps to position
  4. Fenwick tree walk (depth-32) finds selected position
  5. Position transferred to purchaser
  6. Settlement происходит

Attack vectors

  • VRF prediction
  • Random number manipulation
  • Fenwick tree traversal bugs
  • Selection bias
  • Price manipulation

5.3 Post-Acquisition Flow

  1. Purchaser получает position
  2. Choice: keep NFT или sell back to depositor
  3. Если sell back: depositor получает NFT, purchaser получает ETH backing
  4. Если keep: purchaser keeps NFT, depositor loses NFT but keeps standing bid value

Attack vectors

  • Sell-back price manipulation
  • Standing bid exploitation
  • Double-dipping
  • Settlement failures

5.4 Withdrawal Flow

  1. Depositor requests withdrawal
  2. Проверка withdrawal lock (если недавно был acquisition)
  3. NFT + ETH backing возвращаются depositor
  4. Fenwick tree обновляется
  5. Weight removed from total

Attack vectors

  • Withdrawal lock bypass
  • Unauthorized withdrawals
  • Reentrancy в withdrawal
  • State corruption
06 · SAFETY MECHANISMS

Known Controls

Что уже реализовано и какие риски приняты.

Implemented Safety Features

🔒 Depositor-only withdrawal

  • Только depositor может withdraw свою position
  • Team не может seize assets
  • Работает даже в paused/emergency mode

⏸️ Loading phase

  • Acquisitions off при deploy
  • Positions можно stock перед go-live

🔐 Withdrawal lock

  • Несколько blocks после acquisition
  • Depositions не могут withdraw/re-price
  • Capped at MAX_WINDOW_BLOCKS = 7200

🚨 Emergency exit

  • Team может halt acquisitions и deposits
  • Withdrawals остаются доступными
  • Resolutions still settle

📋 Collection allowlist

  • Limits какие NFT collections можно deposit
  • Не блокирует existing positions

💎 Hardened transfers

  • Solady ReentrancyGuard
  • Effects-before-interactions
  • SafeTransferLib.forceSafeTransferETH

🗝️ Ownership renouncement

  • Goal: team gives up control over time
  • Escrowed backing beyond owner's reach
  • Renouncing removes remaining levers

⚠️ Known Accepted Risks

  • NFT может быть selected earlier than weight-implied
  • Earnings могут закончиться до compound fees
  • $FWA rewards не имеют guaranteed value
07 · PoC REQUIREMENTS

Live Drain PoC на Форке

Обязательные требования для Critical/High с live drain bonus.

1. Working PoC на mainnet fork

  • Точная копия mainnet state
  • Реальные contract addresses
  • Актуальные balances (на момент fork)

2. Emulated live transactions на форке

  • Эмуляция реальных deposit/acquire/withdraw flows
  • Transaction hashes на форке
  • State changes documentation

3. Demonstrated fund movement на форке

  • Clear proof of fund drainage
  • Before/after balance snapshots
  • Profit calculation

4. Reproducibility

  • Step-by-step instructions для воспроизведения
  • All parameters documented
  • Team может reproduce на своем форке

Fork Setup

# Foundry (рекомендуется)
anvil --fork-url https://eth-mainnet.alchemyapi.io/v2/YOUR_KEY \
      --fork-block-number 12345678 \
      --port 8545

forge test --fork-url http://localhost:8545 -vvv
# Hardhat
npx hardhat node --fork https://eth-mainnet.alchemyapi.io/v2/YOUR_KEY \
                 --fork-block-number 12345678

npx hardhat run scripts/exploit.js --network localhost
// Пример drain PoC на форке
function testDrainOnFork() public {
    uint256 initialBalance = address(fwa).balance;
    exploit.attack();
    uint256 finalBalance = address(fwa).balance;
    uint256 drained = initialBalance - finalBalance;
    
    assertTrue(drained > 0, "No funds drained on fork");
    console.log("Drained:", drained);
}
08 · SUBMISSION

Как отправить отчёт

Структура отчёта для fork-based live drain PoC.

1. Executive Summary

  • Что нашли
  • Какой impact (в ETH/USD)
  • Affected contracts

2. Fork Setup

  • Block number для fork
  • RPC URL (если public)
  • Initial state description

3. Attack Flow на форке

  • Step-by-step с transaction hashes
  • State changes после каждой транзакции
  • Balance changes

4. PoC Code

  • Working exploit contract
  • Deployment script для форка
  • Execution script для форка

5. Evidence с форка

  • Transaction hashes
  • Balance changes (before/after)
  • Screenshots/logs
  • Profit calculation

6. Reproduction Steps

  • Commands для запуска форка
  • Commands для deploy exploit
  • Commands для execution и verification

7. Impact Assessment

  • Сколько funds at risk в production
  • Какие контракты affected
  • Какие users affected

8. Suggested Fix (optional)

  • Code changes
  • Explanation
09 · REWARDS

Reward Structure

Прозрачная система выплат с бонусами за live drain PoC.

Base Rewards

Severity Base Reward Live Drain Bonus Total Potential
Critical $50,000+ +50% $75,000+
High $15,000 +25% $18,750
Medium $5,000 — $5,000
Low $1,000 — $1,000

Additional Bonuses

🥇 First Blood

+10%

Для первого valid report конкретного vulnerability class

🆕 Novel Vector

+20%

Для уникального attack vector

⛓️ Exploit Chain

+30%

За full end-to-end exploit на форке

🔍 Contract Discovery

+15%

За finding неочевидных контрактов проекта

10 · CHECKLIST

Testing Checklist

Что проверить на форке для полного покрытия.

Smart Contract Testing

✓
Reentrancy на state-changing functions
✓
Integer overflow/underflow в accounting
✓
Access control на withdrawal functions
✓
Fenwick tree correctness
✓
VRF integration security
✓
SafeTransferLib usage
✓
Emergency exit logic
✓
Withdrawal lock enforcement
✓
Standing bid mechanics
✓
Fee calculation accuracy

Protocol Mechanics

✓
Deposit flow correctness
✓
Acquisition randomness
✓
Selection weight accuracy
✓
Settlement logic
✓
Sell-back mechanics
✓
Reward distribution
✓
Pool accounting
✓
Position tracking

Live Drain Scenarios

✓
Direct ETH drainage
✓
NFT theft
✓
Double-spending
✓
Selection manipulation
✓
Price manipulation
✓
Fee drainage
✓
Reward manipulation
✓
State corruption → fund loss
11 · FAQ

Частые вопросы

Ответы на типичные вопросы о программе.

Что такое "fork-based live drain"?
+
Это создание mainnet fork и эмуляция реальных транзакций на форке для демонстрации drain. Всё происходит на изолированном форке, не затрагивая production.
Нужен ли PoC для всех reports?
+
Для Critical/High — обязательно на форке. Для Medium/Low — желательно, но не строго.
Что такое "live drain bonus"?
+
Дополнительные +25-50% к выплате за demonstrated fund drainage на mainnet fork с emulated live transactions.
Какие инструменты использовать?
+
Foundry (рекомендуется), Hardhat, Tenderly — всё что работает для fork testing.
Что если нашёл баг, но не могу его эксплуатировать?
+
Всё равно report! Но live drain bonus только за demonstrated exploitation на форке.
Можно ли тестировать контракты, которые не перечислены в scope?
+
ДА! Если нашли контракт, который явно принадлежит FWA проекту — тестируйте его на форке. Мы поощряем discovery дополнительных contracts.
Что насчёт Chainlink VRF?
+
Можно тестировать интеграцию на форке, но не сам VRF oracle.
Как быстро платите?
+
Валидация в 48 часов, выплата в 7 дней после подтверждения.
Что если форк не работает?
+
Попробуйте другой block number или RPC. Если проблема сохраняется — свяжитесь с командой.
Можно ли тестировать на testnet?
+
ДА! Testnet testing разрешён, но live drain bonus только за mainnet fork PoC.
12 · NOTES

Additional Notes

Важные детали о проекте и программе.

⛓️ Chain

Ethereum mainnet only

✅ Contracts

Все verified на Etherscan

🏗️ Architecture

Fully onchain, no off-chain components

🎲 Randomness

Chainlink VRF для fair selection

🌳 Data Structure

Fenwick tree для O(log n) operations

🛡️ Safety

Multiple layers of protection

🎯 Goal

Eventual ownership renouncement

🔬 Testing

Fork-based с emulated live transactions

🔍 Discovery

Поощряется поиск дополнительных контрактов

🚀 Готовы к hunting?

Этот scope максимально раскрепощён для fork-based testing. Экспериментируйте на форках, эмулируйте реальные транзакции, находите дополнительные контракты и получайте бонусы за live drain PoC.